Cтраница 2
![]() |
Блок выборки команд для микроархитектуры Mic-1. [16] |
Блок выборки команд может интерпретировать каждый код операции, определять, сколько дополнительных полей нужно вызвать, и собирать их в регистр, который будет использоваться основным операционным блоком. [17]
Блок выборки команд может постоянно предоставлять следующие 8 - или 16-битные куски информации независимо от того, имеет это смысл или нет. Тогда основной операционный блок может запрашивать любые данные, которые ему требуются. [18]
Блок выборки команд отвечает за вызов байтов. Для этого он использует стандартный 4-байтный порт памяти, вызывая полные 4-байтные слова заранее и загружая следующие байты в сдвиговый регистр, который выдает их по одному или по два за раз в том порядке, в котором они вызываются из памяти. [19]
![]() |
Автомат с конечным числом состояний для реализации блока выборки команд. [20] |
Блок выборки команд имеет свой собственный регистр адреса ячейки памяти ( IMAR), который используется для обращения к памяти, когда нужно вызвать новое слово. У этого регистра есть специальный инкрементор, поэтому основному АЛУ не требуется прибавлять 1 к значению PC для вызова следующего слова. Блок выборки команд должен контролировать шину С, чтобы каждый раз при загрузке регистра PC новое значение PC также копировалось в IMAR. Поскольку новое значение в регистре PC может быть и не на границе слова, блок выборки команд должен вызвать нужное слово и скорректировать значение сдвигового регистра соответствующим образом. [21]
Блок выборки команд может сильно сократить длину пути средней команды. Во-первых, он полностью устраняет основной цикл, поскольку в конце каждой команды просто стразу осуществляется переход к следующей команде. Во-вторых, АЛУ не нужно увеличивать значение PC. [22]
Блок выборки команд передает входящий поток байтов в новый компонент - блок декодирования. Этот блок содержит внутреннее ПЗУ, которое индексируется кодом операции IJVM. Каждый элемент ( ряд) блока состоит из двух частей: длины команды IJVM и индекса в другом ПЗУ - ПЗУ микроопераций. Длина команды IJVM нужна для того, чтобы блок декодирования мог разделить входящий поток байтов и установить, какие байты являются кодами операций, а какие операндами. Если длина текущей команды составляет 1 байт ( например, длина команды POP), то блок декодирования определяет, что следующий байт - это код операции. Если длина текущей команды составляет 2 байта, блок декодирования определяет, что следующий байт - это операнд, сразу за которым следует другой код операции. [23]
Блок выборки команд служит для формирования адреса очередной команды ( или очередного участка программы) с помощью суммирующего счетчика и размещения кодов команд в своих регистрах. [24]
![]() |
Состав комплекта поставки моделей ЕС ЭВМ второй очереди отечественного производства. [25] |
Блок выборки команд осуществляет прием выбранных из оперативной памяти команд, модифицирует адресную часть и организует адресацию микропрограммных переходов в циклах выборки команд. Для ускорения процесса обработки предварительная выборка команд из памяти совмещается с операциями адресной арифметики. Кроме того, для ускорения некоторые действия в блоке управляются схемными средствами. [26]
![]() |
Характеристики ООП модели ЕС1045. [27] |
Блок выборки команд и обслуживания прерываний ( БВК) осуществляет предварительную выборку команд, что позволяет совместить выборку последующей команды с выполнением текущей. В блоке осуществляются выборка, хранение, частичная дешифровка команд, выборка операндов и обслуживание прерываний. [28]
![]() |
Функциональная схема КТС с ОМЭВМ. [29] |
При выборке команды выполняются следующие действия: содержимое двенадцати разрядов счетчика команд выводится на выводы Р2о - 23 порта ввода-вывода 2 и в канал DB. Сигнал на выходе ALE служит для стробирования адреса. Сигнал низкого уровня на выходе PSEN служит для отпирания ПЗУ и выдачи данных в канал DB. Канал DB переходит в режим ввода, и ОМЭВМ принимает восьмиразрядное слово команды. [30]