- •Организация и функционирование вычислительных машин
- •Раздел 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. Директивы ограничения используемых команд.
Компьютеры с сокращенным набором команд.
(КСНК (RISC - Reduced Instruction Set Computer))
КСНК представляет собой возвращение к принципам аппаратного управления выполнением команд.
Первое и второе поколение машин содержало менее пятидесяти команд, основная проблема, по которой набор команд не расширялся - это цена аппаратуры, а также программирование в кодах (программист не мог запомнить большое количество команд). Затем аппаратные средства подешевели, появился опыт компилирования и оптимизации объектного кода.
Аппаратное управление 50-е годы (эра аппаратчиков)
Микропрограммное управление 60 – 80-е годы (эра программистов)
Основной лозунг Микропрограммного управления: больше команд хороших и разных.
Требования программистов:
Минимизация программ
Упрощения реализации компиляторов.
К этому времени разрыв набора команд между различными компьютерами был от 50 до300 команд (рекордсменом былVax11/780, у него было 303 команды).
Этот подход стал понижать производительность при размещении одного процессора на одном кристалле, так как около шестидесяти процентов площади кристалла занимало микропрограммное управление. А реализация на разных кристаллах также приводила к понижению производительности, да к тому же еще и снижала выход годных кристаллов. И в результате концу 80-х при активном развитии микропроцессорной техники и СБИС резко уменьшилось количество машинных команд и возврат к 50 командам (которые наиболее часто использовались). В конце концов, появилисьCISCкомпьютеры. (ComplexInstructionSetComputer– машины со сложным набором команд)
Основной лозунг RISCкомпьютеров: меньше команд, выше скорость выполнения.
Основной закон:
Система команд должна содержать минимальный набор, наиболее часто используемый и наиболее простых команд.
Четыре принципа RISC архитектуры:
Любая команда независимо от ее типа должна выполнять за один машинный цикл, обратно пропорциональный тактовой частоте процессора (стандартом является команда сложения регистра с регистром, она занимает от 3 – 10нс.).
Все команды должны иметь одинаковую длину и минимальное число форматов (обычно не более 2 -3), это упрощает логику управления при выборе и при исполнение команды.
Обращение к памяти производиться только по специально выделенным командам работы с памятью типа:
Load– загрузка
Store– выгрузка
а вся обработка данных должна вестись в регистровом формате.
Система команд должна обеспечивать поддержку компиляции с конкретного языка программирования в системе машинных команд(RISCкомпиляторы на порядок сложнее чес дляCISC).
Немного истории:
Идея создания RISCкомпьютера была реализована в машинахCray–1.
В 1975 году (сотрудник IBM)JohnCookвпервые попытался применитьRISCархитектуру
в IBM370 (команд стало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
IfIMM= 1SRC2 – непосредственное данное
IfIMM= 0SRC2 – регистр
Недостаток: удлиняет длину команды на восемь бит.
Существует два вида формата команды.
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 широкого развития не получило. В современных процессорах регистры сохраняются в кэше, эффективное использование кэша при сохранении регистров, оптимизация и распределение регистров между процедурами обеспечиваются с помощью компилятора.