Physics Faculty, Electronic Devices & Systems, 7th semester,2011
Dr. Mokhovikov Alexander YurievichLection №1: Preview and beginning (Обзорная лекция)
Lection №1: Preview and beginning (Обзорная лекция)
Lection#3: Программная модель процессора.
Lection#4: Регистры.
Lection#5: Организация памяти.
Lection#6: Режимы адресации.
Lection#7: Модель памяти в реальном режиме.
Lection#8: Стек.
Lection#9: Дескрипторы и таблицы.
Lection#10: Страничное управление памятью.
Lection#11: Виртуальная память.
Lection#12: Кэш.
IMPORTANT!
Данная учебная программа является примерной и возможны некоторые отступления и дополнения.
Preliminary!!!
Дополнительный код: представление об отрицательных числах.
Формат данных с плавающей точкой (FPU):
● одинарная точность (SP);
● двойная точность (DP);
● расширенная точность (EP).
Математический сопроцессор:
● основные понятия;
● схема взаимодействия CPU и FPU;
● программная модель FPU;
● регистры FPU.
Резюме к лекции и список используемой литературы
Р = 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
В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бейсика используют префикс «$».
Например, «$5A3».
Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т. д.) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
Другие версии Бейсика используют для указания шестнадцатеричных цифр сочетание «&h». Например, «&h5A3».
В Unix-подобных ОС (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как 0xCC, где CC — hex-код символа.
BCD можно записывать и десятичными цифрами, например 1997, и двоичными - 0001 1001 1001 0111.
Каждое DEC можно представить в виде BCD, например 19DEC = 19BCD,
!но! их двоичные представления не равны:
19DEC = 10011BIN, а 19BCD = 1 1001BIN.
Не каждая запись из нулей и единиц имеет двоично-десятичный эквивалент.
Например:
11001001BIN = ? BCD = C9HEX = 201DEC,
т.к. десятичной цифры 12 = 1100 не существует!
BCD применяется в калькуляторах, т.к. калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.
Недостатки
Усложнены арифметические операции.
Требует больше памяти.
В двоично-десятичном коде BCD существуют запрещённые комбинации битов:
Запрещённые в 8421-BCD битовые комбинации
1010 1011 1100
1101 1110 1111
Запрещённые комбинации возникают обычно в результате операций сложения, т.к в BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16.
При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110.
При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.
* **
0011 1001 0010 0111
+ 0100 1000 0101 0110
___________________
= 1000 0001 0111 1101 - Двоичная сумма
+ 0110 0110 - Коррекция ___________________
1000 0111 1000 0011
Пример операции сложения двоично-десятичных чисел:
Требуется: Найти число A = D + C,
где D = 3927, C = 4856
Решение: Представим числа D и C в двоично-десятичной форме:
D = 3927 = 0011 1001 0010 0111
C = 4856 = 0100 1000 0101 0110
'*' — тетрада, из которой был перенос в старшую тетраду; '**' — тетрада с запрещённой комбинацией битов
Далее следуют - тетрада (4 бита),
байт ( byte 8 бит),
двойное слово (DoubleWord 16 бит) или длинное (LongWord 16 бит) и учетверенное слова.
Младший бит обычно занимает крайнюю правую позицию.
Кодирование отрицательных чисел производится тремя наиболее употребительными способами, в каждом из которых крайний левый бит - знаковый.
Отрицательному числу соответствует единичный бит, а положительному - нулевой
Каждый способ оценивается по скорости и затратам на выполнение сложения и изменения знака числа, т.к. вычитание есть сложение с измененным знаком одного операнда.
00001001 = 9 11110111 =-9
11110110 - инверсия 00001000 - инверсия
1 1
11110111 =-9 00001001 = 9
Проблемы двух нулей нет. +0 = 00000000, -0 = 11111111 + 1 = 00000000
(перенос из старшего бита не учитывается).
Сложение производится по обычным для неотрицательных чисел правилам.
Sign определяет знак: 0 – «+»; 1 – «-».
Exponent хранит смещенное значение двоичного порядка
*displacement: SP= +127; DP= +1023; EP= +16383
Significant для нормализованного числа 1
На ранних этапах отладки в программе часто есть несколько ошибок.
Обработчик особого случая может при своем вызове сохранять в памяти диагностическую информацию.
После окончания программы не-числа привлекаются для обращения к диагностическим данным, сохраненным в памяти в моменты возникновения ошибок.
За один прогон можно обнаружить и исправить много ошибок.
Не-числа могут определять такие случаи:
неопределённость (IND), возникает при комплексном результате (например, при вычислении квадратного корня из отрицательного числа) и в некоторых других случаях,
недействительное значение (qNaN, sNaN) - может использоваться компилятором (для предотвращения использования неинициализированных переменных) или отладчиком,
нуль - в формате с плавающей запятой, нуль также считается специальным значением.
Основным исполнительным устройством математического сопроцессора является устройство обработки чисел с плавающей запятой(FPU – floating point unit).
Как правило, он не может самостоятельно выполнять программный код и получает поток инструкций от CPU. Таким образом программы для CPU и FPU находятся в одном потоке инструкций.
Однако сопроцессор при этом обладает собственным микропрограммным автоматом, набором регистров и исполнительными устройствами, т.e. являясь функционально независимым.
Также существует специальная команда ожидания (FWAIT), принудительно останавливающая процессор до завершения вычислений (если для продолжения программы необходимы их результаты).
FIST I
FADD ST(3)
MOV AX,I
Здесь процессор, встретив команду FADD, должен ожидать завершения команды FIST.
НАПРИМЕР
В следующей серии
Принцип двоичности:
Для представления данных и команд используется двоичная система счисления
Принцип программного управления:
Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности
Принцип однородности памяти:
Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления — чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными
Принцип адресуемости памяти:
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка
Принцип последовательного программного управления:
Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой
Принцип условного перехода:
Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода, которые изменяют последовательность выполнения команд в зависимости от значений данных
Neumann J. and co. “Preliminary Discussion of the Logical Design of an Electronic Computing Instrument”
— Institute for Advanced Study, Princeton, N. J., July 1946
http://de.ifmo.ru/--books/electron/cpu-cod.htm
http://www.soft-tlt.ru/pocessora46.html
http://www.gaw.ru/html.cgi/txt/doc/micros/arm/arh_7dtmi/interfase_process.htm
http://www.arxitektura-computerov.ru/node/261
http://xpoint.ru/know-how/Articles/FloatingPointNumbers
Используемые Интернет-ресурсы:
Книга «Архитектура ЭВМ»,автор Мюллер
Книга «Процессоры Pentium4, Athlon и Duron», авторы Михаил Гук, Виктор Юров
Книга «Архитектура ЭВМ», автор Танненбаум
Книга «Системы счисления и их применение», автор Гашков
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть