Структура однопроцессорных ЭВМ
Большое разнообразие структур ВС затрудняет их изучение. Поэтому вычислительные системы классифицируют с учетом их обобщенных характеристик.
Структура однопроцессорной системы — это совокупность характеристик и параметров, определяющих функционально-логическую и структурную организацию системы. Понятие архитектуры однопроцессорной системы охватывает общие принципы построения и функционирования, наиболее существенные для пользователей, которых больше интересуют возможности систем, а не детали их технического исполнения.
В ее основу заложено два возможных вида параллелизма: независимость потоков заданий (команд), существующих в системе, и независимость данных, обрабатываемых в каждом потоке.
Основным типом однопроцессорных систем является: одиночный поток команд — одиночный поток данных (ОКОД), в английском варианте — Single Instruction Single Data (SISD) — одиночный поток инструкций — одиночный поток данных.
Структура ОКОД охватывает все однопроцессорные и одномашинные варианты систем, т.е. с одним вычислителем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельной работы устройств ввода-вывода информации и процессора. Закономерности организации вычислительного процесса в этих структурах достаточно хорошо изучены.
ОКОД-структуры, Два нижних вида параллелизма реализуются в любых современных ЭВМ, включая и персональные ЭВМ. Данный тип архитектуры объединяет любые системы в однопроцессорном (одномашинном) варианте.
Ранее рассматривались действия над числами (сложение, вычитание, умножение), представленными в различной форме. Было подчеркнуто, что все эти действия осуществляются с помощью элементарных операций, выполняемых в определенной последовательности.
К таким элементарным операциям относятся:[1]
- запись числа в регистр;
- инвертирование содержимого разрядов регистра;
- пересылка содержимого регистров;
- сдвиг содержимого регистра;
- сложение кодов;
- поразрядные логические операции или анализ разрядов;
Все эти действия выполняются в устройстве, называемом процессором, которое состоит из двух устройств – операционного (ОУ) и управляющего (УУ).
Центральное УУ обслуживало не только вычислительные операции, но и операции ввода-вывода, пересылок данных между ЗУ и др. Все это позволяло в какой-то степени упростить аппаратуру ЭВМ, но значительно сдерживало рост их производительности.
Сильно связанные устройства АЛУ и УУ получили название процессор. В структуре ЭВМ появились дополнительные устройства, которые стали называться: процессоры ввода-вывода, устройства управления обмена информацией, каналы ввода-вывода (КВВ). Последние получили наибольшее распространение применительно к большим ЭВМ. Здесь наметилась тенденция к децентрализации управления и параллельной работе отдельных устройств, что позволило резко повысить быстродействие ЭВМ в целом.
ОУ – выполняет указанные элементарные операции.
УУ – управляет ОУ, задавая необходимую последовательность выполнения этих операций.
Только самые простейшие процессоры имеют один уровень и могут быть в чистом виде разложены на УУ и ОУ, состоящие из комбинационных логических схем, способных выполнять элементарные арифметико-логические операции.
В качестве узлов УУ и ОУ включают в себя регистры, счетчики, сумматоры, мультиплексоры, дешифраторы и т.д., т.е. устройства импульсной цифровой техники.
Среди каналов ввода-вывода выделяли мультиплексные каналы, способные обслуживать большое количество медленно работающих устройств ввода-вывода, и селекторные каналы, обслуживающие в монопольных режимах скоростные внешние запоминающие устройства (ВЗУ).
Обобщенная структура любого процессора изображена на рис. 1.
Каждая элементарная операция, выполняемая в одном из узлов ОУ в течение одного тактового периода, называется микрооперацией.
Если в ОУ предусмотрена возможность выполнения n различных микроопераций, то из УУ должно выходить n управляющих цепей S1,...,Sn, каждая из которых соответствует своей микрооперации. В силу того что УУ определяет микропрограмму, т.е. какие и в какой временной последовательности должны выполняться микрооперации, оно получило название микропрограммного автомата. Соответственно ОУ часто называют операционным автоматом.
Следует иметь в виду, что часто ЭВМ, построенные на базе простейших микропроцессоров, имеют АЛУ, позволяющие выполнять только операции двоичной арифметики над ЧФЗ и некоторые логические операции. В этом случае остальные группы операций выполняются специальными подпрограммами, что сильно понижает скорость их выполнения.
Рассмотрим несколько подробнее структуру АЛУ простейшего процессора и определим минимально необходимый набор входящих в него устройств. Из изложенного выше следует, что в состав такого АЛУ должно входить устройство, выполняющее операции двоичного суммирования (сумматор). Кроме того, для хранения операндов и результата необходимо иметь, по крайней мере, три буферных регистра (регистры временного хранения). Однако в простейшем случае результат операции можно записывать в один из регистров временного хранения на место одного из операндов. Этот регистр принято называть аккумулятором, а процессор в целом – процессором аккумуляторного типа. Аккумулятор должен обязательно иметь двунаправленную связь с внутренней шиной данных процессора. Для выполнения арифметико-логических операций необходимо устройство, выполняющее сдвиги двоичных чисел (сдвигатель). И, наконец, необходим регистр, в котором хранятся некоторые признаки результата выполненной операции, необходимые для функционирования УУ.
Технические реализации УУ даже простейших процессоров разнообразны. Однако в самом общем случае их различают по способу хранения микропрограмм. По этому критерию УУ подразделяются на УУ с жесткой логикой и УУ с хранимой в специальной памяти микропрограммой. Если микропроцессорная память доступна программисту, то УУ являются микропрограммируемыми и позволяют изменить систему команд процессора. Если микропрограммная память не доступна, то процессор имеет неизменную систему команд, как и в случае УУ с жесткой логикой.
Данные варианты отличаются друг от друга принципами построения, аппаратными затратами, временем реализации микропрограмм, возможностью изменения последовательности микрокоманд, а следовательно, и системы команд процессора.
УУ современных процессоров во многих случаях комбинированные. Выполнением простых команд управляет быстродействующее УУ на жесткой логике, а выполнением сложных команд - более медленное УУ с микропрограммной памятью.
Одиночный поток команд (используется в однопроцессорных ЭВМ) — одиночный поток данных (ОКОД), в английском варианте — Single Instruction Single Data (SISD) — одиночный поток инструкций — одиночный поток данных;
ОКОД-структуры. Два нижних вида параллелизма реализуются в любых современных ЭВМ, включая и персональные ЭВМ. Данный тип архитектуры объединяет любые системы в однопроцессорном (одномашинном) варианте.