Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ и вычислительных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Базовые представления об архитектуре ЭВМ

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

Архитектурой компьютера считается его представление на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти и т. д. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера: процессора, оперативного запоминающего устройства (ОЗУ, ОП), внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя.

Принципы фон Неймана

В основу архитектуры большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом в отчете по ЭВМ ЕЭУАС:

  • принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд (СчАК). Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды. Если после выполнения команды следует перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду;
  • принцип однородности памяти — программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм);
  • принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.

Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Существуют и другие классы компьютеров, принципиально отличающиеся от них, — не-фон-неймановские.

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

По прошествии более 60 лет большинство компьютеров так и имеют «фон-неймановскую архитектуру», причем принципы фон Неймана реализованы в следующем виде:

  • • оперативная память (ОП) организована как совокупность машинных слов (МС) фиксированной длины или разрядности (имеется в виду количество двоичных единиц или бит, содержащихся в каждом МС). Например, ранние ПЭВМ имели разрядность 8, затем появились 16-разряд-ные, а затем — 32- и 64-разрядные машины. В свое время существовали также 45-разрядные (М-20, М-220), 35-раз-рядные (Минск-22, Минск-32) и др. машины;
  • • ОП образует единое адресное пространство, адреса МС возрастают от младших к старшим;
  • • в ОП размещаются как данные, так и программы, причем в области данных одно слово, как правило, соответствует одному числу, а в области программы — одной команде (машинной инструкции — минимальному и неделимому элементу программы);
  • • команды выполняются в естественной последовательности (по возрастанию адресов в ОП), пока не встретится команда управления (условного/безусловного перехода, или ветвления — branch), в результате которой естественная последовательность нарушится;
  • • ЦП может произвольно обращаться к любым адресам в ОП для выборки и/или записи в МС чисел или команд.

Функциональные блоки (агрегаты, устройства)

В то время как логические элементы и узлы во многом универсальны и могут использоваться в самых различных сочетаниях для решения разнообразных задач, блоки (агрегаты) ЭВМ представляют собой комплексы элементов (узлов), ориентированные на узкий круг задач (операций). Такие агрегаты, как АЛУ, процессор, банк памяти, внешние устройства (НГМД и пр.), обязательно включают в свой состав (кроме механического, оптического, электромагнитного и иного оборудования) логические элементы и узлы, используемые для хранения информации, ее обработки и управления этими процессами.

Центральное устройство (ЦУ) представляет основную компоненту ЭВМ и, в свою очередь, включает ЦП — центральный процессор (central processing unit — CPU) и ОП — оперативную (главную) память или оперативное запоминающее устройство — ОЗУ (синонимы — Main Storage, Core Storage, Random Access Memory — RAM).

Процессор непосредственно реализует операции обработки информации и управления вычислительным процессом, осуществляя выборку машинных команд и данных из оперативной памяти, их выполнение и запись результатов в ОП, включение и отключение ВУ. Основными блоками процессора являются:

  • • устройство управления (УУ) с интерфейсом процессора (системой сопряжения и связи процессора с другими узлами машины);
  • • арифметико-логическое устройство (АЛУ);
  • • процессорная память (внутренний кэш).

Оперативная память предназначена для временного хранения данных и программ в процессе выполнения вычислительных и логических операций.

Арифметико-логическое устройство (АЛУ). Arithmetic and Logical Unit (ALU) — часть процессора, выполняющая арифметические и логические операции над данными.

АЛУ реализует набор простых операций. Арифметической операцией называют процедуру обработки данных, аргументы и результат которой являются числами (сложение, вычитание, умножение, деление). Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции и, или, не). АЛУ состоит из регистров, сумматора с соответствующими логическими схемами и блока управления выполняемым процессом. Устройство работает в соответствии с сообщаемыми ему кодами операций, которые должны быть выполнены над переменными, помещаемыми в регистры.

Внешние устройства (ВУ). ВУ обеспечивают эффективное взаимодействие компьютера с окружающей средой — пользователями, объектами управления, другими машинами.

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

В универсальных ЭВМ (человеко-машинная обработка информации) в качестве ВУ выступают терминалы, принтеры и др. устройства.

Интерфейсы (каналы связи) служат для сопряжения центральных узлов машины с ее внешними устройствами.

