ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5246
Скачиваний: 8
64 Глава 2. Архитектура системы команд
обеспечивают передачу в арифметико-логическое устройство операндов, храня-
щихся в двух регистрах общего назначения. Третья служит для занесения резуль-
тата в выделенный для этого регистр. Эти же шины позволяют загрузить в регистры
содержимое ячеек основной памяти и сохранить в ОП информацию, находящую-
ся в РОН.
Рис.
2.9. Архитектура вычислительной машины с выделенным доступом к памяти
АСК с выделенным доступом к памяти характерна для всех вычислительных
машин с RISC-архитектурой. Команды в таких ВМ, как правило, имеют длину
32 бита и трехадресный формат. В качестве примеров вычислительных машин с
выделенным доступом к памяти можно отметить HP PA-RISC, IBM RS/6000,
SPARC, MIPS R4000, DEC Alpha и т. д. К достоинствам
следует отнести про-
стоту декодирования и исполнения команды.
Типы и форматы операндов
Машинные команды оперируют данными, которые в этом случае принято
вать
операндами.
К наиболее общим (базовым) типам операндов можно отнести:
адреса, числа, символы и логические данные. Помимо них ВМ обеспечивает
работку и более сложных информационных единиц: графических изображе-
ний, аудио-, видео- и анимационной информации. Такая информация является
производной от базовых типов данных и хранится в виде файлов на внешних запо-
минающих устройствах. Для каждого типа данных в ВМ предусмотрены опреде-
ленные форматы.
Типы и форматы операндов 65
Числовая информация
Среди цифровых данных можно выделить две группы:
• целые типы, используемые для представления целых чисел;
• вещественные типы для представления
чисел.
В рамках первой группы имеется несколько форматов представления числен-
ной информации, зависящих от ее характера. Для представления вещественных
чисел используется форма с плавающей запятой.
Числа в форме с фиксированной запятой
Представление числа
X
в
форме с фиксированной запятой
(ФЗ), которую иногда
называют также
естественной формой,
включает в себя знак числа и его модуль в
q-ичном коде. Здесь
q — основание системы
или
база.
Для современных
ВМ характерна двоичная система
(q
= 2), но иногда используются также восьмерич-
ная = 8) или шестнадцатеричная =
системы счисления. Запятую в записи
числа называют соответственно двоичной, восьмеричной или шестнадцатеричной.
Знак положительного числа кодируется двоичной цифрой 0, а знак отрицательно-
го числа — цифрой 1.
Числам с ФЗ соответствует запись вида
Х =
Отрицатель-
ные числа обычно представляются в дополнительном коде. Разряд кода числа, в ко-
тором размещается знак, называется
знаковым
кода.
Разряды, где распола-
гаются значащие цифры числа, называются
цифровыми разрядами кода.
Знаковый
разряд размещается левее старшего цифрового разряда. Положение запятой оди-
наково для всех чисел и в процессе решения задач не меняется. Хотя запятая и фик-
сируется, в коде числа она никак не выделяется, а только подразумевается. В об-
щем случае разрядная сетка ВМ для размещения чисел в форме с ФЗ имеет вид,
представленный на рис. 2.10, где
п
разрядов используются для записи целой части
числа и
r
разрядов — для дробной части.
Формат представления чисел с фиксированной запятой
При заданных значениях
n
и
r
диапазон изменения модулей чисел, коды кото-
рых могут быть представлены в данной разрядной сетке, определяется соотноше-
нием
Если число является смешанным (содержит целую и дробную части), оно обра-
батываются как целое, хотя и не является таковым (в этом случае применяют тер-
масштабируемое целое).
Обработка смешанных чисел в
встречается крайне
редко. Как правило, используются ВМ с дробной
(п
= 0) либо целочисленной (
r
= 0)
арифметикой.
66 Глава 2. Архитектура системы команд
При фиксации запятой перед старшим цифровым разрядом
могут
быть представлены только правильные дроби. Для ненулевых чисел возможны два
варианта представления (нулевому значению соответствуют нули во всех разря-
дах): знаковое и беззнаковое. Фиксация запятой перед старшим разрядом встре-
чалась в ряде машин второго поколения, но в настоящее время практически отжи-
ла свое.
Р и с .
Представление д р о б н ы х чисел в ф о р м а т е Ф З
При фиксации запятой после младшего разряда представимы лишь целые чис-
ла. Это наиболее распространенный способ, поэтому в дальнейшем понятие ФЗ
будет связываться исключительно с целыми числами, а операции с числами в форме
ФЗ будут характеризоваться как целочисленные. Здесь также возможны числа со
знаком и без знака (рис. 2.12):
Рис.
Представление целых чисел в формате ФЗ
На рис. 2.13 приведены целочисленные форматы с фиксированной запятой,
принятые в микропроцессорах фирмы Intel.
Целые числа применяются также для работы с адресами. На рис. 2.13 это
32-разрядный формат ближнего и 48-разрядный формат дальнего указателей.
Представление чисел в формате ФЗ упрощает аппаратурную реализацию ВМ
и сокращает время выполнения машинных операций, однако при решении задач
необходимо постоянно следить за тем, чтобы все исходные данные, промежуточ-
ные и окончательные результаты не выходили за допустимый диапазон формата,
иначе возможно переполнение разрядной сетки и результат вычислений будет не-
верным.
Упакованные целые числа
В АСК современных микропроцессоров имеются команды, оперирующие целыми
числами, представленными в упакованном виде. Связано это с обработкой муль-
Рис.
Целочисленные форматы микропроцессоров фирмы Intel
тимедийной информации. Формат предполагает упаковку в пределах достаточно
длинного слова (обычно
нескольких небольших целых чисел, а со-
ответствующие команды обрабатывают все эти числа параллельно. Если
из чисел состоит из четырех двоичных разрядов, то в 64-разрядное слово можно
поместить до 16 таких чисел. Неиспользованные разряды заполняются нулями.
В микропроцессорах фирмы Intel, начиная с Pentium
присутствуют спе-
циальные команды для обработки мультимедийной
(ММХ-коман-
ды), оперирующие целыми числами, упакованными в квадрослова (64-разрядные
слова). Предусмотрены три формата (рис. 2.14): упакованные байты (восемь 8-раз-
рядных чисел); упакованные слова (четыре 16-разрядных числа) и упакованные
двойные слова
32-разрядных числа).
68 Глава 2. Архитектура системы команд
Байты в формате упакованных байтов нумеруются от 0 до 7, причем байт 0 рас-
полагается в младших разрядах квадрослова. Аналогичная система нумерации
и размещения упакованных чисел применяется для упакованных
(номе-
ра 0-3) и упакованных двойных слов (номера 0-1).
Идентичные форматы упакованных данных применяются также в другой тех-
нологии обработки мультимедийной информации, предложенной фирмой AMD.
Эта технология носит название
а реализована в микропроцессорах дан-
ной фирмы.
Десятичные числа
В ряде задач, главным образом, учетно-статистического характера, приходится
иметь дело с хранением, обработкой и пересылкой десятичной информации. Осо-
бенность таких задач состоит в том, что обрабатываемые числа могут состоять из
различного и весьма большого количества десятичных цифр. Традиционные ме-
тоды обработки с переводом исходных данных в двоичную систему счисления и об-
ратным преобразованием результата зачастую сопряжены с существенными на-
кладными расходами. По этой причине в ВМ применяются иные специальные
формы представления десятичных данных. В их основу положен принцип коди-
рования каждой десятичной цифры эквивалентным двоичным числом из четырех
битов (тетрадой), то есть так называемым двоично-десятичным кодом (BCD —
Binary Coded Decimal).
Рис.
Форматы десятичных чисел: а — зонный;
б
— уплотненный
Используются два формата представления десятичных чисел (все числа рас-
сматриваются как целые):
зонный (распакованный) уплотненный (упакованный).
В обоих форматах каждая десятичная цифра представляется двоичной тетрадой,
то есть заменяется двоично-десятичным кодом. Из оставшихся задействованных
шести четырехразрядных двоичных комбинаций (2
4
= 16) две служат для кодиро-
вания знаков «+» и «-». Например, в ВМ семейства IBM 360/370/390 для знака
«плюс» выбран код
а для знака «минус» — код
Зонный формат (рис. 2.15,
а)
применяется в операциях ввода/вывода. В нем
под каждую цифру выделяется один байт, где младшие четыре разряда отводятся
под код цифры, а в старшую тетраду (поле зоны) записывается специальный код
«зона», не совпадающий с кодами цифр и знаков. В IBM 360/370/390 это код
=
Исключение составляет байт, содержащий младшую цифру десятич-
ного числа, где в поле зоны хранится знак числа. На рис.
показана запись чис-
ла -7396 в зонном формате. В некоторых ВМ принят вариант зонного формата,
где поле зоны заполняется нулями.