Тема 2.2. Принципы организации ЭВМ
Базовые
представления об архитектуре ЭВМ. Принципы фон Неймана. Простейшие типы
архитектур. Принцип открытой
архитектуры. Магистрально-модульный принцип организации ЭВМ. Классификация
параллельных компьютеров. Классификация архитектур вычислительных систем:
классическая архитектура, классификация Флина.
Архитектурой компьютера
считается его представление на некотором общем уровне, включающее описание
пользовательских возможностей программирования, системы команд, системы
адресации, организации памяти и т. д. Архитектура определяет принципы
действия, информационные связи и взаимное соединение основных устройств
компьютера: процессора, основной памяти (ОП), внешних запоминающих
устройств (ВЗУ) и периферийных устройств (ПУ). Совокупность процессора и
основной памяти называют центральным устройством (ЦУ) компьютера. Общность
архитектуры разных компьютеров обеспечивает их совместимость с точки зрения
пользователя.
Структура компьютера
— это совокупность его функциональных элементов и связей между ними.
Элементами могут быть самые различные устройства — от основных устройств
компьютера до простейших схем. Структура компьютера графически
представляется в виде структурных схем, с помощью которых можно дать
описание компьютера на любом уровне детализации.
В
настоящее время в зависимости от организации ЦУ различают два вида архитектур
ЭВМ:
1
Архитектура фон Неймана.
2
Гарвардская архитектура.
Принципы
(архитектура) фон Неймана
В
основу построения большинства компьютеров положены следующие общие
принципы, сформулированные в 1945 г. американским ученым Джоном фон
Нейманом.
1.
Принцип программного управления. Из него следует, что программа
состоит из набора команд, которые выполняются процессором автоматически
друг за другом в определенной последовательности.
Выборка
команд программы из памяти осуществляется с помощью счетчика
команд. Этот узел процессора последовательно увеличивает хранимый в
нем адрес очередной команды на длину команды. Так как команды программы
расположены в памяти друг за другом, то тем самым организуется выборка
цепочки команд из последовательно расположенных ячеек
памяти.
Если
после выполнения команды следует перейти не к следующей, а к какой-то
другой, используются команды условного или безусловного переходов
(ветвления), которые заносят в счетчик команд номер ячейки памяти,
содержащей следующую команду. Выборка команд программы из памяти прекращается
после достижения и выполнения команды «стоп».
Таким
образом, процессор исполняет программу автоматически, без вмешательства
человека.
2.
Принцип однородности памяти. Программы и данные хранятся в одной и той же
памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти —
число, текст или команда. Над командами можно выполнять такие же действия, как и
над данными. Это открывает целый ряд возможностей. Например, программа в
процессе своего выполнения также может подвергаться переработке, что
позволяет задавать в самой программе правила получения некоторых ее частей.
Более того, команды одной программы могут быть получены как результаты
исполнения другой программы. На этом принципе основаны методы трансляции
—перевода текста программы с языка программирования высокого уровня на язык
конкретной машины.
3.Принцип
адресности. Структурно основная память состоит из перенумерованных ячеек;
процессору в произвольный момент времени доступна любая ячейка. Отсюда
следует возможность давать имена областям памяти, так, чтобы к запомненным в них
значениям можно было впоследствии обращаться в процессе выполнения программ
с использованием присвоенных имен.
Гарвардская
архитектура.
Отличается
от архитектуры фон Неймана разбивкой основной памяти на две части: памяти
программ и памяти данных. Используется в
микроконтроллерах.
Структурные
схемы современных ЭВМ
Если
абстрагироваться от подробностей, то современные ЭВМ можно разделить на два
типа:
1.
Большие (универсальные) ЭВМ.
2
.Персональные компьютеры.
Собственно
обработка данных производится процессором, содержащим арифметико-логическое
устройство (АЛУ) и устройство управления (УУ). В этих ЭВМ возникает проблема
организации взаимодействия быстродействующего процессора с большим числом
сравнительно медленно действующих периферийных устройств. Данная проблема
решается при помощи специализированных процессоров ввода-вывода (каналов
ввода-вывода), которые подразделяются на два вида:
1.
Мультиплексные каналы.
2.
Селекторные каналы.
Мультиплексный
канал обслуживает несколько одновременно работающих с небольшой скоростью ПУ
(печать, сканер и т.д.)
Селекторный
канал связывает процессор и память с ПУ, работающими с высокой скоростью
передачи данных (магнитные диски, магнитные барабаны и т.д.), разрешая
одновременную работу только одному ПУ.
В
этих компьютерах процессор (процессоры) и блоки памяти (ОП) взаимодействуют
между собой и с внешними устройствами (ВнУ) через внутренний канал,
называемой также системной магистралью, общий для всех
устройств.
Физически магистраль представляет
собой многопроводную линию с гнездами для подключения электронных схем.
Совокупность проводов магистрали разделяется на отдельные группы: шину
адреса, шину данных и шину управления.
Периферийные
устройства подключаются к аппаратуре компьютера через
специальные контроллеры, которые освобождают процессор от
непосредственного управления функционированием данного
оборудования.
Принципы
фон Неймана
1.
Использование двоичной системы счисления в вычислительных машинах. Преимущество
перед десятичной системой счисления заключается в том, что устройства можно
делать достаточно простыми, арифметические и логические операции в двоичной
системе счисления также выполняются достаточно просто.
2.
Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из
набора команд. Команды выполняются последовательно друг за другом. Созданием
машины с хранимой в памяти программой было положено начало тому, что мы сегодня
называем программированием.
3.
Память компьютера используется не только для хранения данных, но и программ. При
этом и команды программы и данные кодируются в двоичной системе счисления, т.е.
их способ записи одинаков. Поэтому в определенных ситуациях над командами можно
выполнять те же действия, что и над данными.
4.
Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой
момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл
возможность использовать переменные в программировании.
5.
Возможность условного перехода в процессе выполнения программы. Не смотря на то,
что команды выполняются последовательно, в программах можно реализовать
возможность перехода к любому участку кода.
Самым
главным следствием этих принципов можно назвать то, что теперь программа уже не
была постоянной частью машины (как например, у калькулятора). Программу стало
возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и
очень простой.
Как
взаимодействуют между собой устройства, представляющие основные логические
компоненты ЭВМ, определяется типом архитектуры. Основные классические типы
архитектур:
·
магистральная,
·
«звезда»,
·
иерархическая.
Классическая
архитектура (архитектура фон Неймана) — одно арифметико-логическое устройство
(АЛУ), через которое проходит поток данных, и одно устройство управления (УУ),
через которое проходит поток команд — программа. Это однопроцессорный
компьютер.
К
этому типу архитектуры относится и архитектура персонального компьютера с общей
шиной. Все функциональные блоки здесь связаны между собой общей шиной,
называемой также системной магистралью.
Архитектура
типа «звезда» предполагает, что ЦП соединяется непосредственно с внешними
устройствами и управляет их работой. Каждое устройство может связываться с любым
другим. Этот способ применялся в двух первых поколениях машин, но с возрастанием
числа устройств машины такую организацию становится очень сложно
реализовать
В
настоящее время используется иерархическая архитектура: ЦП соединен с
периферийными процессорами, управляющими другими периферийными процессорами или
внешними устройствами.
Под
архитектурой компьютера понимается его логическая организация, структура,
ресурсы, т. е. средства вычислительной системы. Архитектура современных ПК
основана на магистрально-модульном принципе.
Модульный
принцип позволяет потребителю самому подобрать нужную ему конфигурацию
компьютера и производить при необходимости его модернизацию. Модульная
организация системы опирается на магистральный (шинный) принцип обмена
информации. Магистраль или системная шина - это набор электронных линий,
связывающих воедино по адресации памяти, передачи данных и служебных сигналов
процессор, память и периферийные устройства.
Обмен
информацией между отдельными устройствами ЭВМ производится по трем
многоразрядным шинам, соединяющим все модули, - шине данных, шине адресов и шине
управления.
Подключение
отдельных модулей компьютера к магистрали на физическом уровне осуществляется с
помощью контроллеров, а на программном обеспечивается драйверами. Контроллер
принимает сигнал от процессора и дешифрует его, чтобы соответствующее устройство
смогло принять этот сигнал и отреагировать на него. За реакцию устройства
процессор не отвечает - это функция контроллера. Поэтому внешние устройства ЭВМ
заменяемы, и набор таких модулей произволен.
Разрядность
шины данных задается разрядностью процессора, т. е. количеством двоичных
разрядов, которые процессор обрабатывает за один такт.
Данные
по шине данных могут передаваться как от процессора к какому-либо устройству,
так и в обратную сторону, т. е. шина данных является двунаправленной. К основным
режимам работы процессора с использованием шины передачи данных можно отнести
следующие: запись/чтение данных из оперативной памяти и из внешних запоминающих
устройств, чтение данных с устройств ввода, пересылка данных на устройства
вывода.
Выбор
абонента по обмену данными производит процессор, который формирует код адреса
данного устройства, а для ОЗУ - код адреса ячейки памяти. Код адреса передается
по адресной шине, причем сигналы передаются в одном направлении, от процессора к
устройствам, т. е. эта шина является однонаправленной.
По
шине управления передаются сигналы, определяющие характер обмена информацией, и
сигналы, синхронизирующие взаимодействие устройств, участвующих в обмене
информацией.
Внешние
устройства к шинам подключаются посредством интерфейса. Под интерфейсом понимают
совокупность различных характеристик какого-либо периферийного устройства ПК,
определяющих организацию обмена информацией между ним и центральным процессором.
В случае несовместимости интерфейсов (например, интерфейс системной шины и
интерфейс винчестера) используют контроллеры.
Классификация
Флина
Чтобы
дать более полное представление о многопроцессорных вычислительных системах,
помимо высокой производительности необходимо назвать и другие отличительные
особенности. Прежде всего, это необычные архитектурные решения, направленные на
повышение производительности (работа с векторными операциями, организация
быстрого обмена сообщениями между процессорами или организация глобальной памяти
в многопроцессорных системах и др.).
Понятие
архитектуры высокопроизводительной системы является достаточно широким,
поскольку под архитектурой можно понимать и способ параллельной обработки
данных, используемый в системе, и организацию памяти, и топологию связи между
процессорами, и способ исполнения системой арифметических операций. Попытки
систематизировать все множество архитектур впервые были предприняты в конце 60-х
годов и продолжаются по сей день.
В
1966 г. М.Флинном (Flynn) был предложен чрезвычайно удобный подход к
классификации архитектур вычислительных систем. В его основу было положено
понятие потока, под которым понимается последовательность элементов, команд или
данных, обрабатываемая процессором. Соответствующая система классификации
основана на рассмотрении числа потоков инструкций и потоков данных и описывает
четыре архитектурных класса:
SISD =
Single Instruction Single Data
MISD =
Multiple Instruction Single Data
SIMD =
Single Instruction Multiple Data
MIMD =
Multiple Instruction Multiple Data
SISD
(single instruction stream / single data stream) – одиночный поток команд и
одиночный поток данных. К этому классу относятся последовательные компьютерные
системы, которые имеют один центральный процессор, способный обрабатывать только
один поток последовательно исполняемых инструкций. В настоящее время практически
все высокопроизводительные системы имеют более одного центрального процессора,
однако каждый из них выполняет несвязанные потоки инструкций, что делает такие
системы комплексами SISD-систем, действующих на разных пространствах данных. Для
увеличения скорости обработки команд и скорости выполнения арифметических
операций может применяться конвейерная обработка. В случае векторных систем
векторный поток данных следует рассматривать как поток из одиночных неделимых
векторов.
MISD
(multiple instruction stream / single data stream) – множественный поток команд
и одиночный поток данных. Теоретически в этом типе машин множество инструкций
должно выполняться над единственным потоком данных. До сих пор ни одной реальной
машины, попадающей в данный класс, создано не было.
SIMD
(single instruction stream / multiple data stream) – одиночный поток команд и
множественный поток данных. Эти системы обычно имеют большое количество
процессоров, от 1024 до 16384, которые могут выполнять одну и ту же инструкцию
относительно разных данных в жесткой конфигурации. Единственная инструкция
параллельно выполняется над многими элементами данных.
MIMD
(multiple instruction stream / multiple data stream) – множественный поток
команд и множественный поток данных. Эти машины параллельно выполняют несколько
потоков инструкций над различными потоками данных. В отличие от упомянутых выше
многопроцессорных SISD-машин, команды и данные связаны, потому что они
представляют различные части одной и той же задачи. Например, MIMD-системы могут
параллельно выполнять множество подзадач с целью сокращения времени выполнения
основной задачи. Большое разнообразие попадающих в данный класс систем делает
классификацию Флинна не полностью адекватной. Действительно, и
четырехпроцессорный SX-5 компании NEC, и тысячепроцессорный Cray T3E попадают в
этот класс.