Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
31.05.2015
Размер:
1.46 Mб
Скачать

Lection №1: Preview and beginning (Обзорная лекция)

Физический факультет, ЭВУ и системы, 7 семестр,2011 Доцент Моховиков А..Ю. Physics Faculty, Electronic Devices & Systems, 7th semester,2011 Dr. Mokhovikov

Alexander Yurievich

Preliminary program of lection topics

Lection#1: Математический сопроцессор.

Lection#2: Архитектура по фон Нейману.

Lection#3: Программная модель процессора.

Lection#4: Регистры.

Lection#5: Организация памяти.

Lection#6: Режимы адресации.

Lection#7: Модель памяти в реальном режиме.

Lection#8: Стек.

Lection#9: Дескрипторы и таблицы.

Lection#10: Страничное управление памятью.

Lection#11: Виртуальная память.

Lection#12: Кэш.

IMPORTANT!

Данная учебная программа является примерной и возможны некоторые отступления и дополнения.

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Outline

Двоичная система исчисления:

идеология или как цифры попадают в компьютер;

представление чисел в bin-форме.

Дополнительный код: представление об отрицательных числах.

Формат данных с плавающей точкой (FPU):

● одинарная точность (SP);

 

 

 

● двойная точность (DP);

Sign

Exponent

Significant

 

 

(знак)

(порядок)

(мантисса)

● расширенная точность (EP).

 

 

 

 

 

 

Математический сопроцессор:

 

основные понятия;

схема взаимодействия CPU и FPU;

программная модель FPU;

регистры FPU.

Резюме к лекции и список используемой литературы

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Двоичная система: полиномная запись чисел

Полиномная запись числа:

Zsys(p)= Cn-1*pn-1 + Cn-2* pn-2 +…+C0+…+C-m* p-m

Р = 16 – шестнадцатеричная; (hex) P = 10 – десятичная; (dec)

P = 8 – восьмеричная; (oct) Р = 2 – двоичная. (bin)

Например:

1.777dec= 7·102 + 7 ·101 + 7 ·100

2.777.32dec= 7·102 + 7 ·101 + 7 ·100 + 3 ·10-1 + 2 ·10-2

3.101.01bin = 1·22 + 0 ·21 + 1 ·20 + 0 ·2-1 + 1 ·2-2

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Системы счисления:в языках программирования

В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:

В Ада и VHDL такие числа указывают так: «16#5A3#».

В Си и языках схожего синтаксиса, например, в Java, используют префикс «0x». Например, «0x5A3».

В некоторых ассемблерах используют букву «h», которую ставят после числа. Например, «5A3h». При этом, если число начинается не с десятичной цифры, то для отличия от имён идентификаторов (например, констант) впереди ставится

«0» (ноль): «0FFh» (25510).

Другие ассемблеры (AT&T, а также Паскаль и некоторые

Бейсика используют префикс «$». Например, «$5A3».

Некоторые иные

например ZX Spectrum в своих ассемблерах (MASM, TASM, GENS и т. д.) использовали запись

#5A3, обычно выровненную до одного или двух байт: #05A3.

Другие версии Бейсика используют для указания шестнадцатеричных цифр сочетание «&h». Например, «&h5A3».

В Unix-подобных ОС (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как 0xCC, где CC — hex-код символа.

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Системы счисления: сводная таблица

Непозиционная двоично-десятичная (BCD) системы счисления

В BCD системе вес каждого разряда равен степени 10, как в десятичной системе, а каждая цифра i-го разряда кодируется 4-мя двоичными цифрами.

Восьмеричная СС (OCT) применяется реже.

BCD можно записывать и десятичными цифрами, например 1997, и двоичными - 0001 1001 1001 0111. Каждое DEC можно представить в виде BCD, например 19DEC = 19BCD,

!но! их двоичные представления не равны:

19DEC = 10011BIN, а 19BCD = 1 1001BIN.

Не каждая запись из нулей и единиц имеет двоично-десятичный эквивалент. Например:

11001001BIN = ? BCD = C9HEX = 201DEC,

т.к. десятичной цифры 12 = 1100 не существует!

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Системы счисления: BCD

Преимуществ

а

 

Упрощён вывод чисел на индикацию

 

 

 

— вместо последовательного деления

 

 

 

на 10 требуется просто вывести на

 

 

 

индикацию каждый полубайт.

 

 

 

 

Аналогично, проще ввод данных с

 

 

 

цифровой клавиатуры.

 

 

Недостатки

 

Для дробных чисел (как с

 

 

 

 

 

 

 

фиксированной, так и с плавающей

Усложнены арифметические

 

запятой) при переводе в

 

 

 

операции.

 

человекочитаемый десятичный формат

 

Требует больше памяти.

 

и наоборот не теряется точность.

 

В двоично-десятичном коде

 

Упрощены умножение и деление на

 

 

BCD существуют запрещённые

 

10, а также округление.

 

 

 

комбинации битов:

 

 

 

 

BCD применяется в калькуляторах, т.к.

 

 

 

калькулятор в простейших арифметических

Запрещённые в 8421-BCD битовые комбинации

операциях должен выводить в точности

1010

1011

1100

такой же результат, какой подсчитает человек

1101

1110

1111

на бумаге.

 

 

 

 

 

 

 

Запрещённые комбинации возникают обычно в результате операций сложения, т.к в BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16.

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

Системы счисления: BCD

При сложении и вычитании BCD действуют следующие правила:

1.При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110.

2.При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.

3.При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.

Пример операции сложения двоичнодесятичных чисел:

Требуется: Найти число A = D + C,

где D = 3927, C = 4856

Решение: Представим числа D и C в двоичнодесятичной форме:

D = 3927 = 0011 1001 0010 0111

C = 4856 = 0100 1000 0101 0110

* **

0011 1001 0010 0111 + 0100 1000 0101 0110

___________________

=1000 0001 0111 1101 - Двоичная сумма

+0110 0110 - Коррекция

___________________

1000 0111 1000 0011

'*' — тетрада, из которой был перенос в старшую тетраду; '**' — тетрада с запрещённой комбинацией битов

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

МАШИННОЕ ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ

Микропроцессоры обрабатывают упорядоченные двоичные наборы. Минимальной единицей информации является один бит.

Далее следуют - тетрада (4 бита),

байт ( byte 8 бит),

двойное слово (DoubleWord 16 бит) или длинное (LongWord 16 бит) и

учетверенное слова.

Младший бит обычно занимает крайнюю правую позицию.

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich

ЧИСЛА С ФИКСИРОВАННОЙ ТОЧКОЙ

Такие числа могут быть как целыми, так и дробными. Точка мысленно фиксируется рядом с любым разрядом. Если она располагается справа от младшего бита, то число целое, если слева от старшего - число дробное.

ЧИСЛА С ФИКСИРОВАННОЙ ТОЧКОЙ

Прямой код

Обратный код(инверсный)

Дополнительный код

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

Отрицательному числу соответствует единичный бит, а положительному - нулевой

Каждый способ оценивается по скорости и затратам на выполнение сложения и изменения знака числа, т.к. вычитание есть сложение с измененным знаком одного операнда.

Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich