Ю.Н. Пронкин - Лекции по ЭВМ (2-3 семестры) (972268), страница 3
Текст из файла (страница 3)
Целые числа без знакаХ – основание системы исчисленияan-1…. a2 a1 a0 = an-1xn-1 + an-2 xn-2 + ….. + a0x0 - расширенная запись числаВ нашем курсе (как это не было бы неожиданно): Х = 2;Пример: 01012 =0*23 + 1*22 + 0*21 + 1*20 = 510;00002 = 016 01012 = 516 10112 = А1600012 = 116 01102 = 616 11002 = В1600102 = 216 01112 = 716 11012 = C1600112 = 316 10002 = 816 11102 = D1601002 = 416 10012 = 916 11112 = F16Пример: 0111 1010 11102 = 7AE16Лекция №13. 15.05.20101. С фиксированной точкой d….d.ff…f2. С плавающей точкойКороткое вещественное число (float)Рис. 13.1.Временное вещественное число (long double)Рис.13.2Зададим себе вопрос: Что плохо влияет на точность вычислений?Любые операции над числами сильно различного порядка.1.2.
Двоично - кодированные десятичные числа00002 = 010 01012 = 51000012 = 110 01102 = 610 11002 - «+»00102 = 210 01112 = 710 11012 - «-»00112 = 310 10002 = 81001002 = 410 10012 = 910(i) Упакованный форматРис. 13.2.(ii) Неупакованный форматРис.13.3.Пример:Рис. 13.4II курсЛекция №104.09.2010Наше желание – заглянуть внутрь структуры.Рис. 1.1 (основные логические элементы)Элементы, играющие пассивную роль, лежат в левой части схемы. Элементы, играющие активную роль,справа.Указатель команд (специально выделенный регистр) – фактическое воплощение инициатора программывыполнения.Регистр состояния (иногда, «регистр флагов») – (в некоторых случаях нас могут интересовать мелкиеизменения в процессе выполнения программы) регистр, который фиксирует микро изменения вовнутреннем состоянии процессора.Регистры управления памятью – некоторые регистры, обслуживающие процессы конвертации ипреобразования адресов из одной системы в другую.Арифметико-логическое устройство – выполняет все действия, вычисления процесса, инициированныенашей программой.Устройство управления – логический модуль процесса, «говорящие» АЛУ, что конкретно ему необходимоделать.Устройство управления памятьюУстройство управления шиной – логические элементы, планирующие загрузку магистрали.3 нижних элемента:- Очередь команд- КЭШ команд- КЭШ данных1) Рассмотрим теперь каждый элемент более подробноРегистр общего назначения (General Purpose Registers)Временное сохранение данных при выполнении команд программы (под данными понимаютсяданные и адреса).
Идейно, можно разделить РОН на Регистры данных и Регистры адресов (например,указатель стека). Данные регистры работают, соответственно, с данными и адресами.Лекция №28.09.2010Адрес, занимающий стек 32, часто не является целым объектом длины 32, а некоторой группы (таблицы)элементов, определяющих его.Рис.
2.1 (нет в наличии)Указатель команд (Instruction Pointer) хранит адрес следующей команды.Последовательность действий при выборе команды:1)2)3)4)Выборка команды из ОП или очереди команд по текущему значению IPДекодирование командИзменение значений IPОпрос подсистемы прерываний (например, нажатие клавиш клавиатуры при выполнении командывызывает прерывание команды, для выполнения действия клавиши)5) Выполнение командыРис.2.2Выполняем команды по А, пока не встретили вызов некоторой операции В. Переходим в В, выполняем,возвращаемся в А и продолжаем выполнение в указанном порядке. Но как понять, на какой адрес вернутьсяпосле выполнения В? Этот адрес сохранен в IP, и сохраняет до момента нашего возвращения.Изменение значения IPВозможны два случая:1) текущая команда не является командой передачи управления (команда перехода)2) текущая команда есть команда передачи управленияВ первом случае: значение IP увеличивается на длину текущее команды после ее декодирования.Во втором случае: (важно понимать, что команды CALL и GO TO на командном языке есть практически однои то же, с той лишь разницей, что при CALL сохраняется обратный адрес, а при GO TO нет) любое значение IPявно или неявно определяется аргументом команды передачи управления.CALL B, jmp L – примеры явного определения IP.Рис.
2.3 – косвенные переход – пример неявного задания IP.Регистр Состояния (Status register, Flag register, Program Status Word)Фиксирует внутренние изменения состояния процессора и результаты выполнения команд. Но результатвыполнения команд здесь нужно понимать, как микро результаты выполнения микро задач (0 или не 0,например).Вспомним понятие Flag – индивидуальные двоичные разряды (или очень малые их группы),регистрирующий некоторый элемент в состоянии выполнения команды в виде 0 и 1. (см. рис.
2.4).Рис 2.4Типовые флаги состояния процессора.CF (Carry Flag) – флаг переноса – равен 1, если перенос разряда за пределы разрядной сетки. В противномслучае равен 0.Теперь пусть выброс БЫЛ. Тогда надо охарактеризовать причины этого происшествия:- переполнение разрядной сетки. Нечетко определен выброс элемента за младший член (см. рис 2.5), но мыего определим позже.- команды сдвигаРис 2.5PF (Parity Flag) – флаг паритета, или флаг четности.Контроль паритета – простейший способ контроля правильности результата.
(Рис.2.6)Рис. 2.6.Принимается соглашение, что в каждом элементе памяти всегда четное количество бит. Например,договоримся, что в каждом числе четное количество 1, а у нас получилось нечетное. Тогда в бит паритетадобавляется 1.Следовательно, флаг паритета дополняет количество 1 в машинном элементе данных до принятого всистеме.ZF (Zero Flag) – флаг нулевого результата – равен 1, если результат выполнения команды равен нулю. Впротивном случае равен 0.Пример:Sub B, A- из А вычли В и результат помещаем в Вjnz L- переход во нулевому флагуИЛИTest B, A- аналогично Sub, но не заменяет В на результат, а только проверяет, что получится.SF (Sign Flag) – флаг знака – равен 1, если результат выполнения команды меньше нуля.И равен 0, если результат больше нуля.OF (Overflow Flag) – флаг переполнения – равен 1, если возникло переполнение в команде обработки целыхчисел со знаком.0101 = 51010101+1011 = -510Регистры управления памятью (Memory Management Register)Используются устройством управления памятью, для преобразования адресов.Лекция №311.09.2010Арифметико-логическое устройство (Arithmetic-logic Unit)Реализует операции, предусмотренные машинными командами, но не интересуется, зачем это делалось –выполняет команды Управляющего устройства.Устройство управления (Control Unit)1)2)3)4)5)Выборка командРасшифровка кода операцииДекодирование и извлечение операндовПередача или загрузка операндов в АЛУУправление работой АЛУУстройство управления памятью (Memory Management Unit)1) Преобразование адресов2) Реализация механизмов защиты памяти3) Разделение адресного пространства задач и операционной системы (абстрактная картинка)Устройство управления шиной (Bus Control Unit)1) Синхронизация работы на системной шине2) Буферирование данных3) Разрешения возможных конфликтов на системной шинеОчередь команд (Instruction Queue)Временное хранение команд перед их передачей на выполнение.КЭШ данных (Data Cache)Сохранение часто используемых данныхКЭШ команд (Instruction Cache)Сохранение часто используемых командЛекция №418.09.2010Пример микропроцессорной архитектуры: x86Год создания 1979 версия 8086Разрядность регистра:16Разрядность адреса:20Сегментная модель организации памяти Данных: 16 Целая арифметика Режим реального (физического)адресаСопроцессорная конфигурация 8086/8087.Негативный момент процессора 8086 то, что он 16-радрядный, без возможности реконструкции до 32-ух.«8087 одно из самых выдающихся изобретений человечества!»Параллельные очереди команд в сопроцессоре.
Это ведет к возможности рассинхронизации, влекущей квременной задержки работы обоих процессоров.Год создания 1980 версия 8088/8087Разрядность регистра:16Разрядность адреса:20Данных: 8Было сделано ради удешевления. Целая арифметика Режим реального адресаВ итоге производительность уменьшилась всего в 10%, выиграв в цене большие проценты.Год создания 1980 версия 80186 Разрядность регистра:16 Разрядность адреса:20 Данных: 16 Целая арифметика. Режим реального адреса. Встроенный контроллер прерывания.Встроенный контроллер – непосредственное обслуживание контролером при внешней команде.Рис 4.1.Режим болинга - проверка внешних команд через некоторый период.Год создания 1982 - версия 80286/8028780287 – арифметический процессор.Разрядность регистра:16Разрядность адреса:24Данных: 16Целая арифметикаРежим реального адреса и Режим виртуального защищенного адреса.Год создания 1985 - версия 80386/80387Рис 4.2Разрядность регистра:32Разрядность адреса: 32Данных: 32Целая арифметикаРежим реального адреса и Режим виртуального защищенного адреса.Аппаратная поддержка страничной виртуальной памяти.
(см. рис. 4.2)Сегмент – некий фрагмент, блок памяти, имеющий переменный адаптированный размер.Страница – единица памяти, обладающая фиксированный размер. При нехватке памяти берется следующаястраница.Год создания 1987 версия 80486 (80386 + вычисления с плавающей точкой)Реализован принцип внутреннего удвоения тактовой частоты – при выполнении внутреннихопераций используется частота в два раза больше, чем у входного тактического генератора.Год создания 1990 Наше ВремяPentium X, где Х = 1, … , 4.1.2.3.4.5.Конвейерная обработка команд (см. предыдущий семестр)Использование КЭШ-памяти команд и данныхНаличие внутреннего параллелизмаУвеличение количества рабочих регистровПовышение тактовой частотыЛекция №522.09.2010х86, регистр реального адресаРегистры общего назначенияРис.