- •Организация и функционирование вычислительных машин
- •Раздел 1. Основные понятия архитектуры и организации эвм. 3
- •Раздел 2. Организация процессора и основной памяти вм 7
- •Раздел 3. Организация памяти в эвм 36
- •Раздел 4. Организация системы ввода-вывода в эвм. 52
- •Раздел1.Основныепонятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Организация аппаратных средств эвм
- •Типовая структура вм на микропроцессорных наборах
- •Раздел 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 битные вещественные числа.
Появился дополнительный набор команд:
Преобразование целых чисел в вещественные и обратно;
Вычисления среднего арифметического для элементов/частей регистров;
Специальные вычисления по итерационным формулам.
Все команды начинаются с FPxxx, так как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 бит
PackedDecimal- 18 десятичных цифр10 байт (80 бит)
pm
Положительная / отрицательная бесконечность 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 не число
не инициализировано
Сопроцессор называется так потому – что может работать параллельно с процессором после инициализации. Языки высокого уровня используют его непосредственно, а ассемблер порождает ESCкоманды.
Система команд сопроцессора: F XXX
Пересылки
FLD– загружает регистр сопроцессора из памяти (или из другого регистра).
FST– копирует содержимое регистра (сопроцессора, обычно из стека) в память или в другой регистр при этом аппаратный стек не меняется.
FSTP– аналогичноFSTтолько в конце выталкивает.
Загрузка констант: FLD1, FLDPi, . . .
Арифметические команды выполняют четыре арифметических действия над всеми типами данных. Даже обработка целых чисел в сопроцессоре идет по принципу вещественных чисел.
Элементарные функции: FSQRT,FABS,FSIN,FCOS,FPTAN,FPATAN, . . .
F2XM1 = 2X – 1 FYL2X = Y * Log 2 X
Команды управления.
При программировании обработки выражений в сопроцессоре, они представляются в виде польской инверсной записи (ПОЛИЗ или RPN–ReversedPolishNotation). Любое выражение преобразуется к постфиксному виду (бесскобочная запись).
Примеры:
f:= (a + b) * pi – c
ab + pi * c – f :=
f:= atan ( sqrt (x2 / (x2 - 1) )
xx * xx * 1 - / sqrt atan f :=
Для первого примера.
DataSegment
aDQ2.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
ExpressionEndP
CodeEndS
Здесь и далее иллюстрации использования команд и описания процессов обработки приводятся на языке Ассемблера, краткие сведения по которому приведены вприложении 1.