Ц И Ф Р О В Ы Е

Скачать презентацию Ц И Ф Р О В Ы Е Скачать презентацию Ц И Ф Р О В Ы Е

ddca_ch5.pptx

  • Размер: 3.6 Мб
  • Автор: Владимир Алексеев
  • Количество слайдов: 101

Описание презентации Ц И Ф Р О В Ы Е по слайдам

Ц И Ф Р О В Ы Е Ф У Н К Ц ИЦ И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫГлава 5 Глава 5 Дэвид М. Харрис и Сара Л. Харрис. Цифровая схемотехника и архитектура компьютера, второе издание

Глава 5  2  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫЦифровая схемотехника и архитектура компьютера Эти слайды предназначены для преподавателей, которые читают лекции на основе учебника «Цифровая схемотехника и архитектура компьютера» авторов Дэвида Харриса и Сары Харрис. Бесплатный русский перевод второго издания этого учебника можно загрузить с сайта компании Imagination Technologies: https: //community. imgtec. com/downloads/digital-design-and-computer-a rchitecture-russian-edition-second-edition Процедура регистрации на сайте компании Imagination Technologies описана на станице: http: //www. silicon-russia. com/2016/08/04/harris-and-harris-2/

Глава 5  3  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫБлагодарности Перевод данных слайдов на русский язык был выполнен командой сотрудников университетов и компаний из России, Украины, США в составе: • Александр Барабанов — доцент кафедры компьютерной инженерии факультета радиофизики, электроники и компьютерных систем Киевского национального университета имени Тараса Шевченко, кандидат физ. -мат. наук, Киев, Украина; • Антон Брюзгин — начальник отдела АО «Вибро-прибор» , Санкт-Петербург, Россия. • Евгений Короткий — доцент кафедры конструирования электронно-вычислительной аппаратуры факультета электроники Национального технического университета Украины «Киевский Политехнический Институт» , руководитель открытой лаборатории электроники Lampa, кандидат технических наук, Киев, Украина; • Евгения Литвинова – заместитель декана факультета компьютерной инженерии и управления, доктор технических наук, профессор кафедры автоматизации проектирования вычислительной техники Харьковского национального университета радиоэлектроники, Харьков, Украина; • Юрий Панчул — старший инженер по разработке и верификации блоков микропроцессорного ядра в команде MIPS I 6400, Imagination Technologies, отделение в Санта-Кларе, Калифорния, США; • Дмитрий Рожко — инженер-программист АО «Вибро-прибор» , магистр Санкт-Петербургского государственного автономного университета аэрокосмического приборостроения (ГУАП), Санкт-Петербург, Россия; • Владимир Хаханов – декан факультета компьютерной инженерии и управления, проректор по научной работе, доктор технических наук, профессор кафедры автоматизации проектирования вычислительной техники Харьковского национального университета радиоэлектроники, Харьков, Украина; • Светлана Чумаченко – заведующая кафедрой автоматизации проектирования вычислительной техники Харьковского национального университета радиоэлектроники, доктор технических наук, профессор, Харьков, Украина.

Глава 5  4  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫГлава 5 : : Темы • Введение • Арифметические схемы • Представление чисел • Последовательностные функциональные блоки • Матрицы памяти • Матрицы логических элементов

Глава 5  5  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Цифровые функциональные блоки: – Логические элементы, мультиплексоры, декодеры, регистры, схемы арифметики, счетчики, матрицы памяти и матрицы логических элементов • Функциональные блоки демонстрируют принципы иерархичности, модульности и регулярности проектируемых систем – Иерархия более простых компонентов – Строго определенные интерфейсы и функции – Регулярная структура легко масштабируется в системы различных размеров • Подобные функциональные блоки будут использованы в главе 7 для проектирования микропроцессора Введение

Глава 5  6  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫОдноразрядный сумматор. 1 AB 00 01 10 11 SC out S = C out = Half Adder A B SC out+ AB 00 01 10 11 SC out S = C out = Full Adder Cin 00 01 10 11 0 0 1 1 A B SC out Cin+

Глава 5  7  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫОдноразрядный сумматор. 2 AB 00 01 10 11 0 1 1 0 SC out 0 0 0 1 S = C out = Half Adder A B SC out+ AB 00 01 10 11 0 1 1 0 SC out 0 0 0 1 S = C out = Full Adder Cin 00 01 10 11 0 0 1 1 1 A B SC out Cin+

Глава 5  8  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫОдноразрядный сумматор. 3 AB 00 01 10 11 0 1 1 0 SCout 0 0 0 1 S = A B Cout = AB Half Adder AB S Cout+ AB 00 01 10 11 0 1 1 0 SCout 0 0 0 1 S = A B Cin Cout = AB + ACin + BCin Full Adder Cin 00 01 10 11 0 0 1 1 1 AB S Cout. Cin+

