Строительный блокнот  Развитие полупроводниковой электроники 

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

данных выполняет в процессоре чрезвычайно важную функцию - она связывает все остальные устройства процессора.

Следующий по порядку блок процессора - это набор регистров общего назначения (РОН). Регистры общего назначения ничем не отличаются от регистров АЛУ. Каждый из них позволяет записать (запомнить) по сигналу Запись


Внутренняя мазистраль данных

Обмен управляющими т/сиеналами с внешней средой

05меи g§\л-N адресами SdN-УС тешней средой

Одмен

I- Энными

с внешней средой

Рис. 2 7. Структурная схема процессора

последовательность двоичных символов, длина которой равна числу запоминающих элементов или, как иначе говорят, разрядности регистра, а также по сигналу Чтение прочесть эту последовательность, т е. передать ее во внешнюю цепь. Обычно блок РОН содержит не более десяти и не менее четыре. отдельных регистров. Главная особенность блока РОН состоит в том, что записать в регистры этого блока можно только слова из внутренней магистрали данных. Аналогично слово, прочитанное из любого регистра, передается во внутреннюю магистраль данных А вот сигнал Чтение или Запись для выбранного регистра РОН поступает из блока управления. Это еще один блок процессора

Реализация алгоритма проходит особенно эффективно, если необходимые для него данные хранятся в сверхоперативной памяти (СОП). Регистры общего назначения и представляют собой СОП. Обратите внимание, что мы уже почти ответили на первый и третий вопросы, с которых начали этот раздел. Как отыскать данное слово для выполнения подстановки? Выбрать его из одного или нескольких РОН. Куда поместить новое слово? В один или несколько РОН.

Процесс выполнения подстановки выглядит теперь следующим образом. Из блока управления поступают сигнал Чтение на выбранный РОН (или несколько РОН) и сигнал Запись на регистр РО. Требуемое слово поступает нз выбранного РОН во внутреннюю магистраль данных и оттуда в регистр РО. Одновременно с этим из блока управления поступают код операции и сигнал Запись на регистр РК. Далее в полном соответствии с временной диаграммой иа рис. 2.6 образуется новое слово. Из блока управления поступает сначала сигнал Запись , а потом сигнал Чтение иа регистр ра и сигнал



Запись на одни из РОН. Новое слово поступает из регистра РА во внутреннюю магистраль данных и оттуда в выбранный РОН (или несколько РОН).

Но может оказаться и так, что нужное для подстановки слово отсутствует в блоке РОН. Тогда его приходится извлекать из памяти, а для этого, как неоднократно отмечалось в гл. 1, нужен адрес. Формированием адресов ОЗУ занимается специальный блок адресации (БА). Существуют следующие способы формирования адресов ОЗУ.

Непосредственная адресация. При этом адрес ячейки ОЗУ или несколько адресов нескольких последовательных ячеек просто извлекаются из БА. Напомним, что адрес - это последовательность нулей и единиц, формально ничем не отличающаяся от любого другого слова.

Относительная адресация. Из блока БА извлекается часть адреса, и к ней прибавляется (по правилам арифметики) другая его часть, которая может, например, храниться в одном из РОН.

Косвенная адресация. Из блока БА извлекается адрес некоторой ячейки ОЗУ. Содержимое этой ячейки извлекается из ОЗУ и используется в качестве адреса другой ячейки ОЗУ, а уже содержимое этой ячейки служит операндом.

Сложная адресация. Адрес ячейки ОЗУ, из которой извлекается операнд или куда помещается результат, формируется в результате сложных (иногда очень сложных) преобразований, как, например, в случае ассоциативной памяти.

Для выполнения отдельных действий при относительной и сложной адресации блок адресации может привлекать АЛУ. При этом между блоками адре-:ации и АЛУ под воздействием сигналов блока управления возникает иногда весьма оживленный обмен информацией через внутреннюю шину данных. В эбщем случае реализация очередного правила выполнения подстановки приводит к такой последовательности.

