Принцип микропрограммируемости
Микропрограммируемость – это микропрограммный принцип управления компьютером, когда каждой программе ставится в соответствие своя микропрограмма, хранящаяся в памяти. Например, операция сложения состоит из ряда элементарных операций: передача информации от одного узла к другому, одноразрядный сдвиг и суммирование одного разряда, чтение первого слагаемого, чтение второго слагаемого и т.д. Техническая реализация этого способа проста благодаря тому, что можно легко видоизменить содержание любой операции и, соответственно, команды за счет изменения микропрограммы.
Для реализации микропрограммируемости необходимо наличие в компьютере постоянной памяти, в ячейках которой будут постоянно храниться коды, соответствующие различным комбинациям управляющих сигналов. Каждая такая комбинация позволяет выполнить элементарную операцию, т. е. подключить определенные электрические цепи и схемы.
Чтобы выполнить элементарную операцию, необходимо задать управляющий сигнал. Он хранится в ячейке постоянной памяти, имеющей конкретный адрес. Достаточно задать определенную последовательность адресов, чтобы был сформирован набор управляющих сигналов для выполнения элементарных операций. Задает эту последовательность адресов микропрограмма, также хранящаяся в постоянной памяти.
Команда выполняет все действия в зависимости от того, какой код операции в ней находится. Каждой команде, а точнее коду операции, соответствует своя микропрограмма. Эта микропрограмма, состоящая из адресов ячеек, где хранятся управляющие сигналы, вызывает их на выполнение и обеспечивает подключение необходимых электрических цепей и схем.
В этом случае для выполнения операции сложения двух чисел, например, на ассемблере, программист описывает следующие действия:
– загрузка первого слагаемого в регистр (ячейку памяти с адресом) EAX;
– загрузка второго слагаемого в регистр EBX;
– вызов микрооперации сложения;
– загрузка результата из регистра EAX.
Дальнейшее развитие этой идеи приводит к появлению микрокода – программы, реализующей набор инструкций процессора. В этом случае микропрограмма состоит из серий микроинструкций. Микроинструкции управляют процессором на самом низком уровне, они и есть элементарные действия над данными: загрузка операнда в регистр, установка флага, вызов микрооперации сложения и т. д. Микропрограмма вызывается при помощи специальных операторов, которые программист указывает при написании программы.
Современные микропроцессоры позволяют записывать в них значительное количество микрокодов, выполняющих порой весьма сложные преобразования данных. Сформировались два основных направления микропрограммного развития. Первое – CISC (англ. Complex instruction set computing, компьютер с комплексным набором команд) – концепция проектирования процессоров, которая характеризуется тем, что для широкого набора сложных операций в микропроцессоре предусмотрены собственные микропрограммы. Предполагалось, что это позволит упростить создание сложных программ и ускорит их выполнение. Так и было до определенного момента, но универсальный характер ПЭВМ обусловил применение компьютеров для решения такого широкого круга задач, что комплексный набор команд оказался малоэффективным.
Второе направление – RISC (англ. restricted (reduced) instruction set computer, компьютер с сокращённым набором команд), архитектура процессора, в которой количество инструкций уменьшено, а сами инструкции упрощены. Сложные действия над данными, которые в CISC выполняются одной командой, осуществляются рядом простых инструкций. Однако за счет того, что декодирование инструкций упрощается, сокращается количество обращений к памяти и т.д., выполнение программы ускоряется.
Сегодня микропроцессоры в основном проектируются на основе RISC-архитектуры.
Дата добавления: 2019-10-16; просмотров: 679;