Why don't 8086 use 20-bit registers?
-
29-10-2019 - |
Question
I know that 8086 has a 20-bit address bus and 16-bit registers, so it need 2 registers to locate the obsolutely memory address. Why don't 8086 use 20-bit registers?
Solution
Several reasons.
- it maintains some backward compatibility with the 8080. If you set all the segment registers to 0, I think it will run 8080 code.
- the data bus is only 16 bits wide. The segmented architecture allows you to pull in a whole address in one memory read cycle. 20 bit addresses would require two.
Those are the two I can think of off the top of my head.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow