logo

34. Архитектура вычислительной системы, разновидности.

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

Архитектура фон Неймана [5] - модель реализации ВС с одним устройством обработки (процессором) и одним устройством хранения (памятью)(см. рис. 2). Память используется для хранения как программ, так и данных. Архитектура предложена конструкторами ВС ENIAC Мокли и Экертом и популяризирована математиком Джоном фон Нейманом [6]. На момент появления данной архитектуры программы в ВС были либо жестко зашиты в логику работы процессора ВС, либо задавались с помощью перекоммутации связей у процессора. Вынесение программ в память сильно упростило их модификацию. Выполнение команд происходит в циклах, каждый из которых содержит следующие стадии:

1) выборка очередной команды для исполнения (по адресу регистра-указателя команд),

2) декодирование кода команды, выработка управляющих сигналов для арифметического-логического устройства (АЛУ),

3) чтение требуемых операндов из памяти и их размещение в регистрах процессора,

4) исполнение команды в АЛУ и запись результатов в память или регистры процессора.

 

Рис. 2. Архитектура фон Неймана

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

С момента своего появления и по настоящий день архитектура фон Неймана является эталоном для последовательных ВС. Хотя в чистом виде она сейчас не применяется даже в самых простых ВС. Узкое место данной архитектуры ― пропускная способность шины между процессором и памятью. При доступе к памяти процессор простаивает. На момент появления архитектуры скорости работы процессора и памяти были приблизительно одинаковы. Сейчас скорость работы процессора существенно выше, чем у памяти. Для преодоления узкого места был предложен ряд усовершенствований этой базовой архитектуры. Два основных из них ― это использование конвейера команд (см. главу 3) и использование кэш памяти. Кэш память ― память более малого размера, чем оперативная. Но она более быстрая и расположена в процессоре. Часто используемые данные хранятся в кэш памяти, что исключает необходимость их чтения из оперативной памяти через шину.

Гарвардская архитектура[7] - архитектура последовательных ВС, в которой память физически и логически разделена на две части: память программ и память данных (см. рис. 3). Впервые архитектура была реализована на машине Mark I, построенной в Гарвардском университете. Блок управления может считывать команды из памяти программ. АЛУ может считывать и записывать данные из памяти данных. Так как для доступа к памяти программ и памяти данных используются разные каналы, то возможен одновременный доступ к ним. Кроме этого, они могут иметь разные физические характеристики и логическую организацию (размер и разрядность слова)

 

Рис. 3. Гарвардская архитектура

В модифицированной Гарвардской архитектуре (см. рис. 4) добавлена связь между памятью программ и АЛУ, что позволяет хранить в памяти команд константы, например, строки.

 

Рис. 4. модифицированная Гарвардская архитектура

В современных ВС Гарвардская архитектура используется в сигнальных (DSP) процессорах и в микроконтроллерах. Микроконтроллер - микропроцессор для встраиваемых и разнообразных специализированных ВС. Микроконтроллер отличается от обычного процессора пониженным энегропотреблением, часто малым размером и малым числом выводов на корпусе. Также он может иметь дополнительные возможности, таке как оцифровка аналогового сигнала, интегрированный интерфейс для связи. Типичный микроконтроллер (PIC, Atmel AVR8) имеет модифицированную Гарвардскую архитектуру. Для программного обеспечения микроконтроллеров надежность гораздо важнее возможности построения самомодифицирующихся программ. Размещение программ в отдельной памяти, которая может записываться только при программировании микроконтроллера, исключает возможность случайной порчи программ.