![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Упрощенная схема вычислений в ВС с архитектурой фон Неймана
Для осуществления каких-либо преобразований информации, хранящейся в памяти машины, нужно передать на «понятном» процессору языке последовательность операций, которая должна быть выполнена, и указать информацию, размещенную в памяти, над которой и выполняются операции. Принцип хранимой в памяти программы был сформулирован известным американским математиком Джоном фон Нейманом в 1946 г. Согласно этому принципу программа кодируется и хранится в памяти машины так же, как и всякая другая информация (например, обрабатываемые данные). Последовательность считывания и декодирования составляющих программу команд обуславливается, с одной стороны, организацией памяти машины, а с другой – типом самих команд. Принцип хранимой программы лежит в основе организации вычислительного процесса практически во всех универсальных ВС. Упрощенная схема вычислительного процесса, реализуемого в цифровых вычислительных машинах, может выглядеть следующим образом: осуществляется считывание нужной информации из памяти машины и ее обработка процессором, а затем результаты выполненных преобразований отсылаются в память. В современных ВС с традиционной архитектурой каждое указание (каждое действие, задаваемое в программе) кодируется специальным образом так, что оно может быть расшифровано процессором, и закодированная программа записывается в память, непосредственно доступную процессору (в оперативную память). При выполнении программы процессор считывает команды, из которых состоит программа, дешифрует и выполняет их в нужной последовательности. Для того чтобы можно было считать нужную информацию (команды и данные) из памяти и записать результаты вычислений в память, необходима определенная организация этого запоминающего устройства. В машинах с традиционной архитектурой эта организация заключается в последовательной нумерации участков памяти. По заданному адресу при обращении к памяти и выбирается ее участок, содержащий нужный код (команду) или данные. Для реализации вычислений в сосав центрального процессора ВС включается несколько различных устройств (или функциональных блоков). Упрощенная схема взаимодействия устройств в составе ВС показана на рис. 3.2.
Рис. 3.2. Упрощенная функциональная схема ВС с архитектурой фон Неймана Арифметико-логические устройства (АЛУ) в составе процессора – это устройства, в которых над выбранной из памяти машины информацией производятся арифметические и логические операции, т.е. это устройство, выполняющее непосредственно преобразование, обработку данных. Устройство, осуществляющее управление выполнением последовательности операций в соответствии с заданной программой, называется устройством управления (УУ). Устройство управления осуществляет выборку команд из оперативной памяти, их декодирование (интерпретацию) и управление их выполнением. Для реализации этих функций в состав этого устройства включаются следующие компоненты: – специальный регистр, содержащий во время выполнения программы ссылку на ту ячейку основной памяти, из которой должна выбираться очередная команда (указатель команд); – буфер (очередь) для приема команд, выбираемых из оперативной памяти, и их хранения до выполнения дешифрации; – специальный регистр, содержащий слово состояния процессора, или слово состояния машины; этот регистр состоит из отдельных флажков, фиксирующих текущее состояние процессора и управляющих его работой; – управляющую память – постоянное запоминающее устройство (ПЗУ), в котором хранится набор команд, называемых микрокодом. Микрокоманды представляют собой элементарные операции, выполняемые в процессоре. Последовательности микрокоманд образуют более содержательные операции, называемые макрокомандами или просто командами. Считанная из оперативной памяти команда заставляет процессор выполнить микрокод, соответствующий данной команде. Устройство управления организует этот процесс. Арифметико-логическое устройство выполняет арифметические и логические операции над данными. Операнды этих операций могут быть размещены в оперативной памяти машины, а также в «сверхоперативной» памяти – в регистрах процессора. Результаты выполнения операций также могут сохраняться в регистрах или в основной памяти. Результаты выполнения операций могут воздействовать на состояние процессора, поэтому при выполнении операций над данными могут устанавливаться или сбрасываться флажки в слове состояния процессора. Регистровая память в процессоре используется как для промежуточного хранения операндов и результатов выполнения операций, так и для хранения служебной информации, адресов и т.п. В зависимости от назначения регистры делятся на арифметические регистры, которые используются только для хранения данных при выполнении операций над ними, регистры адреса, используемые для адресации памяти, а также служебные регистры. Строгое разделение регистров в соответствии с выполняемыми функциями упрощает их использование, снижает количество ошибок, но регистровая память в этом случае может использоваться неэффективно: может быть недостаточно регистровой памяти одного типа, но при этом будут «простаивать» регистры другого назначения. Другая «крайность» – использование регистров общего назначения, которые могут выполнять роль как адресных регистров, так и арифметических. Такое распределение функций между регистрами позволяет использовать их более гибко и эффективно, но может стать дополнительным источником ошибок при разработке программ. Для реализации операций обмена процессора с памятью в машинах с традиционной архитектурой используется шинный интерфейс. В состав же процессора включают специальные устройства управления шиной, которые выполняют координацию взаимодействия процессора с «внешним миром». Кроме того, для повышения производительности в состав процессора может включаться небольшая внутренняя буферная память (кэш, теневые регистры и т.п.).
|