ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 643
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
стей (рис. 2.16, а).
В свою очередь, эти части, что особенно характерно для адресной части, могут состоять из нескольких полей.
Операционная часть содержит код операции (КОП), который задает вид операции (сложение, умножение и др.). Адресная часть содержит информацию об адресах операндов и результате операции.
Структура команды определяется составом, назначением и рас- положением полей в команде.
Форматом команды называют ее структуру с разметкой номеров разрядов (бит), определяющих границы отдельных полей команды, или с указанием числа бит в определенных полях.
Важной и сложной проблемой при проектировании ЭВМ является выбор структуры и форматов команды, т.е. ее длины, назначения и раз- мерности отдельных ее полей. Естественно стремление разместить в команде в возможно более полной форме информацию о предписыва- емой командой операции. Однако в условиях, когда в современных ЭВМ значительно возросло число выполняемых различных операций и соответственно команд (в системе команд х86 более 500 команд) и зна- чительно увеличилась емкость адресуемой основной памяти (4 Гбайт, 6 Гбайт), это приводит к недопустимо большой длине формата команды.
Действительно, число двоичных разрядов, отводимых под код опе- рации, должно быть таким, чтобы можно было представить все выпол- няемые машинные операции. Если ЭВМ выполняет М различных опе- раций, то число разрядов в коде операции
nкоп log2 М; например, при М= 500 nкоп = 9.
Если основная память содержит S адресуемых ячеек (байт), то для явного представления только одного адреса необходимо в команде иметь адресное
поле для одного операнда с числом разрядов
nА log2 S; например, при S = 4 Гбайт nА = 32.
Отмечавшиеся ранее, характерные для процесса развития ЭВМ расширение системы (наборы) команд и увеличение емкости основной памяти, а особенно создание микроЭВМ с коротким словом, потребова- ли разработки методов сокращения длины команды. При решении этой проблемы существенно видоизменилась структура команды, получили развитие различные способы адресации информации.
Проследим изменения классических структур команд.
Чтобы команда содержала в явном виде всю необходимую инфор- мацию о задаваемой операции, она должна, как это показано на рис. 2.16, б, содержать следующую информацию:
А1, А2 – адреса операндов, А3 – адрес результата, А4 – адрес следу- ющей команды (принудительная адресация команд).
Такая структура приводит к большой длине команды (например, при М = 500, S = 4 Гб длина команды – 137 бит) и неприемлема для прямой адресации операндов основной памяти. В компьютерах с RISC- архитектурой четырехадресные команды используются для адресации операндов, хранящихся в регистровой памяти процессора.
Можно установить, что после выполнения данной команды, распо- ложенной по адресу К (и занимающей L ячеек), выполняется команда из (К + L)-й ячейки. Такой порядок выборки команды называется есте- ственным. Он нарушается только специальными командами передачи управления. В таком случае отпадает необходимость указывать в ко- манде в явном виде адрес следующей команды.
В трехадресной команде (рис. 2.16, в) первый и второй адреса ука- зывают ячейки памяти, в которых расположены операнды, а третий определяет ячейку, в
которую помещается результат операции.
Можно условиться, что результат операции всегда помещается на место одного из операндов, например первого. Получим двухадресную команду (рис. 2.16, г), т.е. для результата используется подразумевае- мый адрес.
В одноадресной команде (рис. 2.16, д) подразумеваемые адреса имеют уже и результат операции, и один из операндов. Один из операн- дов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата, или аккумулятором. Результат операции записывается в тот же регистр.
Наконец, в некоторых случаях возможно использование безадрес- ных команд (рис. 2.16, е), когда подразумеваются адреса обоих операн- дов и результата операции, например при работе со стековой памятью.
С точки зрения программиста, наиболее естественны и удобны трехадресные команды. Однако из-за необходимости иметь большее число разрядов для представления адресов основной памяти и кода опе- рации длина трехадресной команды становится недопустимо большой и ее не удается разместить в машинном слове. Следует отметить, что очень часто в качестве операндов используются результаты предыду- щих операций, хранимые в регистрах машины. По указанным причинам в современных ЭВМ применяют трехадресные команды для адресации
регистров. Обычно в ЭВМ используется несколько структур и форматов команд.
Приведенные на рис. 2.16 структуры команд достаточно схематич- ны. В действительности адресные поля команд большей частью содер- жат не сами адреса, а только информацию, позволяющую определить действительные (исполнительные) адреса операндов в
соответствии с используемыми в командах способами адресации.
а
Операционная часть
б
Адресная часть
КОП
вг
д е
Рис. 2.16. Структуры команд:
а– обобщенная; б– четырехадресная; в– трехадресная;
г– двухадресная; д – одноадресная; е– безадресная
Существует два различных принципа поиска операндов в памяти:
Ассоциативный поиск операнда (рис. 2.17) предполагает одно- временный просмотр содержимого всех ячеек памяти для выявления кода, содержащего заданной командой ассоциативный признак (тег). Этот код и выбирается из памяти в качестве искомого операнда. В со- временных компьютерах ассоциативная выборка используется в кэш- памяти.
Рис. 2.17. Ассоциативный поиск
Адресный поиск предполагает, что искомый операнд извлекается из ячейки, номер которой формируется на основе информации в адрес- ном поле команды (рис.2.18).
Рис. 2.18. Адресный поиск
Ниже мы будем рассматривать только реализацию адресного прин- ципа поиска операнда. Следует различать понятия «адресный код» в ко-
манде АК и «исполнительный (физический) адрес» АИ. Адресный код – это информация об адресе операнда, содержащаяся в команде. Исполни- тельный адрес – это номер ячейки памяти, к которой
В свою очередь, эти части, что особенно характерно для адресной части, могут состоять из нескольких полей.
Операционная часть содержит код операции (КОП), который задает вид операции (сложение, умножение и др.). Адресная часть содержит информацию об адресах операндов и результате операции.
Структура команды определяется составом, назначением и рас- положением полей в команде.
Форматом команды называют ее структуру с разметкой номеров разрядов (бит), определяющих границы отдельных полей команды, или с указанием числа бит в определенных полях.
Важной и сложной проблемой при проектировании ЭВМ является выбор структуры и форматов команды, т.е. ее длины, назначения и раз- мерности отдельных ее полей. Естественно стремление разместить в команде в возможно более полной форме информацию о предписыва- емой командой операции. Однако в условиях, когда в современных ЭВМ значительно возросло число выполняемых различных операций и соответственно команд (в системе команд х86 более 500 команд) и зна- чительно увеличилась емкость адресуемой основной памяти (4 Гбайт, 6 Гбайт), это приводит к недопустимо большой длине формата команды.
Действительно, число двоичных разрядов, отводимых под код опе- рации, должно быть таким, чтобы можно было представить все выпол- няемые машинные операции. Если ЭВМ выполняет М различных опе- раций, то число разрядов в коде операции
nкоп log2 М; например, при М= 500 nкоп = 9.
Если основная память содержит S адресуемых ячеек (байт), то для явного представления только одного адреса необходимо в команде иметь адресное
поле для одного операнда с числом разрядов
nА log2 S; например, при S = 4 Гбайт nА = 32.
Отмечавшиеся ранее, характерные для процесса развития ЭВМ расширение системы (наборы) команд и увеличение емкости основной памяти, а особенно создание микроЭВМ с коротким словом, потребова- ли разработки методов сокращения длины команды. При решении этой проблемы существенно видоизменилась структура команды, получили развитие различные способы адресации информации.
Проследим изменения классических структур команд.
Чтобы команда содержала в явном виде всю необходимую инфор- мацию о задаваемой операции, она должна, как это показано на рис. 2.16, б, содержать следующую информацию:
А1, А2 – адреса операндов, А3 – адрес результата, А4 – адрес следу- ющей команды (принудительная адресация команд).
Такая структура приводит к большой длине команды (например, при М = 500, S = 4 Гб длина команды – 137 бит) и неприемлема для прямой адресации операндов основной памяти. В компьютерах с RISC- архитектурой четырехадресные команды используются для адресации операндов, хранящихся в регистровой памяти процессора.
Можно установить, что после выполнения данной команды, распо- ложенной по адресу К (и занимающей L ячеек), выполняется команда из (К + L)-й ячейки. Такой порядок выборки команды называется есте- ственным. Он нарушается только специальными командами передачи управления. В таком случае отпадает необходимость указывать в ко- манде в явном виде адрес следующей команды.
В трехадресной команде (рис. 2.16, в) первый и второй адреса ука- зывают ячейки памяти, в которых расположены операнды, а третий определяет ячейку, в
которую помещается результат операции.
Можно условиться, что результат операции всегда помещается на место одного из операндов, например первого. Получим двухадресную команду (рис. 2.16, г), т.е. для результата используется подразумевае- мый адрес.
В одноадресной команде (рис. 2.16, д) подразумеваемые адреса имеют уже и результат операции, и один из операндов. Один из операн- дов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата, или аккумулятором. Результат операции записывается в тот же регистр.
Наконец, в некоторых случаях возможно использование безадрес- ных команд (рис. 2.16, е), когда подразумеваются адреса обоих операн- дов и результата операции, например при работе со стековой памятью.
С точки зрения программиста, наиболее естественны и удобны трехадресные команды. Однако из-за необходимости иметь большее число разрядов для представления адресов основной памяти и кода опе- рации длина трехадресной команды становится недопустимо большой и ее не удается разместить в машинном слове. Следует отметить, что очень часто в качестве операндов используются результаты предыду- щих операций, хранимые в регистрах машины. По указанным причинам в современных ЭВМ применяют трехадресные команды для адресации
регистров. Обычно в ЭВМ используется несколько структур и форматов команд.
Приведенные на рис. 2.16 структуры команд достаточно схематич- ны. В действительности адресные поля команд большей частью содер- жат не сами адреса, а только информацию, позволяющую определить действительные (исполнительные) адреса операндов в
соответствии с используемыми в командах способами адресации.
а
Операционная часть
КОП | А1 | А2 | А3 | А4 |
б
Адресная часть
КОП
КОП | А1 | А2 | А3 |
КОП | А1 | А2 |
вг
д е
Рис. 2.16. Структуры команд:
а– обобщенная; б– четырехадресная; в– трехадресная;
г– двухадресная; д – одноадресная; е– безадресная
Способы адресации информации в ЭВМ
Существует два различных принципа поиска операндов в памяти:
ассоциативный и адресный.
Ассоциативный поиск операнда (рис. 2.17) предполагает одно- временный просмотр содержимого всех ячеек памяти для выявления кода, содержащего заданной командой ассоциативный признак (тег). Этот код и выбирается из памяти в качестве искомого операнда. В со- временных компьютерах ассоциативная выборка используется в кэш- памяти.
| |
| |
| |
| |
Рис. 2.17. Ассоциативный поиск
Адресный поиск предполагает, что искомый операнд извлекается из ячейки, номер которой формируется на основе информации в адрес- ном поле команды (рис.2.18).
|
|
|
|
|
Рис. 2.18. Адресный поиск
Ниже мы будем рассматривать только реализацию адресного прин- ципа поиска операнда. Следует различать понятия «адресный код» в ко-
манде АК и «исполнительный (физический) адрес» АИ. Адресный код – это информация об адресе операнда, содержащаяся в команде. Исполни- тельный адрес – это номер ячейки памяти, к которой