Слайд 1Типы данных (скалярные)
Целочисленный
Двоично-десятичный
Бинарный вещественный
Десятичные вещественный
Слайд 2Целочисленный тип данных
Разрядность : 8, 16 , 32, 64 бита.
Знаковые
и без знаковые
Знаковые данные представляются в дополнительном коде.
Пример знаковых чисел:
Слайд 3Двоично-десятичный тип данных
Разрядность : 8, 16 , 32, 64 бита.
Каждая
четверка бит представляет десятичную цифру.
Пример:
Слайд 4Бинарный вещественный тип данных
Формат
Разрядность
Слайд 5Десятичные вещественный
тип данных
Формула бинарного вещественного типа
Формула десятичного вещественного типа
Причина: Повышение
точности бизнес вычислений.
Слайд 6Типы данных (векторные)
Вектор - это набор однотипных элементов в едином
блоке.
«Размер вектора» = «размер элемента» Х «количество элементов»
Слайд 7Типы данных (векторные)
Размеры вектора: 64, 128 бит.
Тип элемента вектора: целочисленный
и вещественный
Размер элемента вектора: 8, 16, 32, 64 бита
Слайд 8Где могут находиться операнды инструкции ?
В коде инструкции
В регистрах
В
памяти
Слайд 9Режимы адресации
1. Непосредственная (Immediate). Операнд в теле инструкции.
2. Регистровый (Register).
В инструкции храниться адрес регистра, который содержит операнд.
Пример:
Слайд 10Режимы адресации операндов в памяти.
Слайд 11Режимы адресации операндов в памяти (продолжение).
Слайд 12Режимы адресации операндов в памяти (продолжение).
Адресация с масштабированием .
Характеризуется наличием масштабирующего коэффициента. Может сочетаться со следующими типами адресации:
индексной, базово-индексной, базово-индексной со смещением, абсолютной.
Коэффициент равен размерам базовых типов в байтах {2,4,8}. Храниться в коде инструкции.
Пример:
Слайд 13Режимы адресации операндов в памяти (продолжение).
Адресация с автомодификацией
Изменяет значение
базового регистра на заданное число.
Число задается непосредственно или хранится
в регистре.
Бывает постфиксная и префиксная.
Применяется совместно с базовой, индексной или базово-индексной адресациями.
Пример:
Слайд 14Режимы адресации операндов в памяти (окончание).
Относительный режим.
Индексный режим, где
в качестве базового регистра используется счетчик команд.
Пример:
Слайд 15Выравнивание адреса операнда в памяти
Адрес операнда в памяти выровнен, если
выполняется следующие условие:
a mod s =0 , где а
– адрес операнда, s размер операнда.
Пример:
Слайд 16Порядок байт в слове
От младшего к старшему (little-endian)
От старшего к
младшему (big-endian)
Пример расположения int-а в памяти.
Байт 0 младший, байт 3
старший.
Слайд 17Преимущества little-endian
В памяти расположено int число 0x00000003 по адресу А.
Слайд 18Задачи решаемые при проектировании набора инструкций
Функциональная полнота.
Простота декодирования
Уменьшение объема программного
кода
Достижение высокого быстродействия
Слайд 19Плотность кода
Определяет количество элементарных операций размещаемых в единице объема кода.
Слайд 20Тип кодирования инструкций
Постоянной длины
Переменной длины
Комбинированный
Слайд 21Типы инструкций
Инструкции пересылки
Арифметико-логические и сдвиговые инструкции.
Инструкции управления
Слайд 22Типы инструкций пересылки
Инструкции загрузки и сохранения данных из/в память.
Инструкции
загрузки констант в регистры.
Безусловные инструкции пересылки между регистрами процессора
Условные инструкции
пересылки
Слайд 23Характеристики инструкций загрузки и сохранения
1. Разрядность данных: 8,16,32,64,128 бит.
2.
Тип загружаемых данных: целочисленный беззнаковый, целочисленный знаковый, вещественный, векторный.
3. Тип
используемой адресации.
4. Порядок байт в слове.
Слайд 24Отличие знаковой и беззнаковой загрузки целочисленных данных
Беззнаковая инструкция загрузки дополняет
старшие биты числа нулями.
Беззнаковая инструкция загрузки дополняет старшие биты числа
знаковым битом.
Пример:
Слайд 25Дополнительные характеристики инструкций пересылки.
Характеристики инструкций загрузки констант
1. Разрядность константы.
2. Способ
расширения константы до требуемого размера.
Характеристики инструкций безусловной пересылки между
регистрами процессора.
Типы регистров между которыми возможна прямая пересылка данных.
Слайд 26Характеристики инструкций условной пересылки
Тип: трехадресный, четырехадресный.
Способ задания условия.
Пример:
move dest reg,
src reg1, src reg2
Dest Reg
Cond
Src Reg 1
Src Reg 2
Dest
Reg 1
Cond
Src Reg 1
Src Reg 2
! Cond
Dest Reg 2
Трехадресная
четырехадресная
Слайд 27Использование инструкций условной пересылки
Код на С
If (condition)
a = b;
Else
a=c;
Код на
ассемблере
cmp condition
je m1
mov a,c
jmp m2
m1: mov a,b
m2:
Код на ассемблере с
инструкцией условной пересылки
cmp condition
move a,b,c