
- •Основные понятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Методы организации эвм Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Способы организация аппаратных средств эвм
- •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. Директивы ограничения используемых команд.
Компьютеры с сокращенным набором команд.
(КСНК (RISC - Reduced Instruction Set Computer))
КСНК представляет собой возвращение к принципам аппаратного управления выполнением команд.
Первое и второе поколение машин содержало менее пятидесяти команд, основная проблема, по которой набор команд не расширялся - это цена аппаратуры, а также программирование в кодах (программист не мог запомнить большое количество команд). Затем аппаратные средства подешевели, появился опыт компилирования и оптимизации объектного кода.
Аппаратное управление 50-е годы (эра аппаратчиков)
Микропрограммное управление 60 – 80-е годы (эра программистов)
Основной лозунг Микропрограммного управления: больше команд хороших и разных.
Требования программистов:
Минимизация программ
Упрощения реализации компиляторов.
К этому времени разрыв набора команд между различными компьютерами был от 50 до 300 команд (рекордсменом был Vax11/780, у него было 303 команды).
Этот подход стал понижать производительность при размещении одного процессора на одном кристалле, так как около шестидесяти процентов площади кристалла занимало микропрограммное управление. А реализация на разных кристаллах также приводила к понижению производительности, да к тому же еще и снижала выход годных кристаллов. И в результате концу 80-х при активном развитии микропроцессорной техники и СБИС резко уменьшилось количество машинных команд и возврат к 50 командам (которые наиболее часто использовались). В конце концов, появились CISC компьютеры. (Complex Instruction Set Computer – машины со сложным набором команд)
Основной лозунг RISC компьютеров: меньше команд, выше скорость выполнения.
Основной закон:
Система команд должна содержать минимальный набор, наиболее часто используемый и наиболее простых команд.
Четыре принципа RISC архитектуры:
Любая команда независимо от ее типа должна выполнять за один машинный цикл, обратно пропорциональный тактовой частоте процессора (стандартом является команда сложения регистра с регистром, она занимает от 3 – 10нс.).
Все команды должны иметь одинаковую длину и минимальное число форматов (обычно не более 2 -3), это упрощает логику управления при выборе и при исполнение команды.
Обращение к памяти производиться только по специально выделенным командам работы с памятью типа:
Load – загрузка
Store – выгрузка
а вся обработка данных должна вестись в регистровом формате.
Система команд должна обеспечивать поддержку компиляции с конкретного языка программирования в системе машинных команд(RISC компиляторы на порядок сложнее чес для CISC).
Немного истории:
Идея создания RISC компьютера была реализована в машинах Cray–1.
В 1975 году (сотрудник IBM) John Cook впервые попытался применить RISC архитектуру
в IBM 370 (команд стало 50, два формата записи команд), при этом быстродействие повысилось в два – три раза.
Само название RISC появилось в середине восьмидесятых годах, в институте Беркли создали машину RISC–1, после RISC–1 последовал RISC–2.
MIPS (серийный выпуск машин) – R4000 – R10000
SUN – SPARC
HP – HP PA7xxx – PA9xxx (PA – Precision Architecture)
DEC – Alpha 21xx
IBM + Apple – Power PC
Формат команд и структура процессора RISC–1.
7 |
1 |
5 |
5 |
1 |
13 |
КОП |
Усл |
Dest |
SRC1 |
IMM |
SRC2 |
31 25 |
24 |
23 19 |
18 14 |
13 |
12 0 |
Большинство команд RISC процессора являются трех адресными.
Код операции.
Бит условия.
Регистр назначения (длина пять бит) NPOH = 32.
Источник 1
If IMM = 1 SRC2 – непосредственное данное
If IMM = 0 SRC2 – регистр
Недостаток: удлиняет длину команды на восемь бит.
Существует два вида формата команды.
Rd Rs1 op S2
Rd M((Rs1) + S2) / адрес
Структура процессора RISC1
Форма записи команд в регистровом варианте облегчает реализацию конвейерного исполнения команды, так как исключает конфликты обращения к памяти.
Пример:
E = (A + B) x (C + D)
Двух адресная обработка команд (CISC).
Add b, a
Add d, c
Mull d, b
Store e, d
║ВК|ДШ|ОА|ВО|ИСП|ЗР║ВК|
| | ║ВК|ДШ|ОА|ВО|ИСП|……|ЗР║
| | ║ВК|ДШ|ОА|……|……|……|ВО|
| | ║……|……|……|……|……|……|ВК|
| |
Трех адресная обработка команд (RISC).
Add R1, R2, R6
Add R3, R4, R7
Mull R6, R7, R5
S1 S2 d
║ ВК
| ДШ
|
ИСП
║
║ ВК
| ДШ
|
ИСП
║
║ ВК
| ДШ
|
ИСП
║
Основная проблема: при большом количестве используемых регистров надо сохранять их в памяти при переключениях с программы на программу. Решение проблемы сохранения и восстановления набора регистров при вызове подпрограмм предлагается реализовать следующими способами:
Организация окон перекрытия регистров.
MORS – Multiple Overlapping Register Set. (Rolodex в RISC–1)
Сто тридцать восемь регистров в RISC-1, они распределялись между восьмью программами (по тридцать два).
Физические
регистры
Недостатки:
Ограниченное число параметров при передаче через регистры.
Ограниченное число подпрограмм, которые могут предоставлять регистры окна.
Решение:
Включить аппаратные ресурсы (недостаток: портит RISC архитектуру).
Сохранение регистров окна в памяти (недопустимо в системах реального времени).
Изменение контекста задачи (изменение регистров окна), при этом потери составят от 100 до 1000 машинных тактов.
RISC-2, для удобства работы с регистровыми окнами, реализован подход Omega():
Внутренние кольцо – Rolodex
Внешние кольцо – буферная память, используется для сохранения текущего окна, которое мы замещаем.
Rolodex широкого развития не получило. В современных процессорах регистры сохраняются в кэше, эффективное использование кэша при сохранении регистров, оптимизация и распределение регистров между процедурами обеспечиваются с помощью компилятора.