Микропроцессорные средства и системы управления: учебное пособие / А. В. Мануковский, А. Ж. Саринова.

Регистр счетчика команд (PC) процессора Z80 был 16-битным, впрочем, как и все остальные регистры, предназначенные для хранения адресов памяти. Тут следует немного рассказать об адресации памяти. В процессорах типа Pentium 4 или Athlon адресация памяти, мягко говоря, весьма и весьма непроста (надеюсь, мы еще поговорим об этом). А вот у Intel 8080 и Z80 адресация была понятна даже первокласснику (если бы он решил изучить данный вопрос). Вся оперативная память рассматривалась как массив 8-битовых ячеек, пронумерованных по порядку: 0, 1, 2, 3, 4, 5... и т. д. Предполагается, что память «растет» снизу вверх, то есть ячейки с меньшими номерами находятся «внизу» этого массива, а с большими — «наверху». Чтобы прочитать или записать данные — словом, обратиться к какой-то ячейке памяти, достаточно было указать ее порядковый номер. При этом RAM (память с произвольным доступом) и ROM (память только для чтения, ПЗУ) — и в этом еще одно отличие Z80 от процессора 4004 — составляли единый массив ячеек. «Нижние» адреса памяти отводились под процедуры BIOS, зашитые в модуле ROM, а подключаемые модули DRAM увеличивали объем памяти «вверх». Поскольку в одном пространстве ОП данные непосредственно соседствуют с программами, процессор обращается к памяти всякий раз, когда ему нужно прочитать очередную команду. Для этого, естественно, процессор должен знать адрес этой команды. Он (адрес) как раз и хранится в регистре счетчика команд. Иначе говоря, в регистре PC процессора Z80 (и Intel 8080) содержался порядковый номер той ячейки памяти, в которой находилась очередная команда. При создании Intel 8080 разработчики (Фэджин, или Хофф, или кто-то еще — история об этом умалчивает) сочли, что размерность регистра счетчика команд должна составлять 16 бит. Почему для адреса решили выделить 16 бит, если сам процессор был 8-битным? Дело в том, что перед разработчиками стоял вопрос о том, каков должен быть максимально возможный номер самой последней

RkJQdWJsaXNoZXIy MTExODQxMg==