Этап 1. Описание очередного правила (его называют также командой) извлекается из памяти и через буфер данных поступает во внутреннюю маги-:траль данных. Буфер данных - это регистр, который служит для реализации рассмотренных функций синхронизации с тем единственным отличием, что здесь речь идет о синхронизации работы процессора с внешней средой. Соответ-:твующие сигналы синхронизации поступают в процессор по каналу Обмен управляющими сигналами с внешней средой и перерабатываются блоком уп-эавления. Важно заметить, что исходное описание очередного правила (команды) может быть выполнено на языке, совершенно отличном от языка, используемого АЛУ.

Этап 2. Одна часть описания правила через внутреннюю магистраль данных поступает в блок управления, который преобразует ее в код операции и 1еобходимый набор управляющих сигналов. Формирование кода операции и управляющих сигналов - это основная задача блока управления. Вторая часть эписания правила поступает в блок адресации, который преобразует ее в адрес операнда.

Этап 3. На основании сформированных на предыдущем этапе адресов нз памяти (в частном случае из РОН) извлекается операнд, который по внутренней магистрали данных поступает иа вход АЛУ. Блок управления при этом формирует все необходимые сигналы, например сигнал Запись на вход рега-:тра РО АЛУ.



Этап 4. АЛУ выполняет операцию, предписанную кодом операции, так, как это было описано ранее.

Этап 5. Результат операции поступает во внутреннюю магистраль данных и оттуда в РОН или через буфер данных в одно из устройств памяти. Основанием для записи результата является адрес, сформированный блоком адресации.

Этап 6. Блок адресации формирует адрес, по которому из памяти извлекается описание очередного правила (очередная команда).

Последний, шестой, этап заслуживает самостоятельного рассмотрения. Еще в гл. 1 отмечалось, что существуют два возможных способа задания последовательности выполнения правил алгоритма. Первый - это естественная последовательность, согласно которой вслед за данным правилом выполняется правило, непосредственно следующее за ним в описании алгоритма. Применительно к рассматриваемым устройствам это означает, что описания правил алгоритма (команды) записываются в ячейки памяти в порядке возрастания ад-)есов этих ячеек. Другими словами, если некоторое правило (команда) хранится, скажем, в ячейке памяти с адресом п, то непосредственио следующее за ним в описании алгоритма правило (команда) хранится в ячейке памяти с адресом п + 1. Мы уже говорили ранее, что физический адрес -это по существу номер ячейки.

Естественная последовательность выполнения правил (команд) реализуется блоком адресации. Для этого (в него) входит специальное устройство, иа-вываемое счетчиком адресов команд (САК). Счетчик адресов команд указывает число, представляющее собой адрес команды, выполняемой в настоящее время. Каждый раз в момент завершения выполнения очередной команды это число увеличивается на единицу. Затем содержимое САК через буфер адресов (см. рис. 2.7), который ничем, кроме, возможно, числа запоминающих элементов, не отличается от ранее описанного буфера данных, передается в память и служит основанием для извлечения из памяти описания оче--редкого правила алгоритма (очередной команды).

Второй способ задания последовательности выполнения команд - это безусловные и условные переходы. Безусловный переход выполняется на основании очередного правила алгоритма, которое так и звучит: вслед за данным выполняй правило, описание которого (команда) хранится в ячейке памяти с таким-то адресом. Этот адрес входит в состав описания правила или в состав описания правила входит адрес ячейки памяти, в которой хранится адрес очередной команды. И в том, и в другом случаях адрес очередной команды при реализации правила безусловного перехода записывается в САК, заменяя ранее хранившееся там число. Не лишне напомнить, что все эти действия совершаются при посредстве управляющих сигналов (например, сигнала Запись в САК ), вырабатываемых блоком управления.

Порядок выполнения условного перехода также задается очередным правилом алгоритма. Такое правило кроме адреса ячейки памяти, хранящей команду, к которой должен осуществляться переход, содержит описание некоторого условия, например; число а>Ь. Если это условие удовлетворяется, адрес из команды условного перехода записывается в САК. Иначе содержимое САК просто увеличивается на единицу и из памяти извлекается следующее по по-рядку правило. Проверка удовлетворения условию обычно выполняется в АЛУ * может представлять собой достаточно сложную последовательность дейст-



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