ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6683

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Краткое содержание книги 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 П.


background image

54 Глава 1. Предисловие

Глава 7 — об уровне языка ассемблера. Сюда относится и язык ассемблер, и про-

цесс ассемблирования. Здесь также речь пойдет о компоновке.

В главе 8 обсуждаются параллельные компьютеры, важность которых возрас-

тает с каждым днем. Одни из них действуют на основе нескольких процессоров,
которые разделяют общую память, у других общей памяти нет. Одни из них пред-
ставляют собой суперкомпьютеры, другие — сети рабочих станций Все эти разно-
видности параллельных компьютеров будут рассмотрены подробно

Глава 9 содержит список рекомендуемой литературы к каждому разделу, а так-

же алфавитный список литературы, цитируемой в этой книге.

Вопросы и задания

1. Объясните следующие термины своими словами:

1. Транслятор.

2 Интерпретатор.

3. Виртуальная машина.

2. Чем отличается интерпретация от трансляции?
3. Может ли компилятор производить данные сразу для микроархитектурно-

го уровня, минуя уровень архитектуры команд? Обоснуйте все доводы за
и против.

4. Можете ли вы представить многоуровневый компьютер, у которого уровень

внешнего устройства и цифровой логический уровень — не самые нижние

уровни? Объясните, почему.

5. Рассмотрим компьютер с идентичными интерпретаторами на первом, вто-

ром и третьем уровнях. Чтобы вызвать из памяти, определить и выполнить

одну команду, интерпретатору нужно выполнить п команд. Выполнение од-
ной команды первого уровня занимает к не.

 СКОЛЬКО

 времени будет зани-

мать выполнение одной команды на втором, третьем и четвертом уровнях?

6. Рассмотрим многоуровневый компьютер, в котором все уровни отличаются

друг от друга. Команды каждого уровня в m раз мощнее команд предыдуще-

го уровня, то есть одна команда уровня г может выполнять ту же работу,
которую выполняют m команд на уровне г-1. Если для выполнения про-
граммы первого уровня требуется к секунд, сколько времени будут выпол-
няться соответствующие программы на втором, третьем и четвертом уров-
нях, учитывая, что для интерпретации одной команды уровня г+1 требуется
п команд уровня г?

7. Некоторые команды уровня операционной системы идентичны командам

уровня архитектуры команд. Эти команды сразу выполняются микропро-
граммой, а не операционной системой. Учитывая ответ на предыдущий во-
прос, подумайте, зачем это нужно.

8. В каком смысле аппаратное и программное обеспечение эквивалентны?

А в каком не эквивалентны?


background image

Вопросы и задания 55

9. Одно из следствий идеи фон Неймана хранить программу в памяти компью-

тера — возможность вносить изменения в программы. Приведите пример,

где это может быть полезно (подсказка: подумайте об арифметических опе-

рациях над массивами).

10. Работоспособность 75-й модели IBM-360 в 50 раз больше, чем у модели 30,

однако время цикла меньше всего лишь в 5 раз. Объясните, почему.

11. На рисунках 1.4 и 1.5 изображены схемы компьютерных систем. Опишите,

как происходит процесс ввода-вывода в каждой из этих систем. У какой из
них общая производительность больше?

12. В определенный момент времени диаметр транзистора на микропроцессоре

составлял один микрон. Каков будет диаметр транзистора на новой модели

в следующем году в соответствии с законом Мура?


background image

Глава 2

Организация

компьютерных систем

Цифровой компьютер состоит из связанных между собой процессоров, памяти

и устройств ввода-вывода. Вторая глава знакомит читателя с этими компонентами
и с тем, как они взаимосвязаны. Данная информация послужит основой для под-

робного рассмотрения каждого уровня в последующих пяти главах. Процессоры,

память и устройства ввода-вывода — ключевые понятия, они будут упоминаться
при обсуждении каждого уровня, поэтому изучение компьютерной архитектуры
мы начнем с них.

Процессоры

На рис. 2.1 показано устройство обычного компьютера.

 Центральный процессор

 —

это мозг компьютера. Его задача — выполнять программы, находящиеся в основ-

ной памяти. Он вызывает команды из памяти, определяет их тип, а затем выпол-

няет их одну за другой. Компоненты соединены

 шиной,

 представляющей собой

набор параллельно связанных проводов, по которым передаются адреса, данные
и сигналы управления. Шины могут быть внешними (связывающими процессор
с памятью и устройствами ввода-вывода) и внутренними.

Процессор состоит из нескольких частей. Блок управления отвечает за вызов

команд из памяти и определение их типа. Арифметико-логическое устройство

выполняет арифметические операции (например, сложение) и логические опера-

ции (например, логическое И).

Внутри центрального процессора находится память для хранения промежуточ-

ных результатов и некоторых команд управления. Эта память состоит из несколь-
ких регистров, каждый из которых выполняет определенную функцию. Обычно
все регистры одинакового размера. Каждый регистр содержит одно число, которое

ограничивается размером регистра. Регистры считываются и записываются очень
быстро, поскольку они находятся внутри центрального процессора.

Самый важный регистр —

 счетчик команд,

 который указывает, какую команду

нужно выполнять дальше. Название «счетчик команд» не соответствует действитель-
ности, поскольку он ничего не считает, но этот термин употребляется повсеместно

1

.

Еще есть

 регистр команд,

 в котором находится команда, выполняемая в данный

Для этой же цели используется термин «указатель команд». —

 Примеч. научи, ред.


background image

Процессоры

57

момент. У большинства компьютеров имеются и другие регистры, одни из них мно-
гофункциональны, другие выполняют только какие-либо специфические функции.

Центральный процессор

Блок

управления

Арифметико-

логическое

устройство

Регистры

Устройства ввода-вывода

Основная

память

Диск

Принтер

Шина

Рис.

  2 . 1 . Схема устройства компьютера с одним центральным

процессором и двумя устройствами ввода-вывода

Устройство центрального процессора

Внутреннее устройство тракта данных типичного фон-неймановского процессора

показано на рис. 2.2.

 Тракт данных

 состоит из регистров (обычно от 1 до 32),

 АЛУ

(арифметико-логического устройства)

 и нескольких соединяющих шин. Содер-

жимое регистров поступает во входные регистры АЛУ, которые на рис. 2.2 обозна-

чены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит
вычисления. Тракт данных — важная составная часть всех компьютеров, и мы об-

судим его очень подробно.

АЛУ выполняет сложение, вычитание и другие простые операции над входны-

ми данными и помещает результат в выходной регистр. Этот выходной регистр
может помещаться обратно в один из регистров. Он может быть сохранен в памя-

ти, если это необходимо. На рис. 2.2 показана операция сложения. Отметим, что

входные и выходные регистры есть не у всех компьютеров.

Большинство команд можно разделить на две группы: команды типа регистр-

память и типа регистр-регистр. Команды первого типа вызывают слова из памяти,
помещают их в регистры, где они используются в качестве входных данных АЛУ.
(«Слова» — это такие элементы данных, которые перемещаются между памятью
и регистрами

1

.) Словом может быть целое число. Устройство памяти мы обсудим

ниже в этой главе. Другие команды этого типа помещают регистры обратно в память.

На самом деле размер слова обычно соответствует разрядности регистра данных. Так, например,

у 16-битных микропроцессоров 8086 и 8088 слово было 16-битным, а у 32-битных микропроцессоров
слово имеет длину 32 бита. —

 Примеч. научи, ред