Цифровая схемотехника и архитектура компьютера
Покупка
Издательство:
ДМК Пресс
Год издания: 2018
Кол-во страниц: 792
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-570-7
Артикул: 666237.03.99
В книге представлен уникальный и современный подход к разработке цифровых устройств. Авторы начинают с цифровых логических элементов, переходят к разработке комбинационных и последовательных схем, а затем используют эти базовые блоки как основу для самого сложного: проектирования настоящего процессора MIPS. По всему тексту приводятся примеры на языках SystemVerilog и VHDL, иллюстрирующие методы и способы проектирования схем с помощью САПР. Изучив эту книгу, читатели смогут разработать свой собственный микропроцессор и получат полное понимание того, как он работает. В книге объединен привлекательный и юмористический стиль изложения с развитым и практичным подходом к разработке цифровых устройств. Во второе англоязычное издание вошли новые материалы о системах ввода / вывода применительно к процессорам общего назначения как для ПК, так и для микроконтроллеров. Приведены практические примеры интерфейсов периферийных устройств с применением RS-232, SPI, управления двигателями, прерываний, беспроводной связи и аналого-цифрового преобразования. Представлено высокоуровневое описание интерфейсов, включая USB, SDRAM, WiFi, PCI Express и другие. Издание будет полезно студентам, инженерам, а также широкому кругу читателей, интересующихся современной схемотехникой.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 11.03.04: Электроника и наноэлектроника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Дэвид М. Харрис Сара Л. Харрис ЦИФРОВАЯ СХЕМОТЕХНИКА И АРХИТЕКТУРА КОМПЬЮТЕРА Переведено командой из компаний и университетов России, Украины, США и Великобритании ЦВЕТНОЕ ИЗДАНИЕ
Digital Design and Computer Architecture Second Edition David Money Harris Sarah L. Harris AMSTERDAM • BOSTON • HEIDELBERG • LONDON NEW YORK • OXFORD • PARIS • SAN DIEGO SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO Morgan Kaufmann is an imprint of Elsevier
Цифровая схемотехника и архитектура компьютера Дэвид М. Харрис Сара Л. Харрис Imagination Technologies Второе издание, исправленное Москва, 2018
УДК 004.2+744.4 ББК 32.971.3 Х21 Дэвид М. Харрис, Сара Л. Харрис Х21 Цифровая схемотехника и архитектура компьютера. / пер. с англ. Imagination Technologies. – М.: ДМК Пресс, 2018. – 792 с.: цв. ил. ISBN 978-5-97060-570-7 В книге представлен уникальный и современный подход к разработке цифровых устройств. Авторы начинают с цифровых логических элементов, переходят к разработке комбинационных и последовательных схем, а затем используют эти базовые блоки как основу для самого сложного: проектирования настоящего процессора MIPS. По всему тексту приводятся примеры на языках SystemVerilog и VHDL, иллюстрирующие методы и способы проектирования схем с помощью САПР. Изучив эту книгу, читатели смогут разработать свой собственный микропроцессор и получат полное понимание того, как он работает. В книге объединен привлекательный и юмористический стиль изложения с развитым и практичным подходом к разработке цифровых устройств. Во второе англоязычное издание вошли новые материалы о системах ввода/вывода применительно к процессорам общего назначения как для ПК, так и для микроконтроллеров. Приведены практические примеры интерфейсов периферийных устройств с применением RS-232, SPI, управления двигателями, прерываний, беспроводной связи и аналого-цифрового преобразования. Представлено высокоуровневое описание интерфейсов, включая USB, SDRAM, WiFi, PCI Express и другие. Издание будет полезно студентам, инженерам, а также широкому кругу читателей, интересующихся современной схемотехникой. This edition of «Digital Design and Computer Architecture by David Money Harris and Sarah L. Harris is published by arrangement with ELSEVIER INC., a Delaware corporation having its principal place of business at 360 Park Avenue South, New York, NY 10010, USA Это издание книги Дэвида Мани Харриса и Сары Л. Харрис «Цифровая схемотехника и архитектура компьютера» публикуется по соглашению с ELSEVIER INC., Делавэрской корпорацией, которая осуществляет основную деятельность по адресу 360 Park Avenue South, New York, NY 10010, USA. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-12-394424-5 (анг.) © 2013 Elsevier, Inc. All rights reserved. © Перевод, Imagination Technologies, 2016 ISBN 978-5-97060-570-7 (рус.) © Оформление, издание, ДМК Пресс, 2017
Моей семье, Дженнифер, Абрахаму, Сэмюелю и Бенджамину – DMH Ивану и Окаану, бросающим вызов логике – SLH
Оглавление Похвальные отзывы на книгу «Цифровая схемотехника и архитектура компьютера» 15 Об авторах 17 Предисловие к изданию на русском языке 18 Благодарности участникам проекта ...................................................... 22 Предисловие 24 Особенности книги ................................................................................ 24 Материалы в Интернете ...............................................................................26 Как использовать программный инструментарий в учебном курсе ...............27 Опечатки .......................................................................................................28 Признательность за поддержку ....................................................................28 Глава 1 От нуля до единицы 31 1.1. План игры ....................................................................................... 31 1.2. Искусство управления сложностью ................................................ 32 1.2.1. Абстракция ..........................................................................................33 1.2.2. Конструкторская дисциплина ..............................................................35 1.2.3. Три базовых принципа .........................................................................36 1.3. Цифровая абстракция ..................................................................... 38 1.4. Системы счисления ........................................................................ 40 1.4.1. Десятичная система счисления ...........................................................40 1.4.2. Двоичная система счисления ..............................................................41 1.4.3. Шестнадцатеричная система счисления .............................................43 1.4.4. Байт, полубайт и «весь этот джаз» ......................................................45 1.4.5. Сложение двоичных чисел ..................................................................46 1.4.6. Знак двоичных чисел ...........................................................................47 1.5. Логические элементы ..................................................................... 53 1.5.1. Логический вентиль НЕ.......................................................................53 1.5.2. Буфер ..................................................................................................54 1.5.3. Логический вентиль И .........................................................................54 1.5.4. Логический вентиль ИЛИ ...................................................................54 1.5.5. Другие логические элементы с двумя входными сигналами ................55 1.5.6. Логические элементы с количеством входов больше двух...................56 1.6. За пределами цифровой абстракции ............................................... 57 1.6.1. Напряжение питания ..........................................................................57 1.6.2. Логические уровни ..............................................................................57 1.6.3. Допускаемые уровни шумов ................................................................58 1.6.4. Передаточная характеристика.............................................................59 1.6.5. Статическая дисциплина .....................................................................60 1.7. КМОП-транзисторы ........................................................................ 62 1.7.1. Полупроводники ..................................................................................63
Оглавление 7 1.7.2. Диоды ..................................................................................................64 1.7.3. Конденсаторы ......................................................................................64 1.7.4. n-МОП- и p-МОП-транзисторы............................................................65 1.7.5. Логический вентиль НЕ на КМОП-транзисторах ................................69 1.7.6. Другие логические вентили на КМОП-транзисторах ..........................69 1.7.7. Передаточный логический вентиль .....................................................72 1.7.8. Псевдо n-МОП-логика .........................................................................72 1.8. Потребляемая мощность ................................................................. 73 1.9. Краткий обзор главы 1 и того, что нас ждет впереди ...................... 75 Упражнения .......................................................................................... 77 Вопросы для собеседования .................................................................. 89 Глава 2 Проектирование комбинационной логики 91 2.1. Введение ......................................................................................... 91 2.2. Булевы уравнения........................................................................... 95 2.2.1. Терминология ......................................................................................95 2.2.2. Дизъюнктивная форма ........................................................................96 2.2.3. Конъюнктивная форма ........................................................................98 2.3. Булева алгебра ................................................................................ 99 2.3.1. Аксиомы ............................................................................................ 100 2.3.2. Теоремы одной переменной ............................................................... 100 2.3.3. Теоремы с несколькими переменными .............................................. 102 2.3.4. Правда обо всем этом ........................................................................ 104 2.3.5. Упрощение уравнений ....................................................................... 105 2.4. От логики к логическим элементам ...............................................106 2.5. Многоуровневая комбинационная логика .....................................110 2.5.1. Минимизация аппаратуры ................................................................. 111 2.5.2. Перемещение инверсии ..................................................................... 112 2.6. Что за X и Z? ..................................................................................115 2.6.1. Недопустимое значение: Х ................................................................ 115 2.6.2. Третье состояние: Z ........................................................................... 116 2.7. Карты Карно ..................................................................................118 2.7.1. Думайте об овалах ............................................................................. 119 2.7.2. Логическая минимизация на картах Карно ........................................ 120 2.7.3. Безразличные переменные ................................................................ 124 2.7.4. Подводя итоги ................................................................................... 124 2.8. Базовые комбинационные блоки ....................................................125 2.8.1. Мультиплексоры ............................................................................... 125 2.8.2. Дешифраторы .................................................................................... 129 2.9. Временные характеристики ...........................................................131 2.9.1. Задержка распространения и задержка реакции ............................... 131 2.9.2. Импульсные помехи .......................................................................... 136 2.10. Резюме .........................................................................................139 Упражнения .........................................................................................140 Вопросы для собеседования ................................................................ 147
Оглавление 8 Глава 3 Проектирование последовательной логики 149 3.1. Введение ....................................................................................... 149 3.2. Защелки и триггеры .......................................................................150 3.2.1. RS-триггер ......................................................................................... 151 3.2.2. D-защелка .......................................................................................... 154 3.2.3. D-Триггер .......................................................................................... 155 3.2.4. Регистр .............................................................................................. 156 3.2.5. Триггер с функцией разрешения........................................................ 156 3.2.6. Триггер с функцией сброса ................................................................ 158 3.2.7. Проектирование триггеров и защелок на транзисторном уровне ...... 159 3.2.8. Общий обзор ..................................................................................... 160 3.3. Проектирование синхронных логических схем ..............................161 3.3.1. Некоторые проблемные схемы .......................................................... 161 3.3.2. Синхронные последовательные схемы .............................................. 163 3.3.3. Синхронные и асинхронные схемы .................................................... 166 3.4. Конечные автоматы .......................................................................166 3.4.1. Пример проектирования конечного автомата .................................... 167 3.4.2. Кодирование состояний ..................................................................... 173 3.4.3. Автоматы Мура и Мили .................................................................... 176 3.4.4. Декомпозиция конечных автоматов .................................................. 180 3.4.5. Восстановление конечных автоматов по электрической схеме ......... 182 3.4.6. Обзор конечных автоматов ............................................................... 185 3.5. Синхронизация последовательных схем ........................................185 3.5.1. Динамическая дисциплина ................................................................ 187 3.5.2. Временные характеристики системы................................................. 188 3.5.3. Расфазировка тактовых сигналов ...................................................... 194 3.5.4. Метастабильность ............................................................................. 197 3.5.5. Синхронизаторы ................................................................................ 199 3.5.6. Вычисление времени разрешения ..................................................... 201 3.6. Параллелизм ..................................................................................205 3.7. Резюме ...........................................................................................209 Упражнения .........................................................................................210 Вопросы для собеседования .................................................................218 Глава 4 Языки описания аппаратуры 221 4.1. Введение ........................................................................................221 4.1.1. Модули .............................................................................................. 222 4.1.2. Происхождение языков SystemVerilog и VHDL ................................ 222 4.1.3. Симуляция и Синтез .......................................................................... 224 4.2. Комбинационная логика ................................................................226 4.2.1. Битовые операторы ........................................................................... 227 4.2.2. Комментарии и пробелы .................................................................... 229 4.2.3. Операторы сокращения ..................................................................... 230 4.2.4. Условное присваивание ..................................................................... 230 4.2.5. Внутренние переменные .................................................................... 233 4.2.6. Приоритет ......................................................................................... 235 4.2.7. Числа ................................................................................................. 235
Оглавление 9 4.2.8. Z-состояние и X-состояние ................................................................ 237 4.2.9. Манипуляция битами ........................................................................ 239 4.2.10. Задержки ......................................................................................... 239 4.3. Структурное моделирование .........................................................241 4.4. Последовательная логика ............................................................. 245 4.4.1. Регистры ............................................................................................ 245 4.4.2. Регистры со сбросом .......................................................................... 245 4.4.3. Регистры с сигналом разрешения ...................................................... 248 4.4.4. Группы регистров .............................................................................. 249 4.4.5. Защелки............................................................................................. 250 4.5. И снова комбинационная логика ....................................................251 4.5.1. Операторы case ................................................................................. 254 4.5.2. Операторы if ...................................................................................... 256 4.5.3. Таблицы истинности с незначащими битами ..................................... 259 4.5.4. Блокирующие и неблокирующие присваивания ................................ 260 4.6. Конечные автоматы ...................................................................... 264 4.7. Типы данных ..................................................................................268 4.7.1. SystemVerilog .................................................................................... 268 4.7.2. VHDL................................................................................................. 269 4.8. Параметризованные модули ..........................................................272 4.9. Среда тестирования .......................................................................275 4.10. Резюме .........................................................................................280 Упражнения .........................................................................................281 Вопросы для собеседования .................................................................291 Глава 5 Цифровые функциональные узлы 293 5.1. Введение ........................................................................................293 5.2. Арифметические схемы ................................................................ 294 5.2.1. Сложение .......................................................................................... 294 5.2.2. Вычитание ......................................................................................... 302 5.2.3. Компараторы ..................................................................................... 303 5.2.4. АЛУ ................................................................................................... 304 5.2.5. Схемы сдвига и циклического сдвига................................................. 306 5.2.6. Умножение ........................................................................................ 308 5.2.7. Деление ............................................................................................. 309 5.2.8. Дополнительная литература.............................................................. 311 5.3. Представление чисел .....................................................................311 5.3.1. Числа с фиксированной точкой ......................................................... 311 5.3.2. Числа с плавающей точкой ................................................................ 312 5.4. Функциональные узлы последовательной логики ..........................317 5.4.1. Счетчики ........................................................................................... 317 5.4.2. Сдвигающие регистры ....................................................................... 318 5.5. Матрицы памяти ............................................................................321 5.5.1. Обзор ................................................................................................. 321 5.5.2. Динамическое ОЗУ (DRAM) ............................................................. 324 5.5.3. Статическое ОЗУ (SRAM) ................................................................. 325