As in, memory address $3f8 is just a RAM location and not the same thing as the base register of the COM1 serial port.
This is unlike 1980's home computers that use a 6502, where things like the keyboard interface appear to be just another memory location from software.
Is there anything interesting related to how that is handled in hardware?
As far as the implementation of I/O in the 8086 chip, I haven't come across anything particularly interesting yet. It's essentially the same bus state machine as memory, except it signals an I/O access rather than a memory access.
At the software level, it's accessed by different instructions. Instead of MOV with a memory location, you use IN or OUT. And notably those instructions take only a 16 bit address and no segment selector, so IO space is limited to 64kb.
Also note that to the IBM PC, IO space was routinely truncated to just 10 bits. I honestly don't know if that was ever standardized or not, but that's the way production devices and chipsets have always worked. The extra address lines never worked, and generally aliased with devices in the bottom of the space that were ignoring the top bits.
[1] Actually it's multiplexed in a group of 8 bus states addressed by three lines, because Intel was stingy about pins. But logically it's an extra address line. [This is the spot where I repeat my request to Ken to please do a blog post on the insane bus management on this device, which I'd dearly love to see.]
I'm working on it, but it's a difficult topic. The bus management circuitry is both very complicated (a bunch of flip flops making a complex state machine full of special cases) and lacking in general concepts. So it's hard to figure out how to make it comprehensible and interesting.
Relevant? I'm not a cpu expert.
I guess that many people here will feel similar, given the 8086's role.
Also, does LOOP use a different ALU operation to decrement CX, since it doesn't update the flags at all?
For LOOP, the microcode doesn't have the F bit set, so the flags aren't updated from the ALU. Same with NOT.
I'm not sure if there is a cutoff for what you're able to / interested in exploring.