КЛЕВО_FPGA
.pdf^352 Глава Ц- Программируемые логические блоки
Хо |
Х\ |
Х2 |
ДГз |
>1
Г^
>1 fl
Глава 15. Принципы построения микропроцессоров
няется максимально гибким. Универсальный операционный блок со держится, к примеру, в компьютере Неймана. Операционные блоки содержат, как правило, арифметико-логические устройства (ALU) и регистры для запоминания переменных. Все проводимые опера ции должны выполнятся с помощью имеющихся в наличии аппарат ных средств. Управляющий блок осуществляет координацию опера ций, проводимых в операционном блоке. Различают управляющие блоки с фиксированной структурой и с микропрограммным упра влением. Первые имеют большое быстродействие, вторые являются более гибкими.
15.2. Компьютер фон-Неймана
Концепция компьютера фон-Неймана, на которой основывается ра бота большинства применяемых сегодня компьютеров, представля ет собой развитие изображенной выше кооперирующейся управля ющей схемы. В компьютере фон-Неймана используется описанное разделение схемы на управляющий и операционные блоки. Более то го, в компьютере фон-Неймана управляющий блок управляется про граммой, которая определяет последовательность операций. С по мощью этого достигается еще большая гибкость, так как, выбрав другую программу, можно легко перейти к обработке другой зада чи. Программа вместе с требуемыми операционному блоку данными хранится в ЗУ. Программу, которая исполняется микропроцессо ром, называют машинной программой. На практике машинная про грамма формируется путем перевода с языка более высокого уровня (например, с языка PASCAL).
Принцип работы компьютера фон-Неймана представлен на рис. 15.2. соединение групп блоков осуществляется с помощью трех шин. По шине данных передаются данные и команды, адресная шина пере дает адреса, по которым данные и команды можно найти в ЗУ. По управляющей шине направляются сигналы, которые, например, пе реключают ЗУ от чтения (RD) на запись (WR) и обратно. Понятия «чтение» и «запись» каждый раз могут интерпретироваться с точки зрения работы микропроцессора.
К блокам компьютера фон-Неймана относится:
Операционный блок
Операционный блок содержит АЛУ и блок регистров для хранения промежуточных результатов, как это уже описывалось выше. Как правило, его делают насколько возможно более универсальным.
15.3. Операционные блоки
Управляющий блок
Управляющий блок служит р^ля управления компьютером. Он выполняет машинные программы.
J\ля этого управляющий блок извлекает команды машинной про граммы из ЗУ и закладывает их в регистр команд. Он переводит ко манды в управляющие алгоритмы и управляет циклами программ.
ЗУ
Вкомпьютере фон-Неймана в ЗУ хранятся как данные, так и про граммы. ЗУ собирается из блоков, выполняемых по различной тех нологии. Данные хранятся большей частью в RAM, так как они должны постоянно меняться. Управляющая программа или ее ча сти запоминаются в ROM. Кроме того, часть данных и программы могут быть выведены на жесткий диск.
Ввод и вывод
Сюда относятся такие периферийные устройства, как принтеры, мониторы, сети данных и внешние дисководы. Собственно микро процессор содержит, как правило, управляющий и операционный блоки. Совместно с ЗУ и блоками ввода и вывода микропроцессор образует компьютер или ЭВМ. У так называемых микроконтролле ров на кристалле присутствуют дополнительно ЗУ (RAM и ROM), блок ввода и вывода и, часто, также АЦП.
На основе микропроцессора создан универсальный схемный блок, который с помощью программного обеспечения можно использо вать для решения многих задач. Поэтому микропроцессор находит широкое применение. Можно без преувеличения сказать, что микро процессор является изобретением, которое больше всего повлияло на нашу рабочую повседневность.
15.3. Операционные блоки
15.3.1. Архитектура операционных блоков
Архитектура операционных блоков может быть приспособлена к различным специальным применениям. Компьютер фон-Неймана под ходит j\RK решения почти всех задач арифметико-логического ти па. Наряду с этим имеются операционные блоки для решения спе циальных задач. Например, имеются процессоры, оптимизирован ные для обработки сигналов, т.н. «цифровые сигнальные процес соры» (DSP, digital signal processor). Они подходят, например, ^\ля
|
|
|
15.3. Операционные |
блоки 357 |
шина данных |
|
|
IID |
|
CLK |
ID |
|
|
|
>2С\ |
|
|
|
|
G2 |
регистр А |
P^^G2 |
регистр В |
|
|
I |
|
||
управляющая |
i |
|
шина состоянии |
|
шина |
|
АЛУ |
флаг- |
|
|
|
|
регистр |
|
сдвиговый регистр
Рис. 15.3. Типичное ориентированное по шинам регистерно-арифметичес- кое устройство.
Константы, которые необходимы операционному блоку для вы полнения арифметических операций, могут быть установлены с по мощью аппаратных средств либо заданы частью управляющего век тора на шину данных.
15.3.2. Система шин
Работа операционных блоков основывается на применении систем шин. В качестве альтернативного варианта применяются мульти плексоры, которые управляют потоком сигналов.
Технологическими предпосылками применения шин являются:
•применение выходов типа tri-state
•Высокий коэффициент разветвления драйверов шин, малая на грузка, соответствующая входам вентилей.
•Управление шинами происходит в соответствии тактовыми сигналами.
Важно, чтобы фазовый сдвиг тактового сигнала оставался в заданных границах, поскольку к шине при наличии разреша ющего сигнала «Enable» в любой момент времени может быть
Глава 15. Принципы построения микропроцессоров
подключен только один выход. Большинство блоков драйве ров шин рассчитывается так, чтобы столкновения не имели места. Пусть с помоп];ью имеюш;их одинаковую длину симво лов Enable («разрешаюп];ий») и disable («запреп1;ающий») осуш;е- ствляется управление двумя выходами, работаюш;ими на одну ширину. В этом случае результируюш;ее время, в течение ко торого один из выходов остается низкоомным, должно полно стью лежать внутри интервала времени, в течение которого другой выход является высокоомным.
•В системах шин все схемные блоки имеют, как правило, оди наковую ширину слов.
Преимуш;ества шинных систем заключаются в том, что им требу ется меньшее количество проводников, и в том, что они являются более гибкими, но зато они имеют меньшее быстродействие, чем обычные проводные схемы.
15.4. Управляющие блоки
Различают управляющие блоки с фиксированной структурой и управляюп];ие блоки с микропрограммным управлением. Первые имеют большее быстродействие. Их предпочитают вводить, когда требу ется реализация малого числа команд. Это справедливо ^\ля компью теров типа RISC (reduced instruction set computers, «компьютеры с уменьшенным набором команд»).
Управляюш;ие блоки с микпропрограммным управлением явля ются очень гибкими, их можно легко приспособить для различных случаев применения. С другой стороны они являются более медлен ными, поскольку требуют времени J\ля вывода команды из ЗУ.
Объясним функцию типичного управляющего блока с помопдью рис. 15.4. Для каждой команды машинной программы в ROM стар товых адресов содержится стартовый адрес, по которому в ROM микропрограмм можно найти первую микропрограммную команду из последовательности команд, соответствуюш;их указанной коман де, заданной в машинном коде. Часть машинной команды, которая определяет выбор регистра операционного блока, прямо передается в операционный блок. В рассматриваемом случае могут быть обра ботаны 256 машинных команд.
Между ROM стартовых адресов и ROM микропрограмм включен мультиплексор, который позволяет получить три разных адреса р,ля следуюш;ей микрокоманды:
15.4' Управляющие блоки
•первая микропрограммная команда задается с помощью ROM стартовых адресов;
•с помощью инкрементной переключательной схемы адрес мо жет быть повышен на 1;
•при переходах часть микрокоманды может быть использована как адрес следующей команды. Как правило, возможны так же условные переходы. Для этого опрашивается флаг-регистр, в котором находится полученная из операционного блока ин формация о результате счетной операции.
|
регистр команд (машинный код) |
|
I |
код |
код |
микрокоманды |
регистра |
|
mmmmJf |
%,т |
|
инкрсментная] |
|
|
ЗУ стартовых |
схема |
|
адресов |
Пй' |
|
256x1 OBit |
ЗУ |
|
|
||
|
микропрограмм |
|
lKx32Bit
регистр микрокоманд 32Bit
MUX 8:1
(флаги) АЛУ |
управляющая шина АЛУ |
|
регистр |
||
|
Р и с . 15 . 4 . Типичный управляющий блок.
На основе микропрограммного командного слова формируются управляющие команды для АЛУ. Для того, чтобы это можно было провести с малыми затратами и без дальнейшего декодирования, по большей части для определенной управляющей линии АЛУ исполь зуется один бит микропрограммной команды.
15.5. Микропрограммирование
•в поле «считывания» означают А = I или В — 1^ что в накапли вающий регистр (accumulator) А либо в регистр В переводятся данные с шины данных.
• В поле «запись» при AL = 1 результат счета ALU передается на шину, при 1т — i постоянная А — (Аз, ^2, AI^AQ) последним словом подается на шину.
• Последнее поле А = (Аз, А2, Ai, AQ) содержит константы или адреса величин, запомненных во внешних ЗУ, или адрес пере ходов микропрограммы.
Р и с . 15.5. Операционный блок для примера микропрограммы, показанной в табл. 15.2.
На основе этих исходных данных можно следуюш;им образом за программировать сложение констант ЮООв и 0011в-
Для d = О получаем три строчки микропрограммы:
0000010011000
0000001010011
1101010100000
