Тема 2.2. Принципы организации ЭВМ - Учебно-методический комплекс

Тема 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 попадают в этот класс.