Архитектура ЭВМ
К понятию архитектуры ЭВМ относят следующие основы построения ЭВМ: совокупность основных устройств, узлов и блоков; структура основных управляющих и информационных связей между ними; система команд; способы обращения к памяти и внешним устройствам; форматы данных; организация интерфейса.
Для изучения принципа работы каждого узла и компьютера в целом вводятся различные уровни его представления (по степени обобщения). Набор блоков, связей между ними, типов данных и операций каждого уровня называется архитектурой уровня.
Цифровой логический уровень – самый низкий, детальный уровень логических схем базовой системы элементов – инверторы, сумматоры, триггеры и др.
Микроархитектурный уровень – уровень организации обработки информации внутри функционального узла. Сюда относятся регистры различного назначения, устройство обработки поступающих команд, устройство преобразования данных, устройство управления.
Командный уровень – набор функциональных узлов и связей между ними, система команд и данных, передаваемых между устройствами. Именно архитектура командного уровня и называется обычно компьютерной архитектурой или компьютерной организацией. Основателем архитектуры большинства современных компьютеров является американский математик
Принцип использования двоичной системы обеспечивает простоту технической реализации.
Принцип хранимой программы совмещает в себе идеи программного управления (программа – последовательность команд), однородности памяти (в одной и той же памяти хранятся и программа, и данные) и адресности (ячейки памяти пронумерованы, по этим номерам-адресам происходит обращение к содержимому).
Принцип логического устройства ЭВМ определяет структуру, состоящую из следующих основных блоков: арифметико-логическое устройство (АЛУ), производящее все вычисления; устройство управления (УУ), координирующее взаимодействие различных блоков ЭВМ; запоминающее устройство для хранения информации; устройство ввода-вывода информации. Один из вариантов фон-неймановской архитектуры представлен на рисунке 4.1.
Рис. 4.1. Архитектура фон-неймановской ЭВМ
Программа, т.е. совокупность машинных команд, записывается в память ОЗУ в соседние ячейки по возрастанию их адресов, а данные, которые требуют обработки, – в ячейки с произвольными адресами. Каждая команда содержит код операции, которую необходимо выполнить, и адреса ячеек, в которых находятся данные, обрабатываемые этой командой. Устройство управления содержит специальный регистр, который называется «Счётчик команд». После загрузки программы и данных в память в счётчик команд записывается адрес первой команды программы. Устройство управления считывает из памяти содержимое ячейки памяти, адрес которой находится в счётчике команд, и помещает его в специальное устройство – «Регистр команд». Регистр команд хранит команду во время её исполнения. Устройство управления расшифровывает тип операции команды, считывает из памяти данные, адреса которых указаны в команде, и приступает к её выполнению. Для каждой команды устройство управления имеет свой алгоритм обработки, который заключается в выработке управляющих сигналов для всех остальных устройств машины.
Первые поколения ЭВМ не имели возможности подключения дополнительных функциональных блоков и устройств, не предусмотренных разработчиком. Это так называемая закрытая архитектура, т.е. с фиксированный набор устройств. В начале 1970-х гг. фирмой DEC (Digital Equipment Corporation) был создан компьютер с общей шиной, реализующей принцип открытой архитектуры и дающей возможность подключения любых устройств в соответствии со стандартом шины. Шина (совокупность линий передачи сигналов) подразделяется на шину данных, шину адреса и шину управления. Для согласования сигналов внешних устройств с шиной подключение осуществляется через специальные устройства – контроллеры или адаптеры (рис. 4.2). Контроллер, по сути, является специализированным процессором, управляющим работой внешнего устройства по встроенной программе. Организация взаимодействия между внешним устройством и процессором осуществляется через аппаратный или программный порт ввода-вывода – канал передачи данных, представляемый как один или несколько адресов памяти, из которых можно прочитать или в которые можно записать данные.
Рис. 4.2. Архитектура ЭВМ с общей шиной
Достоинством архитектуры с общей шиной является возможность дополнять ЭВМ новыми элементами в зависимости от конкретных целей и задач и заменять устаревшие блоки. Недостатком является задержка «быстрых» устройств при работе «медленных». Дальнейшее повышение производительности компьютера было найдено во введении дополнительного контроллера и локальной шины, к которой подключались только «быстрые» устройства.
Для получения высокого быстродействия на существующей элементной базе используются архитектуры, в которых процесс обработки распараллеливается и выполняется одновременно на нескольких обрабатывающих устройствах. Существует три основных подхода к построению архитектур таких компьютеров: многопроцессорные, магистральные и матричные архитектуры.
Архитектура самых простых многопроцессорных систем выполняется по схеме с общей шиной. Несколько процессоров и общая память подключаются к общей шине. Каждый процессор при необходимости проверяет, свободна ли шина, и, если она свободна, занимает её. Если шина занята, процессор ждёт, пока она освободится. При увеличении числа процессоров производительность системы ограничивается пропускной способностью шины. Для снижения нагрузки на общую шину каждый процессор дополнительно снабжается собственной локальной памятью. Один из процессоров выделяется для управления всей системой. Он распределяет задания на исполнение программ между процессорами и управляет работой общей шины. Для выполнения операций управления внешними устройствами в этой и других архитектурах обычно устанавливается специализированный периферийный процессор.
Магистральный принцип является наиболее распространённым при построении высокопроизводительных вычислительных систем. Процессор такой системы состоит из быстрой регистровой памяти для хранения обрабатываемых данных и нескольких функциональных обрабатывающих устройств, каждое выполняет только один вид вычислительных операций (сложение, умножение, деление, сдвиг и т.д.). Данные, считанные из памяти, размещаются в регистрах. Устройство планирования последовательности выполнения команд направляет данные, хранящиеся в регистрах, на соответствующие функциональные устройства. Полученные результаты снова записываются в регистры и служат исходными данными для дальнейших вычислений. Конечные результаты вычислений записываются в общее запоминающее устройство. Таким образом, получается конвейер преобразования данных: регистры – обрабатывающие устройства – регистры и т.д.
Матричная архитектура вычислительной системы является наиболее сложной. В ней процессоры объединяются в матрицу процессорных элементов. Каждый процессорный элемент снабжён локальной памятью, хранящей обрабатываемые процессором данные. Процессорные элементы могут производить обмен или со своими соседями, или с общим запоминающим устройством. В качестве процессорных элементов могут использоваться универсальные процессоры, имеющие собственные устройства управления, или вычислители, содержащие только АЛУ и выполняющие команды внешнего устройства управления. В первом случае, программы и данные нескольких задач или независимых частей одной задачи загружаются в локальную память процессоров и выполняются параллельно. Во втором случае все процессорные элементы одновременно выполняют одну и ту же команду, поступающую от устройства обработки команд на все процессорные элементы, но над разными данными, хранящимися в локальной памяти каждого процессорного элемента. Обмен данными с периферийными устройствами выполняется через периферийный процессор, подключённый к общему запоминающему устройству.