Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вводый курс цифровой электроники (К.Фрике, 2003)

.pdf
Скачиваний:
220
Добавлен:
12.08.2013
Размер:
8.2 Mб
Скачать

350 Глава 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

ПРИНЦИПЫ

ПОСТРОЕНИЯ

МИКРОПРОЦЕССОРОВ

15.1. Кооперирующиеся управляющие схемы

Цифровые системы с многими внутренними состояниями, опреде­ ляемыми большим числом входов, могут быть разработаны с по­ мощью описанных выше методов с большим трудом. Трудность за­ ключается в черезвычайно большом объеме требуемой таблицы по­ следовательностей состояний. Поэтому с помош;ью обсуждавшихся выше методов проектирования могут быть построены только про­ стые управляющие схемы.

Проблема разработки сложных систем может быть решена пу­ тем использования кооперирующихся управляющих схем. При та­ ком подходе сложная схема делится на операционный и управляю­ щий блоки, которые могут быть разработаны раздельно. Подобная структура показана на рис. 15.1. Операционному блоку совместно с уп­ равляющей шиной Si может быть придана конфигурация, соответ­ ствующая конкретной задаче. Так, например, рассмотренное в главе 12 арифметико-логическое устройство можно считать простым опера­ ционным блоком. По шине состояний Zi информация о получен­ ных результатах передается из операционного блока в управляюпщй блок.

Шина данных

 

Входная шина х^

У- Выходная шина

Операционный

 

блок

 

Управляющая шина s.

Z. Шина состояний

iz

 

Управляющий блок

 

Р и с . 1 5 . 1 . С т р у к т у р а кооперирующейся управляющей системы.

С помопхью операционного блока можно, как правило, обраба­ тывать большое число задач, поскольку операционный блок выпол-

Глава 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). Они подходят, например, ^\ля

356 Глава 15, Принципы построения микропроцессоров

того, чтобы эффективно проводить преобразование Фурье (FFT, fast Faurier transformation).

и—N

шина

данных

И—N

операционный

блок

АЛУ

регистры

адресная

шина

ЗУ

ввод/вывод

Рис . 15.2. Принципиальная структура компьютера фон-Неймана. Управляюпцая шина, соединяющая все блоки между собой, не показана.

Типичная структура универсального регистерно-арифметичес- кого устройства представлена на рис. 15.3. Оно состоит из двух ре­ гистров А и В. Регистр А часто обозначают как «накапливающий регистр» (accumulator). Он принимает результат операции.

С помощью представленного устройства могут проводится логи­ ческие операции сложения и вычитания. Для умножения и деления может быть применен сдвиговый регистр со сдвигом вправо и влево. Во флаг-регистре содержится информация о результатах операций. Так определенный бит во флаг-регистре является индикацией того, что результат равен О, другой бит показывает, состоялся ли перенос (carry). Содержание флаг-регистра может быть р^ля осуществления разветвления программы.

Другими составными частями операционных блоков являются интерфейсы ^\ля ввода и вывода данных и блоки регистров р,ля хра­ нения промежуточных результатов.

 

 

 

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 . Типичный управляющий блок.

На основе микропрограммного командного слова формируются управляющие команды для АЛУ. Для того, чтобы это можно было провести с малыми затратами и без дальнейшего декодирования, по большей части для определенной управляющей линии АЛУ исполь­ зуется один бит микропрограммной команды.