Однотипные ЦУ и устройства хранения данных могут использоваться в различных типах машин. Известны примеры того, как фирмы, начавшие свою деятельность с производства управляющих машин, совершенствуя свою продукцию, перешли к выпуску систем, которые в зависимости от конфигурации ВУ могут исполнять роль как универсальных, так и управляющих машин (машины Hewlett-Packard — HP и Digital Equipment Corporation — DEC).

Абстрактное центральное устройство

Перечислим основные понятия и рассмотрим структуру и функции абстрактного центрального устройства ЭВМ (рис. 2.23), арифметико-логическое устройство (АЛУ) (arithmetic and logic unit — ALU) которого предназначено для обработки целых чисел и битовых строк.

Команда, инструкция (instruction) — описание операции, которую нужно выполнить. Каждая команда характеризуется форматом, который определяет ее структуру. Типичная команда содержит:

  • • код операции (КОП), характеризующий тип выполняемого действия;
  • • адресную часть (A4), которая в общем случае включает:
  • — номера (адреса) индексного (ИР) и базисного (БР) регистров;
  • — адреса операндов — Al, А2 и т. д.

Цикл процессора — период времени, за который осуществляется выполнение команды исходной программы в машинном виде; состоит из нескольких тактов.

Такт работы процессора — промежуток времени между соседними импульсами (tick of the internai clock) генератора тактовых импульсов, частота которых есть тактовая частота процессора. Такт процессора (такт синхронизации) — квант времени, в течение которого осуществляется элементарная операция — выборка, сравнение, пересылка данных.

о

Ф

Q.

СС

03

КОП

ИР

БР

Команда

Разрядность

N о.

Число-2

Число-1

Команда к+ 1 Команда к

А1

Адресная часть (адресность) /

Базисные регистры (БР1, БР2, ...)

Индексные регистры (ИР1, ИР2, ...)

Регистр результата

Регистры числа (РЧ1, РЧ2, ...)

Регистр адреса команды (РАК, СчАК)

Регистры адреса (РА1, РА2, ...)

Регистр команды (РК)

Сумматор

Устройство управления (УУ)

Рис. 2.23. Структура простейшего центрального устройства ЭВМ

Выполнение короткой команды — арифметика с ФТ (фиксированной запятой — ФЗ), логическая операция — занимает как минимум пять тактов (см. также рис. 3.1):

  • • выборка команды (Fetch);
  • • расшифровка кода операции/декодирование (instruction Decode);
  • • вычисление адреса и выборка данных из памяти (Address Generate, Load)
  • • выполнение операции (Execute);
  • • запись результата в память (write Back, store).

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

Регистры — устройства, предназначенные для временного хранения данных ограниченного размера (регистровое запоминающее устройство — РЗУ). Важной характеристикой регистра является высокая скорость приема и выдачи данных. Регистр состоит из разрядов, в которые можно быстро записывать, запоминать и считывать слово, команду, двоичное число и т. д. Обычно регистр имеет ту же разрядность, что и машинное слово.

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

Регистры общего назначения — РОН, регистры сверхоперативной памяти или регистровый файл — РФ (General Purpose Registers) — общее название для регистров, которые временно содержат данные, передаваемые в память или принимаемые из нее.

Регистр команды (РК, Instruction Register — IR) служит для размещения текущей команды, которая находится в нем в течение текущего цикла процессора.

Регистр (РАК), счетчик (СчАК) адреса команды (program counter — PC) — регистр, содержащий адрес текущей команды.

Регистр адреса (числа) — РА(Ч) — содержит адрес одного из операндов выполняемой команды (регистров может быть несколько).

Регистр числа (РЧ) содержит операнд выполняемой команды, этих регистров также несколько.

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

Сумматор — регистр, осуществляющий операции сложения (логического и арифметического двоичного) чисел или битовых строк, представленных в прямом или обратном коде. Регистр, хранящий промежуточные данные, часто именуют аккумулятором.

