ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6683
Скачиваний: 8
Краткое содержание книги 53
Чтобы разъяснить, как принципы, изложенные в этой книге, могут приме-
няться на практике, мы в качестве примеров будем использовать компьютеры
Pentium II, UltraSPARC II и picojava II. Они были выбраны по нескольким при-
чинам. Во-первых, они широко используются, и у читателя наверняка есть доступ
хотя бы к одному из них. Во-вторых, каждый из этих компьютеров обладает соб-
ственной уникальной архитектурой, что дает основу для сравнения и возможность
показать альтернативные варианты. Книги, в которых рассматривается только один
компьютер, оставляют у читателя чувство, будто это и есть единственный нормаль-
ный компьютер, что является абсурдным в свете огромного числа компромиссов
и произвольных решений, которые разработчики вынуждены принимать. Чита-
тель должен рассматривать эти и все другие компьютеры критически и постарать-
ся понять, почему дела обстоят именно таким образом и что можно было бы изме-
нить, а не просто принимать их как данность.
Нужно уяснить с самого начала, что эта книга не о том, как программ и ровать
Pentium II, UltraSPARC II и picojava II. Эти компьютеры используются только
в качестве иллюстративных примеров, и мы не претендуем на их полное описание.
Читателям, желающим ознакомиться с этими компьютерами, следует обратиться
к публикациям производителей.
Глава 2 знакомит читателей с основными компонентами компьютера: процес-
сорами, памятью, устройствами ввода-вывода. В ней дается краткое описание си-
стемной архитектуры и введение к следующим главам.
Главы 3, 4, 5 и 6 касаются каждая одного из уровней, показанных на рис. 1.2.
Мы идем снизу вверх, поскольку компьютеры разрабатывались именно таким об-
разом. Структура уровня к в значительной степени определяется особенностями
уровня к-1, поэтому очень трудно понять, как устроен определенный уровень, если
не рассмотреть подробно предыдущий, который и определил строение последую-
щего. К тому же с точки зрения обучения логичнее следовать от более простых
уровней к более сложным, а не наоборот.
Глава 3 посвящена цифровому логическому уровню, то есть аппаратному обес-
печению. В ней рассказывается, что такое вентили и как они объединяются в схе-
мы. В этой главе также вводятся основные понятия булевой алгебры, которая ис-
пользуется для обработки цифровых данных. Кроме того, объясняется, что такое
шины, причем особое внимание уделяется популярной шине PCI. В главе приво-
дится много разнообразных примеров, в том числе относящихся к трем компьюте-
рам, упомянутым выше.
Глава 4 знакомит читателя со строением микроархитектурного уровня и прин-
ципами его работы. Поскольку функцией этого уровня является интерпретация
команд второго уровня, мы сконцентрируемся именно на этом и проиллюстриру-
ем это на примерах. В этой главе также рассказывается о микроархитектурном уров-
не некоторых конкретных компьютеров.
В главе 5 обсуждается уровень архитектуры команд, который многие называют
машинным языком. Здесь мы подробно рассмотрим 3 компьютера, выбранные нами
в качестве иллюстративных примеров.
В главе 6 говорится о некоторых командах, об устройстве памяти компьютера,
о механизмах управления на уровне операционной системы. В качестве примеров
будут использованы операционные системы Windows NT, которая устанавлива-
ется на Pentium П, и UNIX, используемая на UltraSPARC П.
54 Глава 1. Предисловие
Глава 7 — об уровне языка ассемблера. Сюда относится и язык ассемблер, и про-
цесс ассемблирования. Здесь также речь пойдет о компоновке.
В главе 8 обсуждаются параллельные компьютеры, важность которых возрас-
тает с каждым днем. Одни из них действуют на основе нескольких процессоров,
которые разделяют общую память, у других общей памяти нет. Одни из них пред-
ставляют собой суперкомпьютеры, другие — сети рабочих станций Все эти разно-
видности параллельных компьютеров будут рассмотрены подробно
Глава 9 содержит список рекомендуемой литературы к каждому разделу, а так-
же алфавитный список литературы, цитируемой в этой книге.
Вопросы и задания
1. Объясните следующие термины своими словами:
1. Транслятор.
2 Интерпретатор.
3. Виртуальная машина.
2. Чем отличается интерпретация от трансляции?
3. Может ли компилятор производить данные сразу для микроархитектурно-
го уровня, минуя уровень архитектуры команд? Обоснуйте все доводы за
и против.
4. Можете ли вы представить многоуровневый компьютер, у которого уровень
внешнего устройства и цифровой логический уровень — не самые нижние
уровни? Объясните, почему.
5. Рассмотрим компьютер с идентичными интерпретаторами на первом, вто-
ром и третьем уровнях. Чтобы вызвать из памяти, определить и выполнить
одну команду, интерпретатору нужно выполнить п команд. Выполнение од-
ной команды первого уровня занимает к не.
СКОЛЬКО
времени будет зани-
мать выполнение одной команды на втором, третьем и четвертом уровнях?
6. Рассмотрим многоуровневый компьютер, в котором все уровни отличаются
друг от друга. Команды каждого уровня в m раз мощнее команд предыдуще-
го уровня, то есть одна команда уровня г может выполнять ту же работу,
которую выполняют m команд на уровне г-1. Если для выполнения про-
граммы первого уровня требуется к секунд, сколько времени будут выпол-
няться соответствующие программы на втором, третьем и четвертом уров-
нях, учитывая, что для интерпретации одной команды уровня г+1 требуется
п команд уровня г?
7. Некоторые команды уровня операционной системы идентичны командам
уровня архитектуры команд. Эти команды сразу выполняются микропро-
граммой, а не операционной системой. Учитывая ответ на предыдущий во-
прос, подумайте, зачем это нужно.
8. В каком смысле аппаратное и программное обеспечение эквивалентны?
А в каком не эквивалентны?
Вопросы и задания 55
9. Одно из следствий идеи фон Неймана хранить программу в памяти компью-
тера — возможность вносить изменения в программы. Приведите пример,
где это может быть полезно (подсказка: подумайте об арифметических опе-
рациях над массивами).
10. Работоспособность 75-й модели IBM-360 в 50 раз больше, чем у модели 30,
однако время цикла меньше всего лишь в 5 раз. Объясните, почему.
11. На рисунках 1.4 и 1.5 изображены схемы компьютерных систем. Опишите,
как происходит процесс ввода-вывода в каждой из этих систем. У какой из
них общая производительность больше?
12. В определенный момент времени диаметр транзистора на микропроцессоре
составлял один микрон. Каков будет диаметр транзистора на новой модели
в следующем году в соответствии с законом Мура?
Глава 2
Организация
компьютерных систем
Цифровой компьютер состоит из связанных между собой процессоров, памяти
и устройств ввода-вывода. Вторая глава знакомит читателя с этими компонентами
и с тем, как они взаимосвязаны. Данная информация послужит основой для под-
робного рассмотрения каждого уровня в последующих пяти главах. Процессоры,
память и устройства ввода-вывода — ключевые понятия, они будут упоминаться
при обсуждении каждого уровня, поэтому изучение компьютерной архитектуры
мы начнем с них.
Процессоры
На рис. 2.1 показано устройство обычного компьютера.
Центральный процессор
—
это мозг компьютера. Его задача — выполнять программы, находящиеся в основ-
ной памяти. Он вызывает команды из памяти, определяет их тип, а затем выпол-
няет их одну за другой. Компоненты соединены
шиной,
представляющей собой
набор параллельно связанных проводов, по которым передаются адреса, данные
и сигналы управления. Шины могут быть внешними (связывающими процессор
с памятью и устройствами ввода-вывода) и внутренними.
Процессор состоит из нескольких частей. Блок управления отвечает за вызов
команд из памяти и определение их типа. Арифметико-логическое устройство
выполняет арифметические операции (например, сложение) и логические опера-
ции (например, логическое И).
Внутри центрального процессора находится память для хранения промежуточ-
ных результатов и некоторых команд управления. Эта память состоит из несколь-
ких регистров, каждый из которых выполняет определенную функцию. Обычно
все регистры одинакового размера. Каждый регистр содержит одно число, которое
ограничивается размером регистра. Регистры считываются и записываются очень
быстро, поскольку они находятся внутри центрального процессора.
Самый важный регистр —
счетчик команд,
который указывает, какую команду
нужно выполнять дальше. Название «счетчик команд» не соответствует действитель-
ности, поскольку он ничего не считает, но этот термин употребляется повсеместно
1
.
Еще есть
регистр команд,
в котором находится команда, выполняемая в данный
Для этой же цели используется термин «указатель команд». —
Примеч. научи, ред.
Процессоры
57
момент. У большинства компьютеров имеются и другие регистры, одни из них мно-
гофункциональны, другие выполняют только какие-либо специфические функции.
Центральный процессор
Блок
управления
Арифметико-
логическое
устройство
Регистры
Устройства ввода-вывода
Основная
память
Диск
Принтер
Шина
Рис.
2 . 1 . Схема устройства компьютера с одним центральным
процессором и двумя устройствами ввода-вывода
Устройство центрального процессора
Внутреннее устройство тракта данных типичного фон-неймановского процессора
показано на рис. 2.2.
Тракт данных
состоит из регистров (обычно от 1 до 32),
АЛУ
(арифметико-логического устройства)
и нескольких соединяющих шин. Содер-
жимое регистров поступает во входные регистры АЛУ, которые на рис. 2.2 обозна-
чены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит
вычисления. Тракт данных — важная составная часть всех компьютеров, и мы об-
судим его очень подробно.
АЛУ выполняет сложение, вычитание и другие простые операции над входны-
ми данными и помещает результат в выходной регистр. Этот выходной регистр
может помещаться обратно в один из регистров. Он может быть сохранен в памя-
ти, если это необходимо. На рис. 2.2 показана операция сложения. Отметим, что
входные и выходные регистры есть не у всех компьютеров.
Большинство команд можно разделить на две группы: команды типа регистр-
память и типа регистр-регистр. Команды первого типа вызывают слова из памяти,
помещают их в регистры, где они используются в качестве входных данных АЛУ.
(«Слова» — это такие элементы данных, которые перемещаются между памятью
и регистрами
1
.) Словом может быть целое число. Устройство памяти мы обсудим
ниже в этой главе. Другие команды этого типа помещают регистры обратно в память.
На самом деле размер слова обычно соответствует разрядности регистра данных. Так, например,
у 16-битных микропроцессоров 8086 и 8088 слово было 16-битным, а у 32-битных микропроцессоров
слово имеет длину 32 бита. —
Примеч. научи, ред