Cтраница 3
Одно из типичных применений сумматора адресов - это вычисление адреса команды, которая должна выполняться вслед за данной. Существуют операции ( называемые операциями управления ], которые определяют этот адрес сами, в качестве результата своей работы. Для остальных операций адрес следующей команды получается в результате добавления единицы к адресу, хранящемуся на регистре адреса команды. Это сложение выполняется на сумматоре адресов. [31]
Одно из типичных применений сумматора адресов - это вычисление адреса команды, которая должна выполняться вслед за данной. Существуют операции ( называемые операциями управления), которые определяют этот адрес сами, в качестве результата своей работы. Для остальных операций адрес следующей команды получается в результате добавления единицы к адресу, хранящемуся на регистре адреса команды. Это сложение выполняется на сумматоре адресов и его результат снова посылается на регистр адреса команды. [32]
Первые разработки управляющих ЭВМ характеризуются небольшим объемом аппаратурных затрат и, как следствие этого, используют одноадресные команды типа RS и страничную организацию памяти. На рис. 7.3.2, а представлен формат RS, применяемый в машинах типа М-6000. Он состоит из кода операции КОп, относительного адреса опе: ранда А н признаков I прямой ( косвенной) адресации и М нулевой ( текущей) страницы. Для указания номера текущей страницы отводится старшая часть регистра адреса команд ЭВМ. При формировании исполнительного адреса производится операция конкатенации ( составления) номера текущей или нулевой страницы ( в зависим: н от значения признака М) и относительного адреса А. [33]
Одно из типичных применений сумматора адресов - это вычисление адреса команды, которая должна выполняться вслед за данной. Существуют операции ( называемые операциями управления), которые определяют этот адрес сами, в качестве результата своей работы. Для остальных операций адрес следующей команды получается в результате добавления единицы к адресу, хранящемуся на регистре адреса команды. Это сложение выполняется на сумматоре адресов и его результат снова посылается на регистр адреса команды. [34]
В процессе работы микропроцессор производит обращение в память за командами и операндами. Микропроцессор КР1810ВМ86 обеспечивает адресацию до 1 Мбайт памяти. Формирование адреса команд и операндов осуществляется с помощью сумматора адреса, регистров адреса команды и операнда, сегментных регистров. Сумматор адреса производит вычисление 20-разрядного физического адреса команд и операндов путем сдвига базового адреса сегмента, хранящегося в соответствующем сегментном регистре, и сложения его с величиной смещения, находящейся в регистре адреса. При вычислении адреса команды используются содержимое регистра сегмента кода и регистра адреса команды, при вычислении адреса операнда - содержимое регистра сегмента данных ( или дополнительного сегмента) и регистра адреса операнда. [35]
Указатели и индексные регистры могут участвовать в большинстве арифметических и логических операций. Регистры SP, SI и DI также неявно используются в некоторых командах: операции со стеком, операции со строками. В процессе работы микропроцессор производит обращение в память за командами и операндами. Микропроцессор КР1810ВМ86 обеспечивает адресацию до 1 Мбайт памяти. Формирование адреса команд и операндов осуществляется с помощью сумматора адреса, регистров адреса команды и операнда, сегментных регистров. Сумматор адреса производит вычисление 20-разрядного физического адреса команд и операндов путем сдвига базового адреса сегмента, хранящегося в соответствующем сегментном регистре, и сложения его с величиной смещения, находящейся в регистре адреса. При вычислении адреса команды используются содержимое регистра сегмента кода и регистра адреса команды, при вычислении адреса операнда - содержимое регистра сегмента данных ( или дополнительного сегмента) и регистра адреса операнда. [36]
Сегментные регистры соответствуют четырем сегментам памяти: данных - DS, стека - SS, кода - CS и промежуточных данных - ES. В каждом из этих регистров хранятся 16 старших разрядов кода адреса соответствующего сегмента памяти; 20-разрядный физический адрес, позволяющий работать с памятью емкостью до 1 Мбайт, образуется в СМА путем сдвига базового адреса сегмента на четыре разряда влево и сложения его с 16-разрядным адресом смещения. Адрес смещения находится в одном из регистров указателей или индексов УО и позволяет адресовать байты или слова в пределах 64 Кбайт выбранного сегмента. Если полученное в СМА значение превышает значение самого старшего адреса сегмента, то физический адрес вновь отсчитывается от начала сегмента до значения превышения. При вычислении физического адреса операнда в качестве базового адреса используется содержимое регистров сегмента данных и сегмента промежуточных данных, а при вычислении физического адреса команды - содержимое регистра сегмента кода. Регистр адреса команд ( указатель команд) IP соответствует счетчику команд микропроцессора К580ВМ80А и указывает следующую команду, которая будет выполняться после текущей команды. Устройство сопряжения записывает в него из У О смещение следующей команды от начала текущего сегмента кода. Если содержимое регистра адреса команд засылается в стек, то происходит автоматическая настройка его на адрес следующей команды. [37]
Специальные команды изменения узлов выполняются не в вычислительных узлах; они дешифрируются и посылаются в устройство, управляющее работой вычислительных узлов. Это устройство запоминает, какие из узлов в настоящее время используются. Если программа требует перехода на другой вычислительный узел, который в это время занят, то выполнение этой программы задерживается до тех пор, пока не освободится требуемый узел. Для каждого вычислительного узла в случае необходимости образуется очередь. Порядок ( или приоритет), в котором выбираются из очереди ожидающие программы, можно сделать как угодно сложным, что определяется в зависимости от назначения машины. Когда желаемый вычислительный узел освобождается, в него передается содержимое регистра адреса команды, и программа продолжает выполняться в этом новом узле. Другими словами, он начинает выполнять команды, выбираемые из памяти, в соответствии с адресами, вырабатываемыми его регистром адреса команды. Для смены одной программы на другую необходимо только соответствующее изменение содержимого его регистра адреса команды. Управляющий механизм для такого изменения программы находится также в устройстве управления работой вычислительных узлов. В подобной системе каждый из вычислительных узлов может действовать почти как отдельная машина, за исключением того, что при этом возможны случаи вынужденных простоев, что определяется устройством управления работой вычислительных узлов. И хотя этот принцип одновременного выполнения нескольких программ сам по себе очень прост, его реализация представляет определенные трудности и имеет большой интерес. Другой принцип организации работы вычислительных узлов состоит в том, что в каждый момент времени выполняется только одна программа. [38]
Указатели и индексные регистры могут участвовать в большинстве арифметических и логических операций. Регистры SP, SI и DI также неявно используются в некоторых командах: операции со стеком, операции со строками. В процессе работы микропроцессор производит обращение в память за командами и операндами. Микропроцессор КР1810ВМ86 обеспечивает адресацию до 1 Мбайт памяти. Формирование адреса команд и операндов осуществляется с помощью сумматора адреса, регистров адреса команды и операнда, сегментных регистров. Сумматор адреса производит вычисление 20-разрядного физического адреса команд и операндов путем сдвига базового адреса сегмента, хранящегося в соответствующем сегментном регистре, и сложения его с величиной смещения, находящейся в регистре адреса. При вычислении адреса команды используются содержимое регистра сегмента кода и регистра адреса команды, при вычислении адреса операнда - содержимое регистра сегмента данных ( или дополнительного сегмента) и регистра адреса операнда. [39]
Специальные команды изменения узлов выполняются не в вычислительных узлах; они дешифрируются и посылаются в устройство, управляющее работой вычислительных узлов. Это устройство запоминает, какие из узлов в настоящее время используются. Если программа требует перехода на другой вычислительный узел, который в это время занят, то выполнение этой программы задерживается до тех пор, пока не освободится требуемый узел. Для каждого вычислительного узла в случае необходимости образуется очередь. Порядок ( или приоритет), в котором выбираются из очереди ожидающие программы, можно сделать как угодно сложным, что определяется в зависимости от назначения машины. Когда желаемый вычислительный узел освобождается, в него передается содержимое регистра адреса команды, и программа продолжает выполняться в этом новом узле. Другими словами, он начинает выполнять команды, выбираемые из памяти, в соответствии с адресами, вырабатываемыми его регистром адреса команды. Для смены одной программы на другую необходимо только соответствующее изменение содержимого его регистра адреса команды. Управляющий механизм для такого изменения программы находится также в устройстве управления работой вычислительных узлов. В подобной системе каждый из вычислительных узлов может действовать почти как отдельная машина, за исключением того, что при этом возможны случаи вынужденных простоев, что определяется устройством управления работой вычислительных узлов. И хотя этот принцип одновременного выполнения нескольких программ сам по себе очень прост, его реализация представляет определенные трудности и имеет большой интерес. Другой принцип организации работы вычислительных узлов состоит в том, что в каждый момент времени выполняется только одна программа. [40]
Сегментные регистры соответствуют четырем сегментам памяти: данных - DS, стека - SS, кода - CS и промежуточных данных - ES. В каждом из этих регистров хранятся 16 старших разрядов кода адреса соответствующего сегмента памяти; 20-разрядный физический адрес, позволяющий работать с памятью емкостью до 1 Мбайт, образуется в СМА путем сдвига базового адреса сегмента на четыре разряда влево и сложения его с 16-разрядным адресом смещения. Адрес смещения находится в одном из регистров указателей или индексов УО и позволяет адресовать байты или слова в пределах 64 Кбайт выбранного сегмента. Если полученное в СМА значение превышает значение самого старшего адреса сегмента, то физический адрес вновь отсчитывается от начала сегмента до значения превышения. При вычислении физического адреса операнда в качестве базового адреса используется содержимое регистров сегмента данных и сегмента промежуточных данных, а при вычислении физического адреса команды - содержимое регистра сегмента кода. Регистр адреса команд ( указатель команд) IP соответствует счетчику команд микропроцессора К580ВМ80А и указывает следующую команду, которая будет выполняться после текущей команды. Устройство сопряжения записывает в него из У О смещение следующей команды от начала текущего сегмента кода. Если содержимое регистра адреса команд засылается в стек, то происходит автоматическая настройка его на адрес следующей команды. [41]
Специальные команды изменения узлов выполняются не в вычислительных узлах; они дешифрируются и посылаются в устройство, управляющее работой вычислительных узлов. Это устройство запоминает, какие из узлов в настоящее время используются. Если программа требует перехода на другой вычислительный узел, который в это время занят, то выполнение этой программы задерживается до тех пор, пока не освободится требуемый узел. Для каждого вычислительного узла в случае необходимости образуется очередь. Порядок ( или приоритет), в котором выбираются из очереди ожидающие программы, можно сделать как угодно сложным, что определяется в зависимости от назначения машины. Когда желаемый вычислительный узел освобождается, в него передается содержимое регистра адреса команды, и программа продолжает выполняться в этом новом узле. Другими словами, он начинает выполнять команды, выбираемые из памяти, в соответствии с адресами, вырабатываемыми его регистром адреса команды. Для смены одной программы на другую необходимо только соответствующее изменение содержимого его регистра адреса команды. Управляющий механизм для такого изменения программы находится также в устройстве управления работой вычислительных узлов. В подобной системе каждый из вычислительных узлов может действовать почти как отдельная машина, за исключением того, что при этом возможны случаи вынужденных простоев, что определяется устройством управления работой вычислительных узлов. И хотя этот принцип одновременного выполнения нескольких программ сам по себе очень прост, его реализация представляет определенные трудности и имеет большой интерес. Другой принцип организации работы вычислительных узлов состоит в том, что в каждый момент времени выполняется только одна программа. [42]