- •Основные понятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Методы организации эвм Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Способы организация аппаратных средств эвм
- •1) Эвм с непосредственными связями
- •2) Эвм с канальной организацией
- •3)Шинная организация
- •4)Организация с общей шиной (Unibus)
- •Типовая структура вм на микропроцессорных наборах
- •Раздел 2. Организация процессора и основной памяти вм
- •Типовая структура процессора и основной памяти
- •Основной цикл работы процессора
- •Организация процессора и памяти в микропроцессоре Intel 8086
- •Организация стека процессора
- •Распределение оперативной памяти в i8086, ms dos
- •Организация выполняемых программ в ms dos
- •Режимы адресации памяти в микропроцессоре Intel 8086
- •1. Регистровая адресация
- •2. Непосредственная адресация
- •3. Прямая адресация
- •4. Косвенная адресация
- •5. Адресация по базе
- •6. Косвенная адресация с масштабированием
- •7. Адресация по базе с индексированием и масштабированием
- •Система команд i8086
- •3DNow! от amd
- •Организация прерываний в процессоре Intel 80x86
- •Управление выполнением команд в эвм.
- •Способы формирования управляющих сигналов.
- •Способы кодирования микрокоманд.
- •Компьютеры с сокращенным набором команд.
- •Арифметические особенности risc процессоров.
- •Раздел 3. Организация памяти в эвм
- •Основные среды хранения информации.
- •Виды запоминающих устройств.
- •Память с произвольной выборкой.
- •Постоянные запоминающие устройства.
- •Ассоциативные запоминающие устройства (азу)
- •Иерархическая система памяти
- •Организация памяти типа кэш.
- •Организация структуры основной памяти в процессорах ix86.
- •Организация виртуальной памяти.
- •Организация виртуальной памяти на i386 и более старших моделях.
- •Организация работы с внешней памятью.
- •Организация работы с файлами на дисках в ms-dos.
- •Раздел 4. Организация системы ввода-вывода в эвм.
- •Архитектура систем ввода-вывода.
- •Способы выполнения операции передачи данных
- •Структуры контроллеров внешних устройств, для управления различными режимами передачи данных.
- •Программные средства управления вводом-выводом.
- •Основные компоненты процедуры управления ввода-вывода общего вида
- •Состав и реализация устанавливаемого драйвера символьного типа
- •Краткое введение в язык ассемблера.
- •1. Директивы задания данных
- •2. Директивы сегментации программы
- •3. Директивы группирования.
- •4. Порядок размещения сегментов.
- •5. Директивы ограничения используемых команд.
3DNow! от amd
Появился дополнительный тип данных: упакованные 32 битные вещественные числа.
Появился дополнительный набор команд:
Преобразование целых чисел в вещественные и обратно;
Вычисления среднего арифметического для элементов/частей регистров;
Специальные вычисления по итерационным формулам.
Все команды начинаются с FP xxx , так как F (float) вещественный тип данных, а P – это MMX.
Обработка чисел с плавающей запятой.
Применяется с использованием математического сопроцессора, который до i486 выполнялся в виде отдельной микросхемы (8087 – 80387).
Независимо от наличия сопроцессора, обработка может быть осуществлена тремя способами:
Использование библиотеки эмулятора - автоматически определяет сопроцессор, если он есть, то все подстраивается под него, если нет, то будет эмулировать.
При отсутствии библиотеки математического сопроцессора возникает прерывание и выполнение программы будет прервано.
Использование библиотеки альтернативной математики - считается, что сопроцессор отсутствует.
Первый способ несовместим с резидентными программами (так как одни и те же прерывания используются для эмулятора и резидентных программ). Поэтому для таких программ надо использовать третий способ. Второй способ самый быстрый.
Назначение математического сопроцессора:
Выполнение обработки целых и вещественных чисел с помощью арифметических операций, а также логарифмических и трансцендентных функции обеспечивает точность до 18 разрядов.
Np |
Знач десятичных чисел |
Диапазон | |
32 Короткое веществ |
6 / 7 |
10-38 - 1037 |
|
64 Длинное веществ |
15 / 16 |
10-308 - 10307 |
|
80 Расширенное веществ |
18 / 19 |
10-4932 - 104931 |
|
Word Integer - 16 бит
Short Integer - 32 бит
Long Integer - 64 бит
Packed Decimal - 18 десятич цифр 10 байт (80 бит)
p m
Полож /отрицат бесконечность 01 | 1 … 1 00 … 0
Неопределенность 1 | 1 … 1 10 … 0
Не число 0 | 1 … 1 0
Сопроцессор представляется расширением центрального процессора с дополнительными восьмью восьмидесяти битными регистрами в виде аппаратного стека с номерами: st(0) – st(7) Для задания вершины стека используется регистр ST, который указывает на один из восьми регистров.
Управляющие регистры:
SR (слова состоянием ) флаг условий, занятость сопроцессора, флаги ST.
CR – регистр управления, задает режим обработки (способы округления, точность и маскирование ошибок).
TW – теговый регистр содержит двух битовое поле для каждого из восьми регистров сопроцессора
TW i - st(i)
вещественное число не равное нулю
вещественно число равно нулю
10 не число
11 не ициализированно
Сопроцессор называется так потому – что может работать параллельно с процессором после инициализации. Языки высокого уровня используют его непосредственно, а ассемблер порождает ESC команды.
Система команд сопроцессора: F XXX
Пересылки
FLD – загружает регистр сопроцессора из памяти (или из другого регистра).
FST – копирует содержимое регистра (сопроцессора, обычно из стека) в память или в другой регистр при этом аппаратный стек не меняется.
FSTP – аналогично FST только в конце выталкивает.
Загрузка констант: FLD1, FLDPi, . . .
Арифметические команды выполняют четыре арифметических действия над всеми типами данных. Даже обработка целых чисел в сопроцессоре идет по принципу вещественных чисел.
Элементарные функции: FSQRT, FABS, FSIN, FCOS, FPTAN, FPATAN, . . .
F2XM1 = 2X – 1 FYL2X = Y * Log 2 X
Команды управления.
При программировании обработки выражений в сопроцессоре, они представляются в виде польской инверсной записи (ПОЛИЗ или RPN – Reversed Polish Notation). Любое выражение преобразуется к постфиксному виду (бесскобочная запись).
Примеры: f:= (a + b) * pi – c
ab + pi * c – f :=
f:= atan ( sqrt (x2 / (x2 - 1) )
xx * xx * 1 - / sqrt atan f :=
Для первого примера.
Data Segment
a DQ 2.5
b DQ 6.0
c DQ 3.5
f DQ ?
Data End
Code Segment
Assume cs : Code, ds : Data
Public f
Expression Proc Far
Fld a st(0)
Fld b st(1)
Fadd st(0) + st(1) st(0)
Fld pi pi st(1)
Fmnl st(0) * st(1) st(0)
Fld c st(1)
Fsub st(0) – st(1) st(0)
Fstp f f:= st(0); st(1) st(0)
Ret
Expression EndP
Code EndS
Здесь и далее иллюстрации использования команд и описания процессов обработки приводятся на языке Ассемблера, краткие сведения по которому приведены в приложении 1.