Почему 8086 не использует 20-битные регистры? - PullRequest
1 голос
/ 22 февраля 2012

Я знаю, что 8086 имеет 20-битную адресную шину и 16-битные регистры, поэтому ему нужно 2 регистра, чтобы найти абсолютный адрес памяти. Почему 8086 не использует 20-битные регистры?

1 Ответ

2 голосов
/ 22 февраля 2012

Несколько причин.

  1. он поддерживает некоторую обратную совместимость с 8080. Если вы установите все регистры сегментов на 0, я думаю , что будет выполняться код 8080.
  2. шина данных имеет ширину всего 16 бит. Сегментированная архитектура позволяет извлекать полный адрес за один цикл чтения из памяти. Для 20-битных адресов потребуется два.

Это те два, которые я могу вспомнить с макушки головы.

...