Пер. с англ. Imagination Technologies. — М.: ДМК Пресс, 2018. — 792 с.: цв. ил. — ISBN: 978-5-97060-570-7.
В книге представлен уникальный и современный подход к разработке цифровых устройств. Авторы начинают с цифровых логических элементов, переходят к разработке комбинационных и последовательных схем, а затем используют эти базовые блоки как основу для самого сложного: проектирования настоящего процессора MIPS. По всему тексту приводятся примеры на языках SystemVerilog и VHDL, иллюстрирующие методы и способы проектирования схем с помощью САПР. Изучив эту книгу, читатели смогут разработать свой собственный микропроцессор и получат полное понимание того, как он работает. В книге объединен привлекательный и юмористический стиль изложения с развитым и практичным подходом к разработке цифровых устройств.
Во второе англоязычное издание вошли новые материалы о системах ввода/вывода применительно к процессорам общего назначения как для ПК, так и для микроконтроллеров. Приведены практические примеры интерфейсов периферийных устройств с применением RS-232, SPI, управления двигателями, прерываний, беспроводной связи и аналого-цифрового преобразования. Представлено высокоуровневое описание интерфейсов, включая USB, SDRAM, Wi-Fi, PCI Express и другие.
Издание будет полезно студентам, инженерам, а также широкому кругу читателей, интересующихся современной схемотехникой.
Предисловие
От нуля до единицыПлан игры
Искусство управления сложностью
Цифровая абстракция
Системы счисления
Логические элементы
За пределами цифровой абстракции
КМОП-транзисторы
Потребляемая мощность
Краткий обзор главы 1 и того, что нас ждет впереди
Проектирование комбинационной логикиВведение
Булевы уравнения
Булева алгебра
От логики к логическим элементам
Многоуровневая комбинационная логика
Что за X и Z?
Карты Карно
Базовые комбинационные блоки
Временные характеристики
Резюме
Проектирование последовательной логикиВведение
Защелки и триггеры
Проектирование синхронных логических схем
Конечные автоматы
Синхронизация последовательных схем
Параллелизм
Резюме
Языки описания аппаратурыВведение
Комбинационная логика
Структурное моделирование
Последовательная логика
И снова комбинационная логика
Конечные автоматы
Типы данных
Параметризованные модули
Среда тестирования
Резюме
Цифровые функциональные узлыВведение
Арифметические схемы
Представление чисел
Функциональные узлы последовательной логики
Матрицы памяти
Матрицы логических элементов
Резюме
АрхитектураПредисловие
Язык ассемблера
Машинный язык
Программирование
Режимы адресации
Камера, мотор! Компилируем, ассемблируем и загружаем
Добавочные сведения
Живой пример: архитектура х86
Резюме
МикроархитектураВведение
Анализ производительности
Однотактный процессор
Многотактный процессор
Конвейерный процессор
Пишем процессор на HDL
Исключения
Улучшенные микроархитектуры
Живой пример: микроархитектура x86
Резюме
Иерархия памяти и подсистема ввода‑выводаВведение
Анализ производительности систем памяти
Кэш-память
Виртуальная память
Системы ввода-вывода
Ввод-вывод во встроенных системах
Интерфейсы ввода-вывода персональных компьютеров
Живой пример: системы памяти и ввода‑вывода семейства х86
Резюме
ПриложенияРеализация цифровых системВведение
Логические микросхемы серии 74xx
Программируемая логика
Заказные специализированные интегральные схемы
Работа с документацией
Семейства логических элементов
Корпуса и монтаж интегральных схем
Линии передачи
Экономика
Инструкции архитектуры MIPS
Программирование на языке СиВведение
Добро пожаловать в язык Си
Компиляция
Переменные
Операции
Вызовы функций
Управление последовательностью выполнения действий
Другие типы данных
Стандартная библиотека языка Cи
Компилятор и опции командной строки
Типичные ошибки