Глава 5  9  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Типы распространения переносов: – Последовательный (медленный) – Ускоренный групповой (быстрый) – Префиксный (самый быстрый) • Два последних типа используются для многоразрядных сумматоров, но их реализация требует дополнительных аппаратных затрат Условное обозначение. Многоразрядные сумматоры AB S Cout. Cin+ N NN

Глава 5  10  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Цепь одноразрядных сумматоров • Перенос проходит через всю цепочку • Недостаток: медленное суммирование. Сумматор с последовательным переносом S 31 A 30 B 30 S 30 A 1 B 1 S 1 A 0 B 0 S 0 C 30 C 29 C 1 C 0 C out ++++A 31 B 31 C in

Глава 5  11  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫЗадержка сумматора складывается из задержек разрядов в каждом звене: t ripple = Nt FA где t FA – задержка одного полного сумматора. Сумматор с последовательным переносом

Глава 5  12  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Определить значение переноса ( C out ) в каждом блоке k -разрядного сумматора, используя сигналы generate и propagate • Некоторые определения: – Разряд i формирует перенос либо путем его генерирования ( generating ) либо путем распространения ( propagating ) переноса со своего соответствующего входа на свой выход – Генерирование ( G i ) и распространение ( P i ) сигналов для каждого разряда: • Разряд i будет генерировать перенос, если A i и B i (оба) равны 1. G i = A i B i • Разряд i будет распространять перенос от соответствующего входа к соответствующему выходу, если A i или B i равен 1. P i = A i + B i • Перенос разряда i (C i ): C i = A i B i + ( A i + B i ) C i-1 = G i + P i C i-1 Сумматор с ускоренным групповым переносом (СУГП)

Глава 5  13  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Шаг 1: Вычислить G i и P i для всех разрядов • Шаг 2: Вычислить G и P для всех k -битовых блоков сумматора • Шаг 3: Перенос C in распространяется через все k -битовые блоки генерации/распространения. Суммирование с ускоренным групповым переносом

