Цифровая схемотехника и архитектура компьютера второе издание Дэвид М. Харрис и Сара Л. Харрис Издательство
Morgan Kaufman
© English Edition 2013
Спонсор перевода - Imagination Technologies www.imgtec.com
Переведено
командой из компаний и университетов России, Украины, США и Великобритании
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.
© 2013 Elsevier, Inc. All rights reserved.
ISBN 978-0-12-394424-5
Переведено командой из компаний и университетов России, Украины, США и Великобритании
Имя и фамилия
Организация
Александр Барабанов доцент Киевского КНУ
Александр Биргер на пенсии, ранее в Cadence Design
Systems
Александр Леденев
Apple, OS X
Александр Телешов
Модуль
Александра Богданова
МИФИ
Алексей Евгеньевич Платунов профессор ИТМО
Алексей Лавров аспирант Принстона
Алексей Фрунзе
Imagination Technologies
Андрей Лихолит eASIC
Андрей Терехов директор НИИ информационных технологий СПбГУ
Анна Степашкина
Самарский СГАУ
Антон Моисеев
НГТУ им Р.Е.Алексеева, ФИВТ МФТИ
Валерий Казанцев
Synopsys, процессоры ARC
Виктория Ведина
Imagination Technologies
Владимир Рытиков
Apple
Владимир Серяпов
RusBITech
Владимир Хаханов декан харьковского НУ радиоэлектроники
Григорий Жихарев
МЦСТ
Денис Хартиков
NVidia
Дмитрий Миронов
Runtime Design Automation
Екатерина Степанова
Самарский СГАУ
Иван Графский выпускник МИФИ
Имя и фамилия
Организация
Илья Александрович Кудрявцев декан Самарского СГАУ
Константин Евтушенко
Модуль
Константин Петров
НИИСИ РАН
Константин Пылаев
Компания БиДжи
Леонид Брухис
Synopsys, группа по эмуляторам
Леонид Егошин
Imagination Technologies
Линк Джепсон
Imagination Technologies
Максим Горбунов
НИИСИ РАН
Максим Матуско
МИФИ
Максим Парфенов
Marvell Semiconductor, документация
Михаил Барских
НИИСИ РАН
Нина Захарчук корректор
Павел Валерьевич Кустарев доцент ИТМО
Петр Чибисов
НИИСИ РАН
Роберт Оуэн
Imagination Technologies
Руслан Тихонов
Сергей Аряшев заведующий отделом НИИСИ РАН
Сергей Чураев
AMD, ИТМО
Симон Атанасян
Imagination Technologies
Тимур Палташев старший менеджер AMD, ИТМО
Эдуард Стародубцев доцент ИТМО
Юрий Панчул
Imagination Technologies, MIPS processors
Юрий Холопов кафедра МФТИ в ИТМиВТ
Юрий Шейнин
СПб ГУАП
ПОХВАЛЬНЫЕ ОТЗЫВЫ НА КНИГУ
ЦИФРОВАЯ СХЕМОТЕХНИКА И АРХИТЕКТУРА КОМПЬЮТЕРА
Авторы книги вывели преподавание предмета на качественно иной
уровень, создав более доступный для понимания и наглядный учебник,
чем “Устройство и проектирование компьютеров” (“Computer
Organization and Design”), и описав в нем в деталях,
как спроектировать микропроцессор архитектуры MIPS с помощью
языков SystemVerilog и VHDL. Текст окажется особенно полезным для
студентов, которые в процессе обучения столкнутся с разработкой
больших цифровых систем на современных ПЛИС.
Дэвид А. Паттерсон
, Калифорнийский Университет в Беркли
(прим. переводчика: Дэвид Паттерсон – соавтор вышеупомянутого учебника “Устройство и проектирование компьютеров”).
Книга дает свежий взгляд на старую дисциплину. Многие учебники
напоминают неухоженные заросли кустарника, но авторы данного
учебника сумели отстричь засохшие ветви, сохранив основы и
представив их в современном контексте. Эта книга поможет
студентам справиться с техническими испытаниями завтрашнего
дня.
Джим Френзел
, Университет Айдахо.
Книга написана в информативном приятном для чтения стиле.
Материал представлен на хорошем уровне для введения в
проектирование компьютеров и содержит множество полезных
диаграмм. Комбинационные схемы, микроархитектура и системы
памяти изложены особенно хорошо.
Джеймс Пинтер-Люк
, Колледж им. Дональда Маккенны, Клермонт.
Харрис и Харрис написали очень ясную и легкую для понимания книгу.
Упражнения хорошо разработаны, а примеры из реальной практики
являются замечательным дополнением. Длинные и вводящие в
заблуждение объяснения, часто встречающиеся в подобных книгах,
здесь отсутствуют. Очевидно, что авторы посвятили много
времени и усилий созданию доступного текста. Я настоятельно
рекомендую книгу.
Пейи Чжао
, Университет Чепмена.
Харрис и Харрис написали первую книгу, которая успешно совмещает
проектирование цифровых систем и архитектуру компьютеров.
Книга – долгожданное учебное пособие, в котором подробно
рассматривается проектирование цифровых систем и в
фантастических деталях объясняется архитектура MIPS.
Я настоятельно рекомендую эту книгу.
Джеймс Э. Стайн, Мл.
, Университет Оклахомы
Это великолепная книга. Авторы органично связывают все важные в
проектировании микропроцессоров элементы – транзисторы, схемы,
логические
элементы,
конечные
автоматы,
память,
арифметические блоки – и получают компьютерную архитектуру.
Этот текст является незаменимым руководством для понимания,
как последовательно разрабатывать сложные системы.
Джеха Ким
, Рамбус Инк.
Это очень хорошо написанная книга, которая будет полезна как
молодым инженерам, изучающим предмет впервые, так и опытным
инженерам, которые смогут использовать ее в качестве
справочника. Я настоятельно рекомендую ее.
А. Утку Дирил
, Корпорация Энвидиа.
Сведения об авторах Дэвид Мани Харрис (David Money Harris) – доцент в колледже им.
Харви Мадда (Harvey Mudd College). Он получил ученую степень кандидата наук по электронике в Стэнфордском университете и степень магистра по электронике и информатике в Массачусетском технологическом институте (MIT). Перед Стэнфордом он работал в компании Интел (Intel) в качестве схемотехника и разработчика логики для процессоров Итаниум и Пентиум 2 (Itanium and Pentium II).
Впоследствии он работал консультантом в Сан Майкросистемз (Sun
Microsystems), Хьюлетт-Паккард (Hewlett-Packard), Эванс энд
Сазерленд (Evans & Sutherland) и других компаниях.
Увлечения Дэвида включают в себя преподавание, разработку чипов и активный отдых на природе. В свободное от
работы время он занимается пешим туризмом, скалолазанием и альпинизмом. Особенно он любит длинные прогулки с сыном Абрахамом, который родился, когда Дэвид начал работать над этой книгой. Дэвид имеет более десяти патентов и является автором трех других учебников по проектированию чипов, а также двух путеводителей по горам Южной Калифорнии.
Сара Л. Харрис (Sarah L. Harris)
– доцент в колледже им. Харви
Мадда (Harvey Mudd College). Она получила степени магистра и кандидата наук по электронике в Стэнфордском университете и степень бакалавра по электронике и вычислительной технике в университете Брайама Янга (BrighamYoung University). Сара также работала в компаниях Хьюлетт-Паккард, Суперкомпьютерном Центре
Сан-Диего (San
Diego
Supercomputer Center), Энвидиа (Nvidia) и исследовательском отделе компании Майкрософт (Microsoft Research) в
Пекине.
Интересы Сары не ограничиваются преподаванием,изучением и разработкой новых технологий, она также любит путешествовать, увлекается виндсерфингом, скалолазанием и игрой на гитаре. Среди ее недавних начинаний можно отметить исследования в области интерфейсов, позволяющих проектировать цифровые электрические схемы простыми рисунками от руки, работу в качестве научного корреспондента для филиала Национального Общественного Радио
(National Public Radio) и обучение кайтсерфингу. Сара говорит на четырех языках и собирается изучить еще несколько в ближайшем будущем.
Моей семье, Дженнифер, Абрахаму, Сэмюелю и Бенджамину
– DMH
Ивану и Окаану, бросающим вызов логике
– SLH
Оглавление
Предисловие к изданию на русском языке .................................... xxviiГлава 1От нуля до единицы .................................................................. 2
Оглавление
xi
Оглавление
xii
Глава 2Проектирование комбинационной логики......................... 144
Оглавление
xiii
Глава 3Проектирование последовательностной логики ............. 269
Оглавление
xiv
Оглавление
xv
Глава 4Языки описания аппаратуры ............................................... 420
Оглавление
xvi
Глава 5Цифровые функциональные узлы ..................................... 596
Оглавление
xvii
Оглавление
xviii
Глава 6Архитектура ............................................................................ 734
Оглавление
xix
Оглавление
xx
Глава 7Микроархитектура ................................................................. 923
Оглавление
xxi
Глава 8Иерархия памяти и подсистема ввода-вывода ............. 1158
Оглавление
xxii
Оглавление
xxiii
Приложение AРеализация цифровых систем ........................... 1410
Оглавление
xxiv
Приложение BИнструкции архитектуры MIPS ............................ 1490Приложение CПрограммирование на языке Си ......................... 1502
Оглавление
xxv
Оглавление
xxvi
Литература для дальнейшего чтения .............................................. 1619
Предисловие к изданию на русском языкеxxvii
Предисловие к изданию на русском языке История развития вычислительной техники в СССР насчитывает практически столько же лет, как и в США, так как разработка быстродействующих компьютеров являлась неотъемлемой частью технологического соперничества двух сверхдержав. Вскоре после разработки первого американского компьютера общего назначения
ENIAC (1943-1947), в
СССР была разработана
МЭСМ
(Малая электронная счетная машина, 1947–1950), самый быстрый компьютер в континентальной Европе того времени.
С развалом СССР для вычислительной техники наступили трудные времена, когда всем новым государствам она оказалась практически не нужна. Рыночные реформаторы считали, что все проблемы можно решить закупками на мировом рынке и современная электронная промышленность является излишней обузой для страны в условиях перестройки экономики.
Компьютерная и электронная инженерия оказались невостребованными в отечественной промышленности и устойчиво деградировали с 1990-х
Предисловие к изданию на русском языке
xxviii и до середины 2000-х годов, когда руководителям страны стала очевидной невозможность решения проблем информатизации страны за счет импорта без угрозы полной потери технологического суверенитета, совмещенной с возможным подрывом национальной безопасности.
Разработка собственных архитектур электронно-вычислительных машин (ЭВМ) и микропроцессоров были практически остановлены, и немногочисленные выжившие конструкторско-технологические структуры занимались, в основном, клонированием микропроцессоров ведущих мировых производителей в пределах выделенных весьма ограниченных бюджетов. Чудесным исключением можно назвать микропроцессоры с отечественной архитектурой «Эльбрус», которые разрабатывают и развивают ОАО «ИНЭУМ им. И.С. Брука» и фирма
«МЦСТ».
Разумеется, это привело к сужению сферы применения современной компьютерной инженерии в рамках этого круга предприятий, которым были доступны лицензии на производство и соответствующие инструментальные средства. Кроме того, такое состояние сказалось на вкладе отечественной электроники в мировую индустрию. Стал актуальным вопрос: есть ли в России электроника?
Предисловие к изданию на русском языке
xxix
Если сравнивать с Россией 1913 года, то электроника в стране, безусловно, была. Но если сравнивать с мировой индустрией – то ее практически не было. Общий объем производства электроники в России в 2008 году составлял восемь миллиардов долларов (данные
Ассоциации производителей электронной продукции РФ), то есть всего
0,4% от мирового рынка, объем которого составлял более двух триллионов долларов. Население России (142 млн) составляло тогда
2,14% населения планеты, то есть уровень развития электроники был в пять раз ниже «порога самоуважения нации» (2,14/0,4 = 5,35). И это происходило при наличии кадрового корпуса инженеров и работающей высшей инженерной школе.
Начиная с середины 2000-х годов начали издаваться большие учебники по компьютерной архитектуре (архитектуре микропроцессоров), которые являлись переводами популярных американских или европейских университетских учебников. Например, издательство
«Питер» уже издало, по крайней мере, два таких учебника:
Паттерсон Д., Хеннесси Дж. Архитектура компьютера и
проектирование компьютерных систем. 4-е изд. СПб.: Питер,
2012. – ISBN 978-5-459-00291-1;
Предисловие к изданию на русском языке
xxx
Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. СПб.:
Питер, 2014. – ISBN 978-5-496-00337-7 (а также предыдущие
издания).
К общим недостаткам этих популярных книг относится их описательный характер по отношению к архитектуре микропроцессоров, также как и невозможность спроектировать и построить собственный микропроцессор, базируясь на изучении материала, представленного в этих учебниках. К недостаткам русскоязычных изданий относятся ошибки в переводе специальной терминологии и частая потеря технического смысла в предложениях, также как и относительно небольшой тираж в 2000 экземпляров, обусловленный ограничениями приобретенной издательством лицензии.
Издательство «Техносфера» при поддержке ОАО «ИНЭУМ им. И.С.
Брука» готовит перевод еще одного учебника:
Хеннесси Д.Л., Паттерсон Д. Компьютерная архитектура.
Количественный подход / перевод с англ. под ред. к.т.н. А.К. Кима.
Это хорошо известный и популярный учебник для старших курсов и магистерских программ, но он начинается именно там, где заканчивается
«Архитектура компьютера и проектирование компьютерных систем» Паттерсона и Хеннесси. Понимание и освоение
Предисловие к изданию на русском языкеxxxi материала из этого учебника практически невозможно без освоения материала из предшествующих книг.
Отечественная учебная литература по архитектурам ЭВМ и микропроцессоров представлена книгами:
Жмакин А.П. Архитектура ЭВМ. 2-е изд. СПб.: БХВ-Петербург, 2010. – ISBN 978-5-9775-0550-5;
Орлов С.А., Цилькер Б.Я. Организация ЭВМ и систем. 2-е изд. СПб.: Питер, 2011. – ISBN: 978-5-49807-862-5. Эти учебники в еще большей степени носят описательный характер способов построения различных микропроцессоров на основе зарубежных публикаций и могут рассматриваться как справочники по данному предмету, хотя содержат далеко не всю информацию об архитектурах. Они также непригодны для практической разработки и построения собственного микропроцессора и нуждаются в специальном лабораторном практикуме. Кроме этих книг, имеются многочисленные методические пособия, изданные в разных университетах, курсы и конспекты лекций по предмету, доступные через Интернет.
К сожалению, ни один из них не может использоваться в
качестве массового учебника для студентов, как младших, так и старших курсов.
Предисловие к изданию на русском языке
xxxii
Прогресс полупроводниковых технологий и инструментальных средств проектирования цифровых систем в 1990–2000-е годы вывел на первый план языки описания аппаратуры System Verilog и VHDL, которые практически вытеснили традиционное схемотехническое проектирование электронных устройств, включая блоки микропроцессоров. Создание сложных систем на кристалле, объединяющих несколько различных типов микропроцессоров, стало возможным только при использовании средств проектирования, моделирования и верификации ультра-больших интегральных схем, поставляемых фирмами Cadence, Synopsys и Mentor Graphics.
Кроме того, появились доступные по цене средства моделирования и макетирования в виде конструкторских плат, использующих FPGA (Field
Programmable
Gate
Array), называемых в
России
ПЛИС
(Программируемая логическая интегральная схема). Такие платы могут быть приобретены любым учебным центром или даже частным лицом.
Используя языки описания аппаратуры и предоставленные производителем
FPGA инструментальные средства от вышеупомянутых фирм, любой грамотный студент в состоянии самостоятельно спроектировать и построить сложную цифровую систему, включая микропроцессор.
К сожалению, массовых учебных пособий, позволяющих изучать архитектуру микропроцессоров с практическим уклоном, в том числе и
Предисловие к изданию на русском языке
xxxiii студентам младших курсов, до последнего времени просто не было.
В том числе и в США, где основным учебником оставался вышеупомянутый учебник Паттерсона и Хеннесси «Архитектура компьютера и проектирование компьютерных систем», который впервые был издан в начале 1990-х годов, когда современные инструментальные средства еще не были массово доступны.
Поэтому изданный в 2012 году во второй раз учебник Дэвида Харриса и
Сары Харрис «Digital Design and Computer Architecture» стал крайне популярным в США, включая Калифорнийский Университет в Беркли, в котором работает профессором Д. Паттерсон. С одной стороны, он базируется на классическом материале из учебника Паттерсона и
Хеннесси, с другой стороны, добавляет все уровни проектирования цифровых блоков на языках описания аппаратуры System Verilog и
VHDL, позволяющей практическую реализацию методов построения блоков микропроцессоров на платах FPGA. Кроме того, он содержит интенсивный практикум программирования на языке ассемблера популярного микропроцессора MIPS. Все детали подготовки этой книги и мотивацию вы можете прочитать в предисловии авторов к американскому изданию.
Традиционный подход к русскоязычному изданию такого учебника привел бы к аналогичным результатам, полученным издательством
«Питер» – малому тиражу и ограниченной доступности для студентов
Предисловие к изданию на русском языкеxxxiv
младших курсов и техникумов, где эта книга могла бы принести наибольшую пользу. Поэтому, для того, чтобы сделать русскоязычное издание этого учебника массово доступным, его нужно было сделать в электронной версии, загружаемой через Интернет без оплаты или за минимальную плату. Кроме того, нужно было найти спонсора, который бы оплатил стоимость лицензии у издательства Elsevier и подготовку перевода этой книги наряду с необходимой версткой и подготовкой текста к электронному изданию. Решение всех этих вопросов выглядело крайне проблематичным.
Дальнейшие события, связанные с этим проектом, можно отнести к категории мистического совпадения многих случайностей, которые предопределили дальнейшую судьбу проекта. Первым и главным фактором стала личная инициатива Юрия Панчула, разработчика микропроцессоров MIPS, инициатора перевода на русский язык второго издания учебника «Digital Design and Computer Architecture», который он активно пропагандировал в университетах США, России и Украины.
До включения компании MIPS в структуру британской корпорации
Imagination Technologies перспективы издания учебника на русском языке были достаточно призрачны ввиду отсутствия значимых бизнеспроектов MIPS в России. Поэтому вторым фактором был приход британских управленцев в подразделение MIPS в составе Imagination
Technologies, которые начали интенсивную экспансию на российский
Предисловие к изданию на русском языке
xxxv рынок при активной помощи Юрия Панчула и российской компании
«Наутех». Сложилась ситуация, когда появилась реальная необходимость в массовом учебнике, в котором в деталях рассматривается архитектура микропроцессоров MIPS и его практическое применение для построения современных систем на кристалле для растущего российского рынка.
Третьим фактором стал приход в Imagination Technologies нового менеджера по мировым образовательным программам Роберта Оуэна
(Robert Owen), который предложил спонсировать электронное издание русского перевода учебника и лицензировать право на перевод у издательства Elsevier. Главным условием являлось бесплатное распространение русскоязычной версии учебника с образовательного портала Imagination Technologies.
Четвертым фактором, сделавшим возможным успех проекта, стал энтузиазм и пассионарность русскоязычных инженеров мировой электронной индустрии как в США, так и в России, взявшихся за перевод глав и разделов учебника методом краудсорсинга при активной координации Юрия Панчула. Перевод и редактирование многих глав и разделов, а также полная верификация перевода и синхронизация технических терминов были бы невозможны без активного участия профессоров, доцентов, стажеров и аспирантов из университетов России и Украины, также присоединившихся к проекту.
Предисловие к изданию на русском языке
xxxvi
Пятым и последним фактором можно назвать активную помощь издательских структур и сотрудников Imagination Technologies и корпорации «РОСНАНО», которая также активно включилась в проект по изданию учебника в рамках поддержки развития электронной инженерии и разработки наноэлектроники в России.
Надеемся, что этот проект получит дальнейшее продолжение в виде издания бумажной версии учебника и создания портала поддержки развития электронной инженерии в странах русскоязычного мира. Такой портал необходим для консолидации учебных и научных ресурсов, которые помогут университетам и колледжам всегда «быть на острие прогресса» электронных технологий и инструментальных средств.
Предисловие к изданию на русском языкеxxxvii
БЛАГОДАРНОСТИ УЧАСТНИКАМ ПРОЕКТА Перевод второго издания учебника Дэвида Харриса и Сары Харрис
«Digital Design and Computer Architecture» на русский язык был осуществлен в рекордные сроки – всего за четыре месяца. Перевод и редактирование
выполнила команда из полусотни энтузиастов, заинтересованных в том, чтобы в русскоязычных странах (России,
Украине, Беларуси, Казахстане и других) возникла твердая основа преподавания современной цифровой электроники на основе системного подхода, с одновременным введением в разработку аппаратуры и низкоуровневого программного обеспечения.
В группу переводчиков вошли преподаватели российских и украинских университетов, сотрудники институтов Российской академии наук, инженеры ведущих российских, американских и западноевропейских компаний. Это позволило воспроизвести устойчивую терминологию, пригодную не только для этого проекта, но и для будущих книг по цифровой схемотехнике, языкам описания аппаратуры, компьютерной архитектуре и микроархитектуре, разработке систем на кристалле, использованию программируемых логических интегральных схем и микроконтроллеров.
Предисловие к изданию на русском языке
xxxviii
Инициаторами проекта выступили:
Юрий Панчул, старший инженер по разработке аппаратуры компании
Imagination
Technologies, группа разработки микропроцессора MIPS I6400;
Тимур Палташев, старший менеджер группы компьютерной графики компании Advanced Micro Devices;
Роберт Оуэн, консультант по образовательным программам, менеджер мировых образовательных программ Imagination
Technologies.
Хотелось бы особо отметить следующих участников, которые отличились объемом, скоростью и качеством перевода:
Валерий Казанцев, старший инженер по применению процессорных ядер ARC компании Synopsys, Санкт-Петербург, Россия;
Александр Барабанов, доцент кафедры компьютерной инженерии факультета радиофизики, электроники и компьютерных систем
Киевского национального университета имени Тараса Шевченко;
Группа переводчиков в
Самарском государственном аэрокосмическом университете имени академика С.П. Королёва
Предисловие к изданию на русском языке
xxxix
(СГАУ), руководитель группы – декан радиотехнического факультета
Илья Александрович Кудрявцев.
Также хотелось бы поблагодарить коллектив компании АНО «eNano», созданной Фондом инфраструктурных образовательных программ ОАО
«РОСНАНО», за высококачественную работу по форматированию и верстке книги. «eNano» организовали оперативный и слаженный процесс работы над изданием, который существенно облегчил выход книги в свет. Окончательную версию книги помог создать отдел Creative
Services компании Imagination Technologies.
31 декабря 2014 года
Тимур Палташев, Advanced Micro Devices, Sunnyvale, California, USA
Юрий Панчул, Imagination Technologies, Santa Clara, California, USA
Роберт Оуэн, Imagination Technologies, Hertfordshire, United Kingdom
От нуля до единицы
1.1 План игры 1.2 Искусство управления сложностью 1.3 Цифровая абстракция 1.4 Системы счисления 1.5 Логические элементы 1.6 За пределами цифровой абстракции 1.7 КМОП транзисторы* 1.8 Потребляемая мощность 1.9 Краткий обзор главы 1 и того, что нас Упражнения Вопросы для собеседования 1
перейти в каталог файлов