Понедельник , Ноябрь 18 2019
Главная / Студентам / ААС / Лекция 7. Архитектура и структура вычислительных машин и систем

Лекция 7. Архитектура и структура вычислительных машин и систем

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

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

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

Принципы (архитектура) фон Неймана

В основу построения большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.

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

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

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

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

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

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

Логические узлы (агрегаты) ЭВМ, простейшие типы архитектур

Центральное устройство. ЦУ представляет основную компоненту ЭВМ и, в свою очередь, включает ЦП – Центральный процессор (central processing unit – CPU) и ОП – оперативную (главную) память (main storage, core storage, random access memory – RAM).

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

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

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

ЦУ описывается следующими характеристиками:

  • длина машинного слова (разрядность, адресность);
  • система команд;
  • объем ОП;
  • быстродействие (тактовая частота процессора, цикл записи/считывания ОП).

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

  • интерактивные устройства (ввода/вывода);
  • устройства хранения (массовые накопители);
  • устройства массового ввода информации;
  • устройства массового вывода информации.

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

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

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

Если абстрагироваться от подробностей, то основные классические типы архитектур можно определить как следующие: «звезда», иерархическая, магистральная.

Архитектура «звезда». Здесь ЦУсоединено непосредственно с ВУ и управляет их работой (ранние модели машин).

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

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

  • центральный процессор (ЦП), включающий АЛУ и УУ;
  • запоминающие устройства – память, в том числе оперативная (ОП) и внешние ЗУ;
  • устройства ввода и устройства вывода информации – внешние (периферийные) устройства (ВУ).

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

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

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

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

Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры – устройства управления периферийными устройствами.

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

Все перечисленные архитектурные элементы ЭВМ базируются на следующих схемных элементах и базовых узлах):

  1. память обычно использует возможности и свойства триггера или его аналогов;
  2. счетчик (регистр) адреса команд, очевидно, есть схемный узел «счетчик»;
  3. сумматор – или полный сумматор, или полусумматор;
  4. дешифратор (например, команд) тоже здесь присутствует.

7.2 Процессор, структура и функционирование

В большинстве машин реализованы принципы фон Неймана в следующем виде:

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

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

АЛУ которого предназначено для обработки целых чисел и битовых строк (рис. 12).

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

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

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

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

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

Выполнение короткой команды (арифметика с фиксированной точкой, логические операции), о которых речь здесь и пойдет, обычно занимает пять тактов:

  • выборка команды;
  • расшифровка кода операции (декодирование);
  • генерация адреса и выборка данных из памяти;
  • выполнение операции;
  • запись результата в память.

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

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

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

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

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

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

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

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

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

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

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

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

1.         В соответствии с содержимым СчАК (адрес очередной команды) УУ извлекает из ОП очередную команду и помещает ее в РК.

Некоторые команды УУ обрабатывает самостоятельно, без привлечения АЛУ (например, по команде «перейти по адресу 2478», величина 2478 сразу заносится в СЧАК и процессор переходит к выполнению следующей команды.

Типичная команда содержит:

  • код операции (КОП) – характеризующий тип выполняемого действия (сложение, вычитание и пр. чисел; сравнение строк; передача управления, обращение к ВУ и пр.);
  • номера индексного (ИР) и базисного (БР) регистров (в некоторых машинах – адреса слов, ячеек ОП, в которых размещена соответствующая информация);
  • адреса операндов Al, A2 и т. д., участвующих в выполнении команды (чисел, строк, других команд программы).
  • Осуществляется расшифровка (декодирование) команды.
  • Адреса Al, A2 и пр. помещаются в регистры адреса.
  • Если в команде указаны ИР или БР, то их содержимое используется для модификации РА – фактически выбираются числа или команды, смещенные в ту или иную сторону по отношению к адресу, указанному в команде.

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

  • По значениям РА осуществляется чтение чисел (строк) и помещение их в РЧ.
  • Выполнение операции (арифметической, логической и пр.) и помещение результата в PP.
  • Запись результата по одному из адресов (если необходимо).
  • Увеличение содержимого СчАК на единицу (переход к следующей команде).

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