- •Э. Таненбаум
- •Глава 2. Организация компьютерных систем 56
- •Глава 3. Цифровой логический уровень 139
- •Глава 4. Микроархитектурный уровень 230
- •Глава 5. Уровень архитектуры команд 334
- •Глава 6. Уровень операционной системы 437
- •Глава 7. Уровень языка ассемблера 517
- •Глава 8. Архитектуры компьютеров параллельного
- •Глава 9. Библиография 647
- •Глава 8 (архитектура компьютеров параллельного действия) полностью изменена. В ней подробно описываются мультипроцессоры (uma, numa и сома) и мультикомпьютеры (мрр и cow).
- •Глава 1
- •Глава 2 знакомит читателей с основными компонентами компьютера: процессорами, памятью, устройствами ввода-вывода. В ней дается краткое описание системной архитектуры и введение к следующим главам.
- •Глава 2
- •Центральный процессор Центральный процессор
- •12 Битов б
- •24 Входные линии
- •50 Входных линий
- •Глава 4
- •Старший бит
- •Блок выборки команд
- •Сигналы управления
- •Глава 5
- •Intel ia-64
- •Глава 6
- •Глава 7
- •3. Сведения о том, можно ли получить доступ к символу извне процедуры.
- •Глава 8
- •64 Элемента на каждый регистр
- •Intel/Sandia Option Red
- •00 Процессор 2
- •Глава 9
- •4. Mazidi and Mazidi, The 80x86ibm pc and Compatible Computers, 2nd ed.
- •5. McKee et al., Smarter Memory: ImprovingBandwidthforStreamed References.
- •4. McKusick et al., Design and Implementation ofthe 4.4bsd Operating System.
- •3. Hill, Multiprocessors Should Support Simple Memory-Consistency Models.
- •Ieee Scalable Coherent Interface Working Group, ieee, 1989.
- •Ieee Micro Magazine, vol. 18, p. 60-75, July/Aug. 1998b.
- •3Rd ed., Reading, ma: Addison-Wesley, 1998.
- •1988 Int'l. Conf. On Parallel Proc. (Vol. 11), ieee, p. 94-101, 1988.
- •Implementation of the 4.4 bsd Operating System», Reading, ma: Addison-Wesley, 1996.
- •In Shared Memory Multiprocessing», ieee Computer Magazine, vol. 30, p. 4450, Dec. 1997.
- •78Jan.-March 1999.
- •0 123456789Abcdef
- •I и Ijmii him
- •Э. Таненбаум
Глава 2 знакомит читателей с основными компонентами компьютера: процессорами, памятью, устройствами ввода-вывода. В ней дается краткое описание системной архитектуры и введение к следующим главам.
Главы 3, 4, 5 и 6 касаются каждая одного из уровней, показанных на рис. 1.2. Мы идем снизу вверх, поскольку компьютеры разрабатывались именно таким образом. Структура уровня к в значительной степени определяется особенностями уровня к-1, поэтому очень трудно понять, как устроен определенный уровень, если
не рассмотреть подробно предыдущий, который и определил строение последующего. К тому же с точки зрения обучения логичнее следовать от более простых уровней к более сложным, а не наоборот.
Глава 3 посвящена цифровому логическому уровню, то есть аппаратному обеспечению. В ней рассказывается, что такое вентили и как они объединяются в схемы. В этой главе также вводятся основные понятия булевой алгебры, которая используется для обработки цифровых данных. Кроме того, объясняется, что такое
шины, причем особое внимание уделяется популярной шине PCI. В главе приводится много разнообразных примеров, в том числе относящихся к трем компьютерам, упомянутым выше.
Глава 4 знакомит читателя со строением микроархитектурного уровня и принципами его работы. Поскольку функцией этого уровня является интерпретация команд второго уровня, мы сконцентрируемся именно на этом и проиллюстрируем это на примерах. В этой главе также рассказывается о микроархитектурном уровне некоторых конкретных компьютеров.
В главе 5 обсуждается уровень архитектуры команд, который многие называют машинным языком. Здесь мы подробно рассмотрим 3 компьютера, выбранные нами в качестве иллюстративных примеров.
В главе 6 говорится о некоторых командах, об устройстве памяти компьютера, о механизмах управления на уровне операционной системы. В качестве примеров будут использованы операционные системы Windows NT, которая устанавливается на Pentium П, и UNIX, используемая на UltraSPARC П.
Глава 7 — об уровне языка ассемблера. Сюда относится и язык ассемблер, и процесс ассемблирования. Здесь также речь пойдет о компоновке.
В главе 8 обсуждаются параллельные компьютеры, важность которых возрастает с каждым днем. Одни из них действуют на основе нескольких процессоров, которые разделяют общую память, у других общей памяти нет. Одни из них представляют собой суперкомпьютеры, другие — сети рабочих станций Все эти разновидности параллельных компьютеров будут рассмотрены подробно
Глава 9 содержит список рекомендуемой литературы к каждому разделу, а также алфавитный список литературы, цитируемой в этой книге.
Вопросы и задания
1. Объясните следующие термины своими словами:
1. Транслятор. 2 Интерпретатор. 3. Виртуальная машина.
Чем отличается интерпретация от трансляции?
Может ли компилятор производить данные сразу для микроархитектурного уровня, минуя уровень архитектуры команд? Обоснуйте все доводы за и против.
4. Можете ли вы представить многоуровневый компьютер, у которого уровень
внешнего устройства и цифровой логический уровень — не самые нижние уровни? Объясните, почему.
5. Рассмотрим компьютер с идентичными интерпретаторами на первом, вто- ром и третьем уровнях. Чтобы вызвать из памяти, определить и выполнить одну команду, интерпретатору нужно выполнить п команд. Выполнение од- ной команды первого уровня занимает к не. СКОЛЬКО времени будет зани- мать выполнение одной команды на втором, третьем и четвертом уровнях?
6. Рассмотрим многоуровневый компьютер, в котором все уровни отличаются
друг от друга. Команды каждого уровня в m раз мощнее команд предыдущего уровня, то есть одна команда уровня г может выполнять ту же работу, которую выполняют m команд на уровне г-1. Если для выполнения программы первого уровня требуется к секунд, сколько времени будут выполняться соответствующие программы на втором, третьем и четвертом уровнях, учитывая, что для интерпретации одной команды уровня г+1 требуется п команд уровня г?
7. Некоторые команды уровня операционной системы идентичны командам уровня архитектуры команд. Эти команды сразу выполняются микропро- граммой, а не операционной системой. Учитывая ответ на предыдущий во- прос, подумайте, зачем это нужно.
8. В каком смысле аппаратное и программное обеспечение эквивалентны?
А в каком не эквивалентны?
9. Одно из следствий идеи фон Неймана хранить программу в памяти компьютера — возможность вносить изменения в программы. Приведите пример,
где это может быть полезно (подсказка: подумайте об арифметических операциях над массивами).
Работоспособность 75-й модели IBM-360 в 50 раз больше, чем у модели 30, однако время цикла меньше всего лишь в 5 раз. Объясните, почему.
На рисунках 1.4 и 1.5 изображены схемы компьютерньгх систем. Опишите, как происходит процесс ввода-вывода в каждой из этих систем. У какой из них общая производительность больше?
В определенный момент времени диаметр транзистора на микропроцессоре составлял один микрон. Каков будет диаметр транзистора на новой модели в следующем году в соответствии с законом Мура?