4.2. Организация внутренней памяти процессора

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 

Регистровая структура процессора была рассмотрена в разделе 3. Обращает на себя внимание ставший стандартным в современной архи­тектуре ЭВМ прием организации регистров общего назначения в виде сверх­оперативного ЗУ с прямой адресацией (короткие адреса регистров разме­щаются в команде). В машинах с коротким словом, вынуждающим прибегать к одноадресным командам, один из общих регистров выделяется в качестве аккумулятора — регистра, в котором находится один из операндов и в кото­рый помещается результат операции. Регистр аккумулятор в явном виде в команде не адресуется, используется подразумеваемая адресация. В этом случае СОЗУ с прямой адресацией (рис. 4.2, а) состоит из совокупности реги­стров Р[ 0" ],..., Р[ М ], связанных с входной Х и выходной Z шинами, по ко­торым передаются n — разрядные слова. Адрес регистра, к которому произ­водится обращение с целью записи или чтения (управляющий сигнал ЗП/ЧТ) информации, поступает по шине А. Дешифратор адреса ДША формирует управляющие сигналы 0, 1,..., М, подключающие регистр с заданным адре­сом к шинам СОЗУ.

При использовании двухадресных команд типа «регистр-регистр», в ко­торых указываются адреса двух операндов, расположенных в регистрах, и ре­зультат операции помещается по одному из этих адресов, данная организация СОЗУ становится неэффективной. Это связано с тем, что за один машинный такт может быть выбрано содержимое только одного регистра. Для реализа­ции таких команд за один такт СОЗУ строится по схеме, приведенной на рис. 4.2, б.

СОЗУ состоит из совокупности регистров, связанных с входной шиной X и двумя выходными шинами Y, Z. Адреса регистров, к которым произво­дится обращение с целью чтения информации, поступают по шинам А и В. Адрес регистра для записи информации поступает по входу В. Дешифраторы адресов ДША и ДШВ формируют управляющие сигналы 0, 1,... , М, под­ключающие два регистра к выходным шинам при чтении и один регистр к входной шине при записи.

Стековая память, реализующая безадресное задание операндов, является эффективным элементом архитектуры ЭВМ. Стек представляет собой группу последовательно пронумерованных регистров (аппаратный стек) или ячеек памяти, снабженных указателем стека (обычно регистром), в котором автоматически при записи и считывании устанавливается номер (адрес) пер­вой свободной ячейки стека (вершина стека). При операции записи заносимое в стек слово помещается в свободную ячейку стека, а при считывании из сте­ка извлекается последнее поступившее в него слово. Таким образом, в стеке реализуется правило «последний пришел - первый ушел» - магазинная адре­сация.

Механизм стековой адресации поясняется на рис. 4.3. Для реализации магазинной адресации используется счетчик адреса СЧА, который перед на­чалом работы устанавливается в состояние ноль, и память (стек) считается пустой. Состояние СЧА определяет адрес первой свободной ячейки. Слово загружается в стек с входной шины Х в момент поступления сигнала записи

ЗП.

По сигналу ЗП слово Х записывается в регистр Р[СЧА], номер которого

определяется текущим состоянием счетчика адреса, после чего с задержкой D, достаточной для выполнения микрооперации записи Р[СЧА]:=Х, состоя­ние счетчика увеличивается на единицу. Таким образом, при последователь­ной загрузке слова А, В и С размещаются в регистрах с адресами P[S], P[S + 1] и P[S + 2], где S — состояние счетчика на момент начала загрузки. Опера­ция чтения слова из ЗУ инициируется сигналом ЧТ, при поступлении которо­го состояние счетчика уменьшается на единицу, после чего на выходную ши­ну Y поступает слово, записанное в стек последним. Если слова загружались в стек в порядке А. В, С, то они могут быть прочитаны только в обратном

порядке С, В, А.                        '

В современных архитектурах процессоров и микропроцессоров стек и

стековая адресация широко используется при организации переходов к под­программам и возврата из них, а также в системах прерывания.

 

Рис.4.3. Стек с магазинной адресацией

Регистровая структура процессора была рассмотрена в разделе 3. Обращает на себя внимание ставший стандартным в современной архи­тектуре ЭВМ прием организации регистров общего назначения в виде сверх­оперативного ЗУ с прямой адресацией (короткие адреса регистров разме­щаются в команде). В машинах с коротким словом, вынуждающим прибегать к одноадресным командам, один из общих регистров выделяется в качестве аккумулятора — регистра, в котором находится один из операндов и в кото­рый помещается результат операции. Регистр аккумулятор в явном виде в команде не адресуется, используется подразумеваемая адресация. В этом случае СОЗУ с прямой адресацией (рис. 4.2, а) состоит из совокупности реги­стров Р[ 0" ],..., Р[ М ], связанных с входной Х и выходной Z шинами, по ко­торым передаются n — разрядные слова. Адрес регистра, к которому произ­водится обращение с целью записи или чтения (управляющий сигнал ЗП/ЧТ) информации, поступает по шине А. Дешифратор адреса ДША формирует управляющие сигналы 0, 1,..., М, подключающие регистр с заданным адре­сом к шинам СОЗУ.

При использовании двухадресных команд типа «регистр-регистр», в ко­торых указываются адреса двух операндов, расположенных в регистрах, и ре­зультат операции помещается по одному из этих адресов, данная организация СОЗУ становится неэффективной. Это связано с тем, что за один машинный такт может быть выбрано содержимое только одного регистра. Для реализа­ции таких команд за один такт СОЗУ строится по схеме, приведенной на рис. 4.2, б.

СОЗУ состоит из совокупности регистров, связанных с входной шиной X и двумя выходными шинами Y, Z. Адреса регистров, к которым произво­дится обращение с целью чтения информации, поступают по шинам А и В. Адрес регистра для записи информации поступает по входу В. Дешифраторы адресов ДША и ДШВ формируют управляющие сигналы 0, 1,... , М, под­ключающие два регистра к выходным шинам при чтении и один регистр к входной шине при записи.

Стековая память, реализующая безадресное задание операндов, является эффективным элементом архитектуры ЭВМ. Стек представляет собой группу последовательно пронумерованных регистров (аппаратный стек) или ячеек памяти, снабженных указателем стека (обычно регистром), в котором автоматически при записи и считывании устанавливается номер (адрес) пер­вой свободной ячейки стека (вершина стека). При операции записи заносимое в стек слово помещается в свободную ячейку стека, а при считывании из сте­ка извлекается последнее поступившее в него слово. Таким образом, в стеке реализуется правило «последний пришел - первый ушел» - магазинная адре­сация.

Механизм стековой адресации поясняется на рис. 4.3. Для реализации магазинной адресации используется счетчик адреса СЧА, который перед на­чалом работы устанавливается в состояние ноль, и память (стек) считается пустой. Состояние СЧА определяет адрес первой свободной ячейки. Слово загружается в стек с входной шины Х в момент поступления сигнала записи

ЗП.

По сигналу ЗП слово Х записывается в регистр Р[СЧА], номер которого

определяется текущим состоянием счетчика адреса, после чего с задержкой D, достаточной для выполнения микрооперации записи Р[СЧА]:=Х, состоя­ние счетчика увеличивается на единицу. Таким образом, при последователь­ной загрузке слова А, В и С размещаются в регистрах с адресами P[S], P[S + 1] и P[S + 2], где S — состояние счетчика на момент начала загрузки. Опера­ция чтения слова из ЗУ инициируется сигналом ЧТ, при поступлении которо­го состояние счетчика уменьшается на единицу, после чего на выходную ши­ну Y поступает слово, записанное в стек последним. Если слова загружались в стек в порядке А. В, С, то они могут быть прочитаны только в обратном

порядке С, В, А.                        '

В современных архитектурах процессоров и микропроцессоров стек и

стековая адресация широко используется при организации переходов к под­программам и возврата из них, а также в системах прерывания.

 

Рис.4.3. Стек с магазинной адресацией