Читать «Архитектура компьютера» онлайн - страница 138

Эндрю Таненбаум

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

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

Время доступа к вспомогательной памяти, напротив, гораздо больше (от нескольких миллисекунд и выше) и зависит от расположения считываемых и записываемых данных. Наиболее распространенные виды вспомогательной памяти — магнитные ленты, магнитные диски, оптические диски. Магнитные диски существуют в нескольких вариантах: дискеты, винчестеры, IDE-диски, SCSI-диски и RAID-массивы. Среди оптических дисков можно назвать диски CD-ROM, CD-R, DVD и Blu-ray.

Устройства ввода-вывода используются для передачи информации в компьютер и из компьютера. Они связаны с процессором и памятью одной или несколькими шинами. В качестве примеров можно назвать терминалы, мыши, принтеры и модемы. Большинство устройств ввода-вывода используют код ASCII, хотя Unicode уже стремительно распространяется по всему миру, а UTF-8 получает все большее распространение по мере того, как компьютерная отрасль все больше ориентируется на Web.

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

1. Рассмотрим машину с трактом данных, который изображен на рис. 2.2. Предположим, что загрузка регистров АЛУ занимает 5 нс, работа АЛУ — 10 нс, а помещение результата обратно в регистр — 5 нс. Сколько миллионов команд в секунду максимум способна выполнять эта машина при отсутствии конвейера?

2. Зачем нужен шаг 2 в списке шагов, приведенном в подразделе «Выполнение команд» раздела «Процессоры»? Что произойдет, если этот шаг пропустить?

3. На компьютере 1 выполнение каждой команды занимает 10 нс, а на компьютере 2 — 5 нс. Можете ли вы с уверенностью сказать, что компьютер 2 работает быстрее? Аргументируйте ответ.