Вводый курс цифровой электроники (К.Фрике, 2003)
.pdf350 Глава 14Программируемые логические блоки
лагаясь при этом на то, что за счет применения точной модели ИС (почти) всегда начнет сразу функционировать.
14.1 I. ASIC со стандартными ячейками
ASIC со стандартными ячейками имеют больше степеней свободы, чем вентильные матрицы (gate-arrays).
Они имеют следующие особенности:
•ширина стандартных ячеек произвольна, фиксирована только высота;
•содержание ячеек является произвольным;
•возможны аналоговые функции;
•размеры каналов для разводки определяются требованиями за казчика (то есть являются заказными);
•особые функции: предлагаются ROM и RAM, выполненные по специальной технологии;
•все фотошаблоны являются заказными;
•размеры кристаллов (чипов) являются заказными.
ASIC со стандартными ячейками имеют следуюш;ие достоинства
инедостатки:
•плотность интеграции выше, чем у gate-arrays, вследствие чего стоимость в пересчете на вентиль меньше;
•стоимость разработки и время разработки больше, чем в слу чае gate-arrays, вследствие чего ASIC со стандартными ячейка ми могут стать рентабельными только при производстве пар тии около 30000 ИС в год;
•изготовитель поставляет программное обеспечение для тести рования библиотечных ячеек;
•сроки поставки больше, чем в случае gate-arrays.
В ASIC со стандартными ячейками структура библиотечных ячеек определяется специальными требованиями. Поэтому плоиладь кристалла меньше, чем у gate-arrays. В качестве альтернативного варианта может быть проведена оптимизация быстродействия.
14-12. ASIC на основе полностью заказного проектирования 35
14.12.ASIC на основе полностью заказного проектирования
ASIC на основе полностью заказного проектирования не отличается от обычных стандартных ИС. При проектировании разработчику предоставляется полная свобода. Изготовитель предлагает только лишь инструменты проектирования, которые адаптированы к ха рактеристикам процесса изготовления.
14.13. Упражнения
Задача 14.1. Пусть с помощью одной программируемой логической матрицы (PLА) должны быть реализованы три булевых функции /о, /1^/2- Отметьте в приведенной ниже схеме необходимые соединения точками и обозначте выводы PLA.
/о |
(а, 6, с, d) = ady ^a^bcd |
/1 |
(а, Ь, с, d) — -^ab V -^cd-^abcd V а -^bcd |
/2 (а, b,c,d) ^^{{аУЬУ -^с){-^сУ d) (-па V с V ^d))
Ггт>1 1 Р
Х\ U1 Р
Х2 1п>i 1 р хз 1гт>i 1 р
| & il& II& I & {|& 1
>1 fo
— fl
>1 12
Задача 14.2. Пусть с помощью одной PLA должны быть реализо ваны 2 булевых функции /о и / i . Обозначьте на схеме необходимые соединения точками и обозначьте выводы.
/о (а, 6, с, d) = ^a-^b-^c^d V ab-^c-^d V a-^b-^c-^d V -^ab-^cdM V -^a-^bcd V -^abcd
/1 (a, 6, c, 6?) = ^a^b-^c^d V ab-^cd V -^a-^bcd V -^abc-^ d
^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 . Типичный управляющий блок.
На основе микропрограммного командного слова формируются управляющие команды для АЛУ. Для того, чтобы это можно было провести с малыми затратами и без дальнейшего декодирования, по большей части для определенной управляющей линии АЛУ исполь зуется один бит микропрограммной команды.
