ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6680
Скачиваний: 8
648 Глава 9. Библиография
5. Slater,
Portraits in Silicon.
Почему Деннис Ритчи защитил докторскую диссертацию в Гарварде? По-
чему Стив Джобе стал вегетарианцем? Ответы на эти и другие вопросы вы
можете найти в этой увлекательной книге. Книга содержит 34 короткие био-
графии людей, которые сформировали компьютерную промышленность (от
Чарльза Бэббиджа до Дональда Кнута).
6. Stallings,
Computer Organization and Archirecture,
4th ed.
Книга по компьютерной архитектуре. В ней рассматриваются и те вопросы,
которые мы обсуждали в нашей книге.
7. Wilkes,
Computers Then and Now.
Автор книги Морис Уилкс, один из первых компьютерных разработчиков
и изобретатель микропрограммирования, излагает историю компьютеров
с 1946 по 1968 год. Он рассказывает о войне между приверженцами автома-
тического программирования («space cadets») и традиционалистами, кото-
рые предпочитали программировать в восьмеричной системе.
Организация компьютерных систем
1. Ng,
Advances in Disk Technology: Performance Issues.
В течение последних 20 лет специалисты предсказывают устаревание маг-
нитных дисков. Однако они все еще в ходу. В этой работе говорится о том,
что технологии магнитных дисков стремительно развиваются и что они
будут служить нам еще долгие годы.
2. Messmer,
The Indispensable PC Hardware Book,
3rd ed.
Толстая книга на 1384 страницы (36 глав и 13 приложений). Здесь очень
подробно описываются процессоры 80x86, память, шины, вспомогательные
микросхемы и периферийные устройства. Если вы уже прочитали книгу
Нортона и Гудмэна (см. ниже) и хотите получить более подробную инфор-
мацию, обратитесь к этой работе.
3. Norton and Goodman,
Inside the PC,
7th ed.
Большинство книг по аппаратному обеспечению написаны для инженеров-
электриков, и их сложно читать тем, кто занимается программным обеспе-
чением. Эта книга не такая. В ней просто и доступно рассказывается об ап-
паратном обеспечении персональных компьютеров. Речь идет о процессоре,
памяти, шинах, дисках, мониторах, устройствах ввода-вывода, переносных
персональных компьютерах, сетях и т. п. Очень редкая и ценная книга.
4. Pilgrim,
Build Your Own Pentium II PC.
Если вы умеете обращаться с отверткой и паяльником и хотите сконструи-
ровать свой собственный компьютер из отдельных деталей, эта книга мо-
жет вам пригодиться. Даже если вы намерены купить компьютер в магазине,
в этой книге вы можете найти полезную информацию о компонентах пер-
сонального компьютера, о том, как они работают и какие у них особеннос-
ти и дополнительные возможности.
Литература для дальнейшего чтения 649
Цифровой логический уровень
1. Floyd,
Digital Fundamentals,
6th ed.
Эта огромная иллюстрированная книга вполне подойдет для тех, кто хочет
более подробно изучить цифровой логический уровень. В ней рассказыва-
ется о комбинационных логических схемах, программируемых логических
устройствах, триггерах, сдвиговых регистрах, о памяти, интерфейсах и мно-
гом другом.
2. Katayama,
Trends in Semiconductor Memory.
Хотя память работает гораздо медленнее процессоров, полупроводниковая
память все же развивается. В этой статье рассказывается о некоторых тен-
денциях развития динамического ОЗУ.
3. Mano and Kime,
Logic and Computer Design Fundamentals.
Эта книга не обладает такой проработанностью и ясностью, как книга Флойда
(Floyd), но тоже является неплохим пособием по цифровому логическому
уровню. В ней содержится информация о комбинационных и последователь-
ных схемах, регистрах, памяти, процессорах и устройствах ввода-вывода.
4. Mazidi and Mazidi,
The 80x86 IBM PC and Compatible Computers,
2nd ed.
Книга предназначена для читателей, которые интересуются устройством всех
микросхем персонального компьютера. В книге содержатся целые главы об
основных микросхемах, а также масса прочей информации об аппаратном
обеспечении и программировании на языке ассемблера.
5. McKee et al.,
Smarter Memory: Improving Bandwidth for Streamed References.
По сравнению с процессорами память с течением десятилетий работает все
медленнее и медленнее. В этой работе рассматриваются различные вопро-
сы, связанные с производительностью памяти, а также возможности реше-
ния этой проблемы.
6. Nelson et al.,
Digital Logic and Circuit Analysis and Design.
Еще одна всеобъемлющая книга по цифровой логике. В ней подробно рас-
сказывается о последовательных и комбинационных схемах.
7. Triebel,
The 80386, 80486 and Pentium Processor.
Эта книга имеет отношение и к аппаратному, и к программному обеспече-
нию, а также к интерфейсам. В ней рассказывается все о процессорах, памя-
ти, устройствах ввода-вывода и о сопряжении микросхем компьютера 80x86,
а также о том, как их программировать на языке ассемблера. В ней всего 915
страниц, но она содержит столько же материала, как и книга Мессмера, по-
скольку страницы здесь больше по размеру.
Микроархитектурный уровень
1. Handy,
The Cache Memory Book,
2nd ed.
Вопрос разработки кэш-памяти очень важен, поэтому существуют целые
книги, посвященные этому вопросу. В этой книге обсуждаются логическая
и физическая кэш-память, размер строки, сквозная и обратная запись,
650 Глава 9. Библиография
объединенная и разделенная кэш-память, а также некоторые вопросы про-
граммного обеспечения. Целая глава посвящена когерентности кэш-памяти
в мультипроцессоре.
2. Johnson,
Superscalar Microprocessor Design.
Если вы интересуетесь подробностями разработки суперскалярных про-
цессоров, вам нужно начать именно с этой книги. В ней рассказывается о
вызове и декодировании команд, о выдаче команд с изменением последова-
тельности, переименовании регистров, резервациях, прогнозировании пере-
ходов и о многом другом.
3. Normoyle et al.
UltraSPARC Hi: Expending the Boundaries of a System on a Chip.
UltraSPARC Iii — это версия UltraSPARC II с шиной PCI. В этом труде раз-
работчики рассказывают о том, как работает эта система.
4. McChan and О' Connor,
picojava: A Direct Execution Engine for Java ByteCode.
Эта статья представляет собой краткое введение в микроархитектуру picojava
(и следовательно, микросхемы microjava 701). В ней дана блок-схема, об-
суждаются вопросы конвейеризации и рассказывается о различных спосо-
бах оптимизации.
5. Shriver and Smith,
The Anatomy of a High-Performance Microprocessor.
Эта книга хорошо подходит для детального изучения современного процес-
сора на микроархитектурном уровне. Подробно описывается микросхема
AMD Кб (клон Pentium). Рассказывается о конвейерах, планировании вы-
полнения команд и о способах повышения производительности.
6. Sima,
Superscalar Instruction Issue.
Суперскалярная подача команд чрезвычайно важна в современных про-
цессорах. В этой книге мы затронули некоторые вопросы, связанные с этим
(в частности, переименование и спекулятивное выполнение). В статье рас-
сматриваются эти и многие другие вопросы.
7. Wilson,
Challenges and Trends in Processor Design.
Неужели разработка процессоров не продвигается? Шесть ведущих разра-
ботчиков процессоров из компаний Sun, Cyrix, Motorola, Mips, Intel и Digital
рассказывают о перспективах развития процессоров в следующие несколь-
ко лет. В 2008 году читать это будет смешно, но в настоящее время ее стоит
прочитать.
Уровень команд
1. Antonakos,
The Pentium Microprocessor.
Первые девять глав этой книги посвящены тому, как программировать
Pentium на языке ассемблера. В последних двух рассказывается об аппарат-
ном обеспечении машины Pentium. Приводятся многочисленные фрагмен-
ты программ. Рассматривается базовая система ввода-вывода.
Литература для дальнейшего чтения 651
2. Paul,
SPARC Architecture, Assembly Language, Programming, and С
Удивительно, но эта книга по программированию на языке ассемблера по-
священа вовсе не серии Intel 80x86. Здесь рассказывается о компьютере
SPARC и о том, как программировать на нем.
3. Weaver and Germond,
The SPARC Architecture Manual.
В связи с интернационализацией компьютерной промышленности стан-
дарты приобретают особую важность. В этой книге дается определение
Version 9 SPARC, а также подробно рассказывается о том, что представляет
собой стандарт. В книге содержится много информации о том, как работают
64-битные процессоры SPARC.
Уровень операционной системы
1. Hart,
Win32 System Programming.
В отличие от большинства книг по Windows, эта посвящена вовсе не графи-
ческому пользовательскому интерфейсу. В ней основное внимание уделя-
ется системным вызовам Windows и тому, как они используются для доступа
к файлам, управления памятью и процессами, осуществления взаимодействия
между процессами, управления потоками, процессами ввода-вывода и т. д.
2. Jacob and Mudge,
Virtual Memory: Issues of Implementation.
Хорошая книга о современной виртуальной памяти. В ней рассказывается о
таблицах страниц и TLB на примере MIPS, Power PC и процессоров Pentium.
3. Korn,
Porting UNIX to Windows NT.
На первый взгляд может показаться, что переносить программы UNIX на
NT легко, поскольку система NT содержит очень много системных вызовов.
Однако практика показывает, что сделать это не так-то просто. Автор статьи
рассказывает, почему возникают трудности.
4. McKusick et al.,
Design and Implementation of the 4.4 BSD Operating System.
В отличие от большинства книг по UNIX, эта начинается с фотографии четы-
рех авторов на конференции USENIX Conference. Трое из них много на-
писали о пакете BSD версии 4.4 и высококвалифицированы в этом вопросе.
В книге говорится о системных вызовах, процессах, о процессе ввода-выво-
да. Целый раздел посвящен сетям.
5. Ritchie and Thompson,
The UNIX Time-Sharing System.
Это самая первая работа, посвященная системе UNIX. И тем не менее ее
стоит прочитать. Из этого маленького зернышка выросла большая операци-
онная система.
6. Solomon,
Inside Windows NT,
2nd ed.
Если вы хотите знать, как работает система NT, эта книга для вас. В ней
обсуждаются архитектура и механизмы системы, процессы, потоки, управле-
ние памятью, защита, процесс ввода-вывода, кэш-память, файловые систе-
мы и многие другие вопросы.
652 Глава 9. Библиография
7. Tanenbaum and Woodhull,
Operating Systems: Design and Implementation,
2nd ed.
Большинство книг об операционных системах касаются только теоретичес-
ких вопросов. В этой книге теория проиллюстрирована на примере реального
программного кода операционной системы MINIX, сходной с UNIX, кото-
рая работает на IBM PC и других компьютерах. Исходный код с подробны-
ми комментариями приводится в приложении.
Уровень языка ассемблера
1. Irvine,
Assembly Language for Intel-Based Computers,
3rd ed.
Тема этой книги — программирование процессоров Intel на языке ассембле-
ра. В ней также рассказывается о программировании ввода-вывода, макро-
сах, файлах, связывании, прерываниях и т. д.
2. Saloman,
Assemblers and Loaders.
Все, что вы хотели знать об однопроходных и двупроходных ассемблерах, а
также о том, как работают компоновщики и загрузчики, макросы и условная
компоновка программы.
Архитектуры компьютеров
параллельного действия
1. Adve and Gharachorloo,
Shared Memory Consistency Models: A Tutorial.
Во многих современных компьютерах, особенно мультипроцессорах, под-
держивается более слабая модель памяти, чем согласованность по последо-
вательности. В этом учебном пособии обсуждаются различные модели и
объясняется, как они работают. Здесь также приводятся и опровергаются
многочисленные мифы о слабо согласованной памяти.
2. Almasi and Gottlieb,
Highly Parallel Computing,
2nd ed.
В этой книге рассказывается о параллельной вычислительной обработке,
в том числе о сетях, архитектуре, компиляторах, моделях и приложениях.
В ней представлены проблемы аппаратного и программного обеспечения,
а также прикладные вопросы.
3. Hill, Multiprocessors Should Support Simple Memory-Consistency Models.
Слабые модели памяти — важная и спорная проблема в разработке памяти
мультипроцессора. Слабые модели допускают определенные оптимиза-
ции аппаратного обеспечения (например, совершение обращений к памяти
в другом порядке), но усложняют программирование. В этой статье автор
обсуждает различные вопросы, связанные с согласованностью памяти, и при-
ходит к выводу, что слабо согласованная память создает больше проблем,
чем преимуществ.
4. Hwang and Xu,
Scalable Parallel Computing.
Авторы рассматривают и программное, и аппаратное обеспечение, поэтому
им удалось дать всестороннее, но доступное описание параллельной вы-