2. Классическая архитектура эвм и принципы фон-Неймана
Как было сказано выше, считается, что основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946г. ученые изложили свои принципы построения вычис-лительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”. С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.
В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации – текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.
Огромный авторитет фон Неймана привел к тому, что всем базовым принципам построения ЭВМ стали приписывать его имя, а архитектура называться «фон – неймановская».
Фон Нейман с соавторами выдвинули основные принципы логического устройства ЭВМ и предложили ее структуру, которая полностью воспроизводилась в течение первых двух поколений ЭВМ:
Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана.
— направление движения информацией
— управляющих сигналов от процессора к остальным узлам ЭВМ
Кроме архитектуры ЭВМ Нейман предложил основополагающие принципы логического устройства ЭВМ:
1. Принцип программного управления. Он обеспечивает автоматизацию процессов вычислений на ЭВМ. Согласно этому принципу программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Регистр – специализированная дополнительная ячейка памяти в процессоре. Регистр выполняет функцию кратковременного хранения числа или команды.
Счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды, он служит для автоматической выборки программы из последовательных ячеек памяти. То есть, с его помощью осуществляется выборка программы из памяти. Этот регистр последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. А так как, команды программы расположены в памяти друг за другом, то тем самым осуществляется выборка цепочки команд из последовательно расположенных ячеек памяти. Для выполнения не следующей команды, а какой-то другой, используются команды условного или безусловного переходов. Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что храниться в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Иногда этот принцип называют «принцип хранимой команды».
3. Принцип адресности. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Это позволяет обращаться к произвольной ячейке (адресу) без просмотра предыдущих.
Компьютеры, построенные на этих принципах, относят к типу фон — неймановских.
В современных компьютерах устройство управления и арифметико-логическое устройство объединены в один блок – процессор.
Персональный компьютер состоит из следующих основных блоков:
Все блоки связаны между собой системной магистралью (общей шиной). Шина состоит из трех частей:
• шина данных, по которой передается информация;
• шина адреса, определяющая, куда передаются данные;
• шина управления, регулирующая процесс обмена информацией.
Описанную схему (шинная архитектура ЭВМ) легко пополнять новыми устройствами, подключать непосредственно к шине, что явилось главным преимуществом в разработке важнейшего принципа построения ПК – открытой архитектуры. Для пользователя открытая архитектура означает возможность свободно выбирать состав внешних устройств для своего компьютера, т.е. конфигурировать его в зависимости от круга решаемых задач.
Таким образом, внутренняя структура вычислительной техники постоянно совершенствовалась и будет совершенствоваться. Вместе с тем, на данный момент подавляющее большинство существующих ЭВМ, несмотря на имеющиеся различия, по-прежнему состоит из одинаковых узлов и основано на общих принципах фон-неймановской архитектуры.
Процесс взаимодействия процессора и памяти сводится в основном к двум операциям: запись информации в память и чтение информации из памяти. При записи процессор по специальным проводникам (они называются шиной адреса) передает биты, кодирующие адрес; по другим проводникам (они называются шиной управления) передает управляющий сигнал — «запись» и по еще одной группе проводников (она называется шиной данных) передает записываемую информацию. При чтении также по шине адреса передается соответствующий адрес оперативной памяти и с шины данных считывается требуемая информация.
Число одновременно передаваемых по шине адреса и шине данных разрядов (битов) называется разрядностью соответствующей шины и является важной характеристикой ЭВМ. Разрядность шины данных определяет максимальное общее количество доступной памяти (адресное пространство процессора); разрядность шины данных — максимальную порцию информации, которую можно получить из памяти за один раз. Для процессора i8088, на котором работал первый персональный компьютер корпорации IBM, разрядность адресной шины равнялась 20 и, соответственно, максимальное количество доступной памяти равнялось 1 Мбайту. Современные процессоры Pentium могут адресовать до 1Гбайта памяти.
Процессор и основная память находятся на большой плате, которая называется материнской. Для подключения к ней периферийных устройств (дисководов, манипуляторов типа мыши, принтеров и т.д.) служат специальные платы — контроллеры. Они вставляются в разъемы (слоты) на материнской плате, а к их концу (порту), выходящему наружу компьютера, подключается дополнительное устройство. Таким образом, периферийные устройства подключаются к системной магистрали не непосредственно, а через специальные устройства — контроллеры. Магистраль можно сравнить с телефонным кабелем, к которому параллельно подключены абоненты — блоки компьютера. «Обращение» процессора к внешнему устройству похоже на вызов абонента. Все устройства пронумерованы. Когда нужно обратиться к какому-нибудь из них, в магистраль посылается его адрес. Как и телефон, устройство может быть свободно или занято. Приняв сигнал «свободно», процессор посылает ему информацию. Контроллер внешнего устройства можно сравнить с телефонным аппаратом, который принимает сигнал от процессора и дешифрует его. Например, контроллер экрана, приняв от процессора сигнал 01000001 (код буквы «А»), преобразует его в указание электронно-лучевой трубке изобразить на экране букву «А».
7.2. Архитектура эвм
С середины 60-х годов существенно изменился подход к созданию вычислительных машин. Вместо независимой разработки аппаратуры и некоторых средств математического обеспечения стала проектироваться система, состоящая из совокупности аппаратных (hardware) и программных (software) средств. При этом на первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие — архитектура ЭВМ.
Под архитектурой ЭВМ понимается совокупность общих принципов организации аппаратно-программных средств и их характеристик, определяющая функциональные возможности ЭВМ при решении соответствующих классов задач.
Архитектура ЭВМ охватывает широкий круг проблем, связанных с построением комплекса аппаратных и программных средств и учитывающих множество факторов. Среди этих факторов важнейшими являются: стоимость, сфера применения, функциональные возможности, удобство эксплуатации, а одним из главных компонентов архитектуры являются аппаратные средства. Основные компоненты архитектуры ЭВМ можно представить в виде схемы, показанной на рис. 1.2.
Рис. 1.2. Основные компоненты архитектуры ЭВМ
Архитектуру вычислительного средства следует отличать от его структуры. Структура вычислительного средства определяет его конкретный состав на некотором уровне детализации (устройства, блоки узлы и т. д.) и описывает связи внутри средства во всей их полноте. Архитектура же определяет правила взаимодействия составных частей вычислительного средства, описание которых выполняется в той мере, в какой это необходимо для формирования правил их взаимодействия. Она регламентирует не все связи, а наиболее важные, которые должны быть известны для более грамотного использования данного средства.
Так, пользователю ЭВМ безразлично, на каких элементах выполнены электронные схемы, схемно или программно реализуются команды и т. д. Важно другое: как те или иные структурные особенности ЭВМ связаны с возможностями, предоставляемыми пользователю, какие альтернативы реализованы при создании машины и по каким критериям принимались решения, как связаны между собой характеристики отдельных устройств, входящих в состав ЭВМ, и какое влияние они оказывают на общие характеристики машины. Иными словами, архитектура ЭВМ действительно отражает круг проблем, относящихся к общему проектированию и построению вычислительных машин и их программного обеспечения.
Только через 100 лет на базе появившихся электронных приборов эта идея была развита американским математиком Джоном фон Нейманом. В основу построения подавляющего большинства ЭВМ положены следующие общие принципы, сформулированные им в 1945 году.
Прежде всего, компьютер должен иметь следующие устройства:
Арифметическо-логическое устройство, выполняющие арифметические и логические операции;
Устройство управления, которое организует процесс выполнения программ;
Запоминающее устройство, илипамять для хранения программ и данных;
Внешние устройства для ввода-вывода информации.
В основе работы компьютера лежат следующие принципы:
Принцип двоичного кодирования. Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.
Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Принцип адресности. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Машины, построенные на этих принципах, называются Фон-Неймановскими.
Виды архитектуры ЭВМ (открытая, закрытая, Гарвардская).
Архитектура вычислительной машины — концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения
Архитектуры закрытого типа
Компьютер, выполненный по этой архитектуре, не имеет возможности подключения дополнительных устройств, не предусмотренных разработчиком.
Укрупненная схема такой компьютерной архитектуры приведена на рис. 1. Оперативная память хранит команды и данные исполняемых программ. Канал допускает подключение определенного числа внешних устройств. Устройство управления обеспечивает выполнение команд программы и управляет всеми узлами системы.
Рис. 1. Архитектура компьютера закрытого типа
Компьютеры такой архитектуры эффективны при решении чисто вычислительных задач. Они плохо приспособлены для реализации компьютерных технологий, требующих подключения дополнительных внешних устройств и высокой скорости обмена с ними информацией.
Вычислительные системы с открытой архитектурой
Такая архитектура позволяет свободно подключать любые периферийные устройства, что обеспечивает свободное подключение к компьютеру любого числа датчиков и исполнительных механизмов. Подключение устройств к шине осуществлялось в соответствии со стандартом шины. Архитектура компьютера открытого типа, основанная на использовании обшей шины, приведена на рис. 2.
Рис. 2. Архитектура компьютера открытого типа
Общее управление всей системой осуществляет центральный процессор. Он управляет общей шиной, выделяя время другим устройствам для обмена информацией. Запоминающее устройство хранит исполняемые программы и данные и согласовано уровнями своих сигналов с уровнями сигналов самой шины. Внешние устройства, уровни сигналов которых отличаются от уровней сигналов шины, подключаются к ней через специальное устройство – контроллер. Контроллер согласовывает сигналы устройства с сигналами шины и осуществляет управление устройством по командам, поступающим от центрального процессора. Процессор имеет специальные линии управления, сигнал на которых определяет, обращается ли процессор к ячейке памяти или к порту ввода-вывода контроллера внешнего устройства.
Несмотря на преимущества, предоставляемые архитектурой с общей шиной, она имеет и серьезный недостаток, который проявлялся все больше при повышении производительности внешних устройств и возрастании потоков обмена информацией между ними. К общей шине подключены устройства с разными объемами и скоростью обмена, в связи с чем «медленные» устройства задерживали работу «быстрых». Дальнейшее повышение производительности компьютера было найдено во введении дополнительной локальной шины, к которой подключались «быстрые» устройства. Архитектура компьютера с общей и локальной шинами приведена на рис. 3.
Рис. 3. Архитектура компьютера с общей и локальной шиной
Контроллер шины анализирует адреса портов, передаваемые процессором, и передает их контроллеру, подключенному к общей или локальной шине.
Конструктивно контроллер каждого устройства размещается на общей плате с центральным процессором и запоминающим устройством или, если устройство не является стандартно входящим в состав компьютера, на специальной плате, вставляемой в специальные разъемы на общей плате – слоты расширения. Дальнейшее развитие микроэлектроники позволило размещать несколько функциональных узлов компьютера и контроллеры стандартных устройств в одной микросхеме СБИС. Это сократило количество микросхем на общей плате и дало возможность ввести две дополнительные локальные шины для подключения запоминающего устройства и устройства отображения, которые имеют наибольший объем обмена с центральным процессором и между собой.
Центральный контроллер играет роль коммутатора, распределяющего потоки информации между процессором, памятью, устройством отображения и остальными узлами компьютера.
Функциональный контроллер – это СБИС, которая содержит контроллеры для подключения стандартных внешних устройств, таких как клавиатура, мышь, принтер, модем и т.д. Часто в состав этого контроллера входит такое устройство, как аудиокарта, позволяющая получить на внешних динамиках высококачественный звук при прослушивании музыкальных и речевых файлов.
Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти.
Типичные операции (сложение и умножение) требуют от любого вычислительного устройства нескольких действий: выборку двух операндов, выбор инструкции и её выполнение, и, наконец, сохранение результата. Соответствующая схема реализации доступа к памяти имеет один очевидный недостаток — высокую стоимость. При разделении каналов передачи адреса и данных на кристалле процессора, последний должен иметь в два раза больше выводов. Способом решения этой проблемы стала идея использовать общую шину данных и шину адреса для всех внешних данных, а внутри процессора использовать шину данных, шину команд и две шины адреса. Такую концепцию стали называть модифицированной Гарвардской архитектурой.
Часто требуется выбрать три составляющие — два операнда и инструкцию(в алгоритмах цифровой обработки сигналов это наиболее встречаемая задача в БПФ и КИХ, БИХ фильтрах). Для этого существует кэш-память. В ней может храниться инструкция — обе шины остаются свободными, и появляется возможность передать два операнда одновременно. Использование кэш-памяти вместе с разделёнными шинами получило название «Super Harvard Architecture» («SHARC») — расширенная Гарвардская архитектура.
Примером могут послужить процессоры «Analog Devices»: ADSP-21xx — модифицированная Гарвардская Архитектура, ADSP-21xxx(SHARC) — расширенная Гарвардская Архитектура.