Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 03.03.2010 | Доступ: свободный | Студентов: 5328 / 1303 | Оценка: 4.35 / 3.96 | Длительность: 24:14:00
ISBN: 978-5-9963-0267-3
Специальности: Разработчик аппаратуры

Лекция 2: Регистровая структура универсального микропроцессора

< Лекция 1 || Лекция 2: 123 || Лекция 3 >
Структура регистров процессора с плавающей точкой

Рис. 2.3. Структура регистров процессора с плавающей точкой

Блок регистров данных. Доступен либо как стек (его вершина TOP определена в регистре состояний FPU ), либо как набор пронумерованных регистров.

Старший разряд 80-разрядного регистра данных кодирует знак мантиссы хранящегося в нем числа с плавающей точкой. Следующее поле отведено под кодирование порядка. Порядок представлен в виде так называемого машинного, или смещенного, порядка (Псм) без знака:

Псм=П+\Delta

где П - истинный порядок числа, а величина \Delta определяется следующим образом: \Delta= |-Пмакс| При этом самый большой по модулю отрицательный истинный порядок преобразуется в нулевой смещенный, а все остальные истинные порядки преобразуются в положительные. Тем самым упрощаются операции обработки чисел с плавающей точкой.

В последнем поле регистра данных записывается мантисса числа.

Количество разрядов, отводимых под поле порядка и поле мантиссы, определяется регистром управления FPU.

Данный блок может также использоваться для хранения двоичнодесятичных чисел. Они представляются в упакованной форме и содержат 18 тетрад, каждая из которых соответствует одному десятичному разряду.

Для представления знака такого числа используется старший разряд старшего байта (бит 79), в остальных разрядах этого байта устанавливаются нули.

Микропроцессор может обрабатывать числа следующих типов (табл. 2.1):

Таблица 2.1. Типы чисел 32-разрядного микропроцессора
Тип Размер, байт Диапазон Обработка
Целые без знака

1

2

4

0...255

0...65535

0...4,3*109

АЛУ ФТ
Целые со знаком

1

2

4

-128...+127

-32768...+32767

2,1*109...+2,1*109

АЛУ ФТ
8 9,1*1018...+9*1018 FPU
С плавающей точкой 4 (1+8+23)мантисса ±3,37*1035 FPU
8 (1+11+52) ±1,67*10308 308
10 (1+15+64) ±1,1*104932
Двоично- десятичные числа

1 распакованный

1 упакованный

10 упакованных

0…9

0…99

0..9…9(18 цифр)

АЛУ ФТ

АЛУ ФТ

FPU

Помимо этого микропроцессор может обрабатывать символьные данные, данные типа "строка" и типа"указатель".

Регистр тегов. Определяет содержимое регистра данных с целью оптимизации обработки:

  • 00 - достоверное значение;
  • 01 - нуль (нулевое значение);
  • 10 - не-числа (например, бесконечность);
  • 11 - пусто (содержание регистров не определено).

Операции с плавающей точкой требуют довольно много времени.

Использование тегов позволяет в определенных случаях сократить время выполнения команды. Например, если известно, что один из сомножителей равен нулю, то произведению можно присвоить нулевое значение без выполнения каких-либо действий.

Регистр состояния содержит указатель вершины блока данных, работающего в режиме стека ( TOP ), признаки результата и ошибок, возникающих при выполнении операции в FPU, а также флаг переполнения и антипереполнения стека регистров данных.

Регистр управления управляет округлением (к ближайшему значению, вниз, вверх, к нулю), точностью (длина мантиссы 24, 53 или 64 бита), а также содержит маску признаков ошибок, фиксируемых в регистре состояния.

Указатели команд и данных содержат адрес команды, вызвавшей ошибку, и адрес использованного операнда. Эти регистры имеют 48-разрядный формат: 16 разрядов содержат селектор соответствующего сегмента, а остальные 32 разряда - смещение в нем.

< Лекция 1 || Лекция 2: 123 || Лекция 3 >
Владислав Салангин
Владислав Салангин

приветствую создателей курса и благодарю за доступ к информации! понимаю, что это уже никто не исправит, но, возможно, будут следующие версии и было бы неплохо дать расшифровку сокращений имен регистров итд, дабы закрепить понимание их роли в общем процессе. 

Михаил Королёв
Михаил Королёв