Существуют и другие регистры, не отмеченные на схеме, например регистр состояния — Status Register (SR) или регистр флагов. Типичным содержанием SR является информация об особых результатах завершения команды (ноль, переполнение, деление на ноль, перенос и пр.). УУ использует информацию из SR для исполнения условных переходов (например, «в случае переполнения перейти по адресу 4170»). Ниже более подробно будут рассмотрены регистры процессора 18086.

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

  • 1. В соответствии с содержимым СчАК (адрес очередной команды) УУ извлекает из ОП очередную команду и помещает ее в РК. Некоторые команды УУ обрабатывает самостоятельно, без привлечения АЛУ (например, по команде «перейти по адресу 2478» величина 2478 сразу заносится в СчАК, и процессор переходит к выполнению следующей команды.
  • 2. Осуществляется расшифровка (декодирование) команды.
  • 3. Адреса Al, А2 и пр. помещаются в регистры адреса.
  • 4. Если в команде указаны ИР или БР, то их содержимое используется для модификации РА — фактически выбираются числа или команды, смещенные в ту или иную сторону по отношению к адресу, указанному в команде.
  • 5. По значениям РА осуществляется чтение чисел (строк) и помещение их в РЧ.
  • 6. Выполнение операции и помещение результата в РР.
  • 7. Запись результата по одному из адресов (если необходимо).
  • 8. Увеличение содержимого СчАК на единицу (переход к следующей команде).

Очевидно, что за счет увеличения числа регистров возможно распараллеливание, перекрытие операций. Например, при считывании команды СчАК можно автоматически увеличить на 1, подготовив выборку следующей команды. После расшифровки текущей команды РК освобождается и в него может быть прочитана следующая команда. При выполнении операции возможна расшифровка следующей команды и т. д. Все это является предпосылкой построения так называемых конвейерных структур {pipeline). Однако все это хорошо только при последовательном (естественном) порядке выполнения команд. Появление переходов (особенно по условию, не определенному ранее) нарушает эту картину (в частности, увеличение СчАК на 1, упомянутое выше, оказывается недействительным). Поэтому современные процессоры пытаются предсказывать переходы в программе (branch prediction).

Архитектуры ЭВМ

Архитектура «звезда». Здесь процессор (ЦУ) (рис. 2.24, а) соединен непосредственно с ВУ и управляет их работой (ранние модели машин). Этот тип также именуется классическая архитектура (фон Неймана) — одно арифмети-

а

б

в

Host Bus

Процессор

Pentium

Audio

KBD

BIOS

. ТТ1

Шина ввода-вывода процессора

»—?

Кэш-

Сист.

контрол-

память

лер

L2

<-

«North

—?

Bridge»

<-?

Основная

память

Шина ISA

Мост PCI—ISA

CD-ROM

О-©-

Разъемы PCI

D

О-

НЖМД

Шина PCI

Контроллер

периферии

«South

Bridge»

Universal Serial Bus

System Management Bus

Рис. 2.24. Основные классы архитектур ЭВМ: а — централизованная; б — иерархическая; в — магистральная; г — общая структура персонального компьютера (архитектура Triton 430 TX — Northbridge/

Southbridge)

ко-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд — программа. Это однопроцессорный компьютер.

Принстонская и гарвардская архитектуры. Архитектура фон Неймана часто ассоциируется с принстонской архитектурой, которая характеризуется использованием общей оперативной памяти для хранения программ и данных.

Альтернативная — гарвардская архитектура (название связано с компьютером «Марк-1» (1950 г.), в котором использовалась отдельная память для команд) характеризуется физическим разделением памяти команд (программ) и памяти данных. Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно с чтением-записью данных при выполнении текущей команды производить выборку и декодирование следующей команды.

Гарвардская архитектура появляется в современных процессорах, когда в кэш-памяти ЦП выделяется память команд (I-Cache) и память данных (D-Cache).

Иерархическая архитектура (рис. 2.24, б) — ЦУ соединено с периферийными процессорами (вспомогательными процессорами, каналами, канальными процессорами), управляющими в свою очередь контроллерами, к которым подключены группы ВУ (системы IBM 360-375, ЕС ЭВМ);

Магистральная структура (общая шина — unibas, рис. 2.24, в). Процессор (процессоры) и блоки памяти (ОП) взаимодействуют между собой и с ВУ (контроллерами ВУ) через внутренний канал, общий для всех устройств (машины DEC, IBM РС-со-вместимые ПЭВМ). Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность линий магистрали разделяется на отдельные группы — шину адреса, шину данных и шину управления.

К этому типу архитектуры относится также архитектура персонального компьютера (ПК). Конечно, реальная структура ПК (рис. 2.24, г) отличается от теоретических схем — в ней используется несколько разновидностей шинных интерфейсов, которые соединяются между собой мостами — контроллерами памяти (Northbridge) и периферийных устройств (Southbridge).

 
<<   СОДЕРЖАНИЕ   >>