Глава 5  14  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Пример: 4 -разрядные блоки ( G 3: 0 и P 3: 0 ) : G 3: 0 = G 3 + P 3 ( G 2 + P 2 ( G 1 + P 1 G 0 ) P 3: 0 = P 3 P 2 P 1 P 0 • В общем случае, G i : j = G i + P i ( G i -1 + P i -1 ( G i -2 + P i -2 G j ) P i : j = P i -1 P i -2 P j C i = G i: j + P i: j C i-1 Сумматор с ускоренным групповым переносом

Глава 5  15  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 32 -разрядный сумматор с ускоренным групповым переносом с 4 -разрядными блоками B 0 ++++ P 3: 0 G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 3 P 2 P 1 P 0 G 3: 0 C in. C out A 0 S 0 C 0 B 1 A 1 S 1 C 1 B 2 A 2 S 2 C 2 B 3 A 3 S 3 C in. A 3: 0 B 3: 0 S 3: 04 -bit CLA Block C in. A 7: 4 B 7: 4 S 7: 44 -bit CLA Block C 3 C 7 A 27: 24 B 27: 24 S 27: 244 -bit CLA Block C 23 A 31: 28 B 31: 28 S 31: 284 -bit CLA Block C 27 C out

Глава 5  16  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫДля N -разрядного сумматор с ускоренным групповым переносом с k -разрядными блоками: t CLA = t pg + t pg_ block + ( N/k – 1) t AND_OR + kt FA – t pg : задержка генерации всех P i , G i – t pg_ block : задержка генерации всех P i : j , G i : j – t AND _ OR : задержка тракта вход C in — выход C out из элементов И/ИЛИ в k -разрядном блоке сумматор с ускоренным групповым переносом N -разрядный сумматор с ускоренным групповым переносом практически всегда более быстрый, чем сумматор с последовательным переносом для N > 16 Задержки сумматор с ускоренным групповым переносом

Глава 5  17  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Вычисляет перенос на входе ( C i -1 ) для каждого разряда, затем вычисляет сумму: S i = ( A i B i ) C i • Вычисляет G и P для 1 -, 2 -, 4 -, 8 -разрядов блоков, до тех пор, пока не станут известны все переносы G i (входные переносы всех разрядов) • Количество каскадов log 2 NПрефиксный сумматор

Глава 5  18  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Перенос на входе либо генерируется для данного разряда либо распространяется от предыдущего. • Разряд -1 соответствует C in , тогда G -1 = C in , P -1 = 0 • Значение переноса на входе разряда i равно значению переноса на выходе разряда i-1 : C i -1 = G i -1: -1 : сигнал генерации блока разрядов от i -1 до -1 • Выражение для суммы: S i = ( A i B i ) G i -1: -1 • Цель: быстрое вычисление G 0: -1 , G 1: -1 , G 2: -1 , G 3: -1 , G 4: -1 , G 5: -1 , … (называемых префиксами )Префиксный сумматор

Глава 5  19  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Сигналы генерации и распространения блока, охватывающего разряды i : j : G i: j = G i: k P i: k G k -1: j P i: j = P i : k P k -1: j • Более детально: – Генерация: блок i : j генерирует перенос, если: • Старшие разряды ( i : k ) генерируют перенос или • Старшие разряды распространяют перенос, сгенерированный в младших разрядах ( k -1: j ) – Распространение: блок i : j распространяет перенос, если и старшие и младшие разряды распространяют перенос. Префиксный сумматор

Глава 5  20  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫСхема префиксного сумматора 0: -1 -1 2: 1 1: -12: -1 012 4: 3 3 6: 5 5: 36: 3 456 5: -16: -1 3: -14: -18: 7 7 10: 9 9: 710: 7 8910 12: 11 11 14: 13 13: 1114: 11 121314 13: 714: 7 11: 712: 7 9: -110: -1 7: -18: -113: -114: -1 11: -112: -115 0123456789101112131415 B i. A i G i: i. P i: i G k-1: j. P k-1: j G i: k. P i: k G i: j. P i: ji i: j B i. A i. G i-1: -1 S i i. Legend

Глава 5  21  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы t PA = t pg + log 2 N(t pg_ prefix ) + t XOR – t pg : задержка формирования P i G i (элементы И или ИЛИ) – t pg_ prefix : задержка черной префиксной ячейки (элементы И-ИЛИ)Задержка префиксного сумматора

Глава 5  22  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫСравнить задержки: 32 -разрядный сумматор с последовательным переносом, сумматор с ускоренным групповым переносом, и префиксного сумматора • сумматор с ускоренным групповым переносом содержит 4 -разрядные блоки • Задержка 2 -входового вентиля = 100 ps; задержка полного сумматора = 300 ps. Сравнение задержек сумматоров

Глава 5  23  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫСравнить задержки: 32 -разрядный сумматор с последовательным переносом, сумматор с ускоренным групповым переносом и префиксный сумматор • сумматор с ускоренным групповым переносом содержит 4 -разрядные блоки • Задержка 2 -входового вентиля = 100 ps; задержка полного сумматора = 300 ps t ripple = Nt FA = 32(300 ps) = 9. 6 ns t CLA = t pg + t pg_ block + ( N/k – 1) t AND_OR + kt FA = [100 + 600 + (7)200 + 4(300)] ps = 3. 3 ns t PA = t pg + log 2 N(t pg_ prefix ) + t XOR = [100 + log 2 32(200) + 100] ps = 1. 2 ns. Сравнение задержек сумматоров

Глава 5  24  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫУстройство вычитания Symbol Implementation + AB — Y Y AB NN N N

Глава 5  25  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫКомпаратор: Сравнение на равенство Symbol. Implementation A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Equal = AB Equal

Глава 5  26  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 -Компаратор: Меньше, чем A < B — BA [N-1] N NN

Глава 5  27  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 -F 2: 0 Функция 000 A & B 001 A | B 010 A + B 011 Не используется 100 A & ~B 101 A | ~B 110 A — B 111 SLTАрифметико-логическое устройство (АЛУ) ALU NN N 3 AB Y

Глава 5  28  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 -F 2: 0 Функция 000 A & B 001 A | B 010 A + B 011 Не используется 100 A & ~B 101 A | ~B 110 A — B 111 SLTСхема АЛУ + 201 A B C out Y 3 01 F 2 F 1: 0 [N-1]S NN N NNN N 2 Zero Extend

Глава 5  29  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 — • Сравнение на «Меньше» (Set Less Than, SLT) • Конфигурирование 32 -разрядного АЛУ для операции SLT: • A = 25 и B = 32 Сравнение «Меньше, чем» . Пример + 201 AB C out Y 3 01 F 2 F 1: 0[N-1] S NN N N NNNN N 2 Zero Extend

Глава 5  30  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 — • Конфигурирование 32 -разрядного АЛУ для операции SLT: A = 25 и B = 32 – A < B , поэтому Y должен быть 32 -разрядным представлением 1 (0 x 00000001) – F 2: 0 = 111 – F 2 = 1 (сумматор работает как вычитатель): 25 — 32 = -7 – -7 имеет 1 в старшем разряде ( S 31 = 1) – F 1: 0 = 11 мультиплексор выбирает Y = S 31 (дополнение нулями) = 0 x 00000001. Сравнение «Меньше, чем» . Пример + 201 AB C out Y 3 01 F 2 F 1: 0[N-1] S NN N N NNNN N 2 Zero Extend

Глава 5  31  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫCopyright © 2007 Elsevier 5 — • Логическое устройство сдвига: смещает сдвигаемое значение влево или вправо и заполняет пустые разряды нулями « 0» Пример: 11 0 01 >> 2 = Пример 11 0 01 <>> 2 = Пример : 11 0 01 <<< 2 = • Циклический сдвиг: сдвигает биты по кругу, таким образом, что уходящий бит появляется на месте появившегося свободного разряда на другом конце числа Пример : 11 0 01 ROR 2 = Пример : 11 0 01 ROL 2 =Устройство сдвига (Shifter)

Глава 5  32  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Логическое устройство сдвига: – Ex: 11 0 01 >> 2 = 00 11 0 – Ex: 11 0 01 <>> 2 = 11 11 0 – Ex: 11 0 01 <<< 2 = 00 1 00 • Циклическое устройство сдвига: – Ex: 11 0 01 ROR 2 = 01 11 0 – Ex: 11 0 01 ROL 2 = 0 01 11 Устройства сдвига

Глава 5  33  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫСхема устройства сдвига A 3: 0 Y 3: 0 shamt 1: 0 >> 2 44 A 3 A 2 A 1 A 0 Y 3 Y 2 Y 1 Y 0 shamt 1: 0 00 01 10 11 S 1:

Глава 5  34  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • A << N = A × 2 N – Пример: 00001 << 2 = 00100 (1 × 2 2 = 4) – Пример : 11101 <>> N = A ÷ 2 N – Пример : 01000 >>> 2 = 00010 (8 ÷ 2 2 = 2) – Пример : 10000 >>> 2 = 11100 (-16 ÷ 2 2 = -4)Устройство сдвига как умножитель и делитель

Глава 5  35  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Частичное произведение, формируемое путем умножения текущего разряда множителя на все разряды множимого • Сдвинутые частичные произведения, суммированные для формирования результата. Устройство умножения Decimal Binary 230 42 x 0101 0111 5 x 7 = 35 460 920+ 9660 0101 0000 x + 0100011 230 x 42 = 9660 multiplier multiplicand partial products result

Глава 5  36  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫУмножитель 4 x B 3 B 2 B 1 B 0 A 3 B 0 A 2 B 0 A 1 B 0 A 0 B 0 A 3 A 2 A 1 A 0 A 3 B 1 A 2 B 1 A 1 B 1 A 0 B 1 A 3 B 2 A 2 B 2 A 1 B 2 A 0 B 2 A 3 B 3 A 2 B 3 A 1 B 3 A 0 B 3+ P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 0 P 2 0 0 0 P 1 P 0 P 5 P 4 P 3 P 7 P 6 A 3 A 2 A 1 A 0 B 1 B 2 B 3 x AB P

Глава 5  37  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫДелитель 4 x 4 1 A 3000 Q 3 1 Q 2 B 0 B 1 B 2 B 3 R 0 R 1 R 2 R 3 A 2 1 Q 1 A 1 1 Q 0 A 0 +R B D R ‘N C in. C out 10 R B D R ‘NC out C in Legend A/B = Q + R/B Алгоритм: R ’ = 0 for i = N-1 to 0 R = {R ’ << 1. A i } D = R — B if D < 0, Q i =0, R ’ =R else Q i =1, R ’ =D R ’ =R

Глава 5  38  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Числа можно представить с помощью двоичного представления – Положительные числа • Беззнаковое двоичное – Отрицательные числа • Дополнительный код • Прямой код • А как же дробные числа? Системы счисления

Глава 5  39  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Две основных способа представления: – Fixed-point: двоичное число с фиксированной точкой – Floating-point: двоичное число с плавающей точкой – двоичная точка «плавает» между значащими цифрами. Дробные числа

Глава 5  40  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • 6. 75 содержит 4 разряда целой части и 4 разряда дробной части : • В определенном месте подразумевается наличие двоичной точки • Количество разрядов целой и дробной части должно быть определено заранее. Числа с фиксированной точкой 01101100 0110. 1100 2 2 + 2 1 + 2 -2 = 6.

Глава 5  41  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Представить 7. 5 10 используя 4 целых бита и 4 дробных. Пример числа с фиксированной точкой

Глава 5  42  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Представить 7. 5 10 используя 4 целых бита и 4 дробных. 01111000 Пример числа с фиксированной точкой

Глава 5  43  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Представление: – Прямой код (знак/величина) – Дополнительный код (дополнение до основания системы счисления) • Пример: Представить -7. 5 10 используя 4 целых и 4 дробных бита – Прямой код: – Дополнительный код: Знаковые числа с фиксированной точкой

Глава 5  44  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Представление: – Прямой код (знак/величина) – Дополнительный код (дополнение до основания системы счисления) • Пример: Представить -7. 5 10 используя 4 целых и 4 дробных бита – Прямой код: 1 1111000 – Дополнительный код: 1. +7. 5: 01111000 2. Инвертировать значения разрядов: 10000111 3. Добавить 1 к младшему разряду: + 1 1000 Знаковые числа с фиксированной точкой

Глава 5  45  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Двоичная точка «плавает» между значащими цифрами • Подобно десятичному представлению в экспоненциальном представлении • Например, записать 273 10 в экспоненциальном представлении : 273 = 2. 73 × 10 2 • В общем виде, число записывается в экспоненциальном представлении как: ± M × B E – M = мантисса – B = основание показательной функции – E = порядок (экспонента) – Например, M = 2. 73, B = 10, and E = 2 Числа с плавающей точкой

Глава 5  46  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Пример: представить число 228 10 используя 32 -битное представление с плавающей точкой Рассмотрим 3 версии – последняя версия называется IEEE 754 floating-point standard. Числа с плавающей точкой Sign Exponent Mantissa 1 bit 8 bits 23 bits

Глава 5  47  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 1. Преобразовать десятичное в двоичное ( не меняйте местами шаги 1 & 2! ): 228 10 = 11100100 2 2. Записать число в двоичной системе и экспоненциальном представлении: 11100100 2 = 1. 11001 2 × 2 7 3. Заполнить каждое поле 32 -битное числа с плавающей точкой: – Знак – положительный, знаковый бит – (0) – 8 разрядов порядка представляют значение 7 – Остальные 23 разряда – мантисса. Представление с плавающей точкой. 1 0 00000111 11 1001 0000 Sign Exponent Mantissa 1 bit 8 bits 23 bits

Глава 5  48  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Первый разряд мантиссы – всегда 1: – 228 10 = 11100100 2 = 1. 11001 × 2 7 • Следовательно, нет необходимости хранить его: неявная ведущая 1 • Хранить только дробные разряды мантиссы в 23 -разрядном поле. Представление с плавающей точкой. 2 000000111 110 0100 0000 Sign. Exponent. Fraction 1 bit 8 bits 23 bits

Глава 5  49  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Смещенный порядок : смещение = 127 (01111111 2 ) – Смещенный порядок = смещение + порядок – Порядок 7 хранится как: 127 + 7 = 134 = 0 x 10000110 2 • 32 -разрядное (IEEE 754) представление с плавающей точкой числа 228 10 в 16 -ричном коде: 0 x 43640000 Представление с плавающей точкой. 3 010000110 Sign. Biased Exponent Fraction 1 bit 8 bits 23 bits

Глава 5  50  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫЗаписать число -58. 25 10 с плавающей точкой (IEEE 754)Представление с плавающей точкой. Пример

Глава 5  51  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫЗаписать число -58. 25 10 с плавающей точкой (IEEE 754) 58. 25 10 = 111010. 01 2 1. Записать в двоичной системе и экспоненциальном представлении: 1. 1101001 × 2 5 3. Заполнить поля: Знаковый разряд: 1 (отрицательный) 8 разрядов порядка: (127 + 5) = 132 = 10000100 2 23 разряда мантиссы: 110 1001 0000 в 16 -ричном коде: 0 x. C 2690000 Представление с плавающей точкой. Пример 1100 0010 0 110 1001 0000 Sign. Exponent. Fraction 1 bit 8 bits 23 bits

Глава 5  52  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫЧисло Знак Порядок Мантисса 0 X 0000000000000000 ∞ 0 1111 000000000000 — ∞ 1 1111 000000000000 Na. N X 1111 Не нуль. Плавающая точка: Особые случаи

Глава 5  53  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Одинарная точность: – 32 -разрядное – 1 знаковый разряд, 8 разрядов порядка, 23 разряда мантиссы – Смещение = 127 • Двойная точность: – 64 — разрядное – 1 знаковый разряд, 11 разрядов порядка, 52 разряда мантиссы – Смещение = 1023 Плавающая точка: точность

Глава 5  54  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Переполнение: число слишком большое для представления • Потеря точности: число слишком маленькое для представления • Режимы округления: – Вниз – к меньшему – Вверх – к большему – К нулю (к меньшему по модулю) – К ближайшему • Пример: округлить 1. 100101 (1. 578125) к числу с 3 дробными разрядами – Вниз: 1. 100 – Вверх: 1. 101 – К нулю: 1. 100 – К ближайшему: 1. 101 (1. 625 ближе к 1. 578125, чем 1. 5)Плавающая точка: округление

Глава 5  55  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 1. Выделить порядок числа и мантиссу 2. Присоединить ведущую 1 к мантиссе 3. Сравнить порядки 4. Выполнить сдвиг меньшей мантиссы при необходимости 5. Сложить мантиссы 6. Нормализовать мантиссы и подобрать порядки при необходимости 7. Округлить результат 8. Выполнить сборку порядка и мантиссы обратно в формат с плавающей точкой. Плавающая точка: Суммирование

Глава 5  56  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫСложить числа с плавающей точкой: 0 x 3 FC 00000 0 x 40500000 Суммирование с плавающей точкой. Пример

Глава 5  57  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 1. Извлечь порядок и мантиссу Для первого числа (N 1): S = 0, E = 127, F =. 1 Для второго числа (N 2): S = 0, E = 128, F =. 101 2. Присоединить ведущую 1 к мантиссе N 1: 1. 1 N 2: 1. 101 Суммирование с плавающей точкой. Пример 001111111 100 0000 0000 Sign. Exponent. Fraction 1 bit 8 bits 23 bits 010000000 101 0000 0000 1 bit 8 bits 23 bits Sign. Exponent. Fraction

Глава 5  58  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 3. Сравнить порядки 127 – 128 = -1, поэтому сдвиг N 1 вправо на 1 разряд 4. Сдвиг меньшей мантиссы при необходимости shift N 1’s mantissa: 1. 1 >> 1 = 0. 11 ( × 2 1 ) 5. Сложить мантиссы 0. 11 × 2 1 + 1. 101 × 2 1 10. 011 × 2 1 Суммирование с плавающей точкой. Пример

Глава 5  59  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 6. Нормализовать мантиссы и подобрать порядки при необходимости 10. 011 × 2 1 = 1. 0011 × 2 2 7. Округлить результат необходимости (уложились в 23 разряда) 8. Выполнить сборку порядка и мантиссы обратно в формат с плавающей точкой S = 0, E = 2 + 127 = 129 = 10000001 2 , F = 001100. . in hexadecimal : 0 x 40980000 Суммирование с плавающей точкой. Пример 0 10000001 1000 0000 Sign Exponent Fraction 1 bit 8 bits 23 bits

Глава 5  60  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Инкремент на каждом переднем фронте • Используется в цикле для перебора всех чисел. Например, – 000, 001, 010, 011, 100, 101, 110, 111, 000, 001… • В примере использованы: – Отображение цифровых часов – Программный счетчик: отслеживает выполнение текущей команды. Счетчики QCLK Reset N +N 1 CLK Reset N N Q N r Symbol. Implementation

Глава 5  61  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫРеализация • Вдвигается новый бит по переднему фронту тактового сигнала • Выдвигается бит по переднему фронту тактового сигнала • Последовательно-параллельный преобразователь : преобразует последовательный вход ( S in ) в параллельный выход ( Q 0: N -1 )Сдвигающий регистр Обозначение NQ Sin. Sout CLK Sin. Sout Q 0 Q 1 QN-1 Q

Глава 5  62  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Когда Load = 1, работает как обычный N -разрядный регистр • Когда Load = 0, работает как регистр сдвига • Может работать как последовательно-параллельный преобразователь (S in Q 0: N -1 ) или параллельно-последовательный преобразователь ( D 0: N -1 S out )Сдвигающий регистр с параллельной загрузкой Clk 0 1 0 1 D 0 D 1 DN-1 D 2 Q 0 Q 1 QN-1 Q 2 Sin. Sout Load

Глава 5  63  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Эффективно хранят большие объемы данных • 3 основных типа: – Динамическое оперативное запоминающее устройство (ОЗУ) (DRAM) – Статическое оперативное запоминающее устройство (ОЗУ) (SRAM) – Постоянное запоминающее устройство (ПЗУ), память только для чтения (ROM) • M -разрядное значение данных считывается/записывается по уникальному N -разрядному адресу. Матрицы памяти Address Data Array N M

Глава 5  64  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • 2 -мерная матрица битовых ячеек • Каждая битовая ячейка хранит 1 бит • N адресных битов и M битов данных: – 2 N строк и M столбцов – Глубина (Depth): количество строк (количество слов) – Ширина (Width): число столбцов (размер, длина слова) – Размер матрица: depth × width = 2 N × M Матрицы памяти Address Data Array. N M Address. Data 11 10 01 00 depth 010 100 110 011 width Address Data Array

Глава 5  65  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • 2 2 × 3 -битовая матрица • Количество слов: 4 • Длина слова: 3 бита • Например, 3 -битовое слово 100 хранится по адресу 10 Пример матрицы памяти Address. Data 11 10 01 00 depth 010 100 110 011 width Address Data Array

Глава 5  66  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫМатрицы памяти Address Data 1024 -word x 32 -bit Array

Глава 5  67  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы ZЗапоминающие элементы матрицы памяти

Глава 5  68  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы 0 1 Z ZЗапоминающие элементы матрицы памяти

Глава 5  69  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Линия выборки слов (worldline): – формирует сигнал разрешения для выбора строки – в матрице памяти только одна строка может читаться/записываться – соответствует уникальному адресу – только одна линия выборки слов может быть активна. Матрица памяти wordline 311 10 2: 4 Decoder Address 01 00 stored bit = 0 wordline 2 wordline 1 wordline 0 stored bit = 1 stored bit = 0 stored bit = 1 bitline 2 bitline 1 bitline 0 Data 2 Data 1 Data

Глава 5  70  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • с произвольным доступом , оперативная память (RAM, ОЗУ): энергозависимая ( volatile) • Память только для чтения (ROM, ПЗУ): энергонезависимая ( nonvolatile)Типы памяти

Глава 5  71  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Энергозависимая: содержимое памяти теряется при отключении электропитания • Быстрые чтение и запись • Основная память в компьютере – RAM (DRAM) Исторически сложилось название «память с произвольным доступом» , так как в ней доступ к любому слову данных для чтения или записи осуществляется всегда за одно и то же время (в отличие от памяти с последовательным доступом, такой, например, как магнитная лента) RAM, ОЗУ: оперативная память

Глава 5  72  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Энергонезависимая: содержимое памяти сохраняется при отключении электропитания • Чтение быстрое, но запись невозможна или медленная • Флэш память в видеокамерах, флэш-накопителях – ROM Исторически сложилось название «память только для чтения, ROM» , поскольку информация в нее могла быть записана только во время ее производства или путем пережигания плавких перемычек. После того, как память была сконфигурирована, она не могла быть записана снова. Теперь это уже не так. ROM, ПЗУ: Память только для чтения

Глава 5  73  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • DRAM (динамическое ОЗУ — Dynamic random access memory) • SRAM (Статическое ОЗУ — Static random access memory) • Отличаются способом хранения данных: – DRAM использует конденсатор – SRAM использует инверторы с перекрёстными обратными связями. Типы RAM

Глава 5  74  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Изобрел DRAM в 1966, IBM • Многие были настроены скептически к работоспособности его идеи • С середины 1970 -х DRAM используется практически во всех компьютерах. Роберт Деннард, 1932 —

Глава 5  75  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Биты данных сохраняются в конденсаторах • Динамическая, потому что значение должно быть обновлено (перезаписано) как периодически, так и после считывания: – Утечка заряда конденсатора разрушает значение – Чтение уничтожает сохраненное значение. DRAM wordline bitline stored bit

Глава 5  76  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫDRAM wordline bitline + + stored bit = 1 stored bit =

Глава 5  77  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫSRAM wordline bitline

Глава 5  78  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫDRAM bit cell: SRAM bit cell: Матрицы памяти. Обзор wordline 3 11 102: 4 Decoder Address 01 00 stored bit = 0 wordline 2 wordline 1 wordline 0 stored bit = 1 stored bit = 0 stored bit = 1 bitline 2 bitline 1 bitline 0 Data 2 Data 1 Data 02 wordline bitline

Глава 5  79  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫПЗУ (ROM): Точечная нотация wordline bitline bit cell containing 0 bit cell containing

Глава 5  80  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Разрабатывал память и быстродействующие схемы для Toshiba, 1971 -1994 • Изобрел флэш-память в процессе самостоятельной работы, проводимой по ночам и в выходные дни в конце 1970 -х • Процесс стирания памяти напомнил ему о вспышке камеры • Toshiba медленно коммерциализировала идею; Intel была первой на рынке в 1988 • Рынок флэш-памяти растет на $ 25 млрд в год. Фуджио Масуока, 1944 —

Глава 5  81  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫХранение данных в ПЗУ (ROM) Address. Data 11 10 01 00 depth 010 100 110 011 width

Глава 5  82  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫData 2 = A 1 A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 Логические функции и ПЗУ (ROM)

Глава 5  83  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫРеализовать следующие логические функции, используя ПЗУ 2 2 × 3 -бит: – X = AB – Y = A + B – Z = A BПример: Логика на основе ПЗУ 11 102: 4 Decoder A , B ZYX

Глава 5  84  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫРеализовать следующие логические функции, используя ПЗУ 2 2 × 3 -бит: – X = AB – Y = A + B – Z = A BПример: Логика на основе ROM 11 102: 4 Decoder A , B ZYX

Глава 5  85  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫData 2 = A 1 A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 Логика на основе любой матрицы памяти wordline 311 10 2: 4 Decoder Address 01 00 stored bit = 0 wordline 2 wordline 1 wordline 0 stored bit = 1 stored bit = 0 stored bit = 1 bitline 2 bitline 1 bitline 0 Data 2 Data 1 Data

Глава 5  86  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫРеализовать следующие логические функции, используя 2 2 × 3 -битовую матрицу памяти: – X = AB – Y = A + B – Z = A BЛогика на основе матрицы памяти

Глава 5  87  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫРеализовать следующие логические функции, используя 2 2 × 3 -битовую матрицу памяти: – X = AB – Y = A + B – Z = A BЛогика на основе матрицы памяти wordline 311 10 2: 4 Decoder A, B 01 00 stored bit = 1 wordline 2 wordline 1 wordline 0 stored bit = 1 stored bit = 0 stored bit = 1 stored bit = 0 bitline 2 bitline 1 bitline 0 XYZ

Глава 5  88  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫТаблицы преобразования ( lookup tables, LUTs), каждой входной комбинации соответствует некоторое состояние выхода Логика на основе матрицы памяти stored bit = 1 stored bit = 000 012: 4 Decoder A stored bit = 0 bitline stored bit = 0 YB 10 114 -word x 1 -bit Array A B Y 0 0 0 1 1 0 0 0 1 Truth Table

Глава 5  89  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Порт: пара адрес/данные • 3 -портовая память – 2 порта чтения (A 1/RD 1, A 2/RD 2) – 1 порт записи (A 3/WD 3, WE 3 разрешает запись) • Регистровый файл: малая многопортовая память. Многопортовая память A 1 A 3 W D 3 W E 3 A 2 CLK Array RD 2 RD 1 M M N N N M

Глава 5  90  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы// 256 x 3 модуль памяти с одним портом чтения/записи module dmem( input logic clk, we, input logic[7: 0] a input logic [2: 0] wd, output logic [2: 0] rd); logic [2: 0] RAM[255: 0]; assign rd = RAM[a]; always @(posedge clk) if (we) RAM[a] <= wd; endmodule System. Verilog: матрицы памяти

Глава 5  91  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • PLAs (ПЛМ, Programmable logic arrays) –программируемая логическая матрица – AND матрица, затем OR матрица – Только комбинационная логика – Фиксированные внутренние соединения • FPGAs (Field programmable gate arrays) – Программируемая пользователем матрица логических элементов – Массив конфигурируемых логических блоков CLB – Комбинационная и последовательностная логика – Программируемые внутренние соединения. Матрицы логических элементов

Глава 5  92  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • X = ABC + ABC • Y = ABПрограммируемые логические матрицы XY ABC AND ARRAY OR ARRAY ABC AB ABC AND ARRAY OR ARRAY Inputs Outputs Implicants N M P

Глава 5  93  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫPLA (ПЛМ): Точечная нотация AND ARRAY OR ARRAYInputs Outputs. Implicants NM P X YABC AB ABCA B C AND ARRAY OR ARRAY

Глава 5  94  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Состоит из: – LE (логических элементов): реализуют логику – IOE (Элементов ввода/вывода): интерфейс с внешним миром – Programmable interconnection: программируемые соединения связывают логические элементы с элементами ввода/вывода – Некоторые FPGAs включают и другие блоки, такие как умножители и память RAMs. FPGA: Программируемая пользователем матрица логических элементов

Глава 5  95  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫОбобщенная структура FPG

Глава 5  96  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Состоят из: – Таблиц преобразования (LUT) : реализуют комбинационную логику – Триггеров: реализуют последовательностную логику – Мультиплексоров: соединяют таблицы преобразования (LUT) и триггеры. LE: Логические элементы

Глава 5  97  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫAltera Cyclone IV L

Глава 5  98  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л Ы • Конфигурируемые логические блоки (CLB) Spartan имеют: – 1 четырехвходовую LUT – 1 регистровый выход – 1 комбинационный выход. Altera Cyclone IV L

Глава 5  99  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫПокажите, как сконфигурировать логические блоки Cyclone IV для выполнения следующих функций: – X = ABC + ABC – Y = ABКонфигурация ЛБ. Пример

Глава 5  100  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫПокажите, как сконфигурировать ЛБ Cyclone IV для выполнения следующих функций: – X = ABC + ABC – Y = ABКонфигурация ЛБ. Пример LUT output 0 0 0 1 1 0 1 0 0 data 2 0 0 0 0 1 11 1 0 0 1 0 X X X X Xdata 1 ( A ) ( B ) ( C ) ( X ) data 1 0 A B 0 Ydata 4 data 3 data 2 data 3 data 4 LUTdata 1 0 A B C Xdata 2 data 3 data 4 LUT output 0 1 0 data 2 0 0 1 1 X Xdata 1 ( A ) ( B ) (Y ) data 4 data 3 X X LE 1 L

Глава 5  101  Ц И Ф Р О В Ы Е ФГлава 5 Ц И Ф Р О В Ы Е Ф У Н К Ц И О Н А Л Ь Н Ы Е У З Л ЫИспользуя средства САПР (Altera’s Quartus II): • Описать проект с использованием редактора принципиальных схем или HDL • Выполнить моделирование проекта • Выполнить синтез проекта и его имплементацию в FPGA • Загрузить конфигурацию в FPGA • Протестировать проект. FPGA. Последовательность проектирования