- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
7.5.2. Диаграммы работы локального интерфейса мп i486
Для пакетной передачи данных необходима поддержка режима пакетных циклов со стороны других устройств (памяти или ввода/вывода). Для обеспечения работы с разными устройствами предусмотрено множество режимов передачи:
простые (не пакетные) циклы,
последовательность циклов,
пакетные циклы.
Передачи данных с использованием простых циклов
При любых передачах первым тактом в цикле является такт выставления процессором на линиях интерфейса адреса и сигналов идентификации цикла. В первом же такте, если производится обращение к памяти (после кэш-промаха по чтению), процессор проверяет активность сигнала разрешения кэширования KEN#. При запрещенном кэшировании запрос на данные ограничивается удвоенным словом (4 байта). Такая передача реализуется простым (не пакетным) циклом.
Диаграмма простых циклов без ожидания и с ожиданиями представлена на рис. 7.10. В диаграмме рассматривается случай использования 32-разрядных устройств.
Во втором такте простого цикла в цикле записи процессор выставляет данные на шине данных, а в цикле чтения – ожидает приема данных от устройства. Цикл оканчивается по сигналу READY#. Этот же сигнал для процессора служит стробом готовности данных. Для сообщения устройству, что данный цикл является простым (не пакетным), процессор выставляет в такте Т2 сигнал BLAST#.
Схема передачи: такт передачи адреса, такт передачи данных.
При использовании менее быстродействующих устройств возможны циклы с дополнительными тактами Т2. Серии дополнительных тактов оканчиваются сигналами READY# от устройства.
Схема передачи: такт передачи адреса, такты ожидания, такт передачи данных.
|
|
|
|
|
|
| ||||
|
|
1 передача |
2 передача |
|
передача с ожидан . |
| ||||
ТАКТЫ | ||||||||||
CLK |
|
|
|
|
|
|
|
|
|
|
ADS# |
|
|
|
|
|
|
|
|
|
|
ADRESS |
|
|
|
|
|
|
|
|
|
|
W/R# |
|
|
|
|
|
|
|
|
|
|
RDY# |
|
|
|
|
|
|
|
|
| |
BRDY# |
|
|
|
|
|
|
|
|
|
|
BLAST# |
|
|
|
|
|
|
|
|
|
|
DATA |
|
|
|
|
|
|
|
|
|
|
Рис. 7.10. Непакетные циклы передачи данных |
Передача данных с использованием последовательности циклов
Диаграмма передачи данных с использованием последовательности циклов представлена на рис.7.11.
|
|
Последовательность циклов передачи кэш-строчки |
| |||||||
|
|
1-й цикл |
2-й цикл |
3-й цикл |
4-й цикл |
| ||||
ТАКТЫ |
|
|
|
|
|
|
|
|
|
|
CLK |
|
|
|
|
|
|
|
|
|
|
ADS# |
|
|
|
|
|
|
|
|
|
|
ADRESS |
|
|
|
|
|
|
|
|
|
|
KEN# |
|
|
|
|
|
|
|
|
|
|
W/R# |
|
|
|
|
|
|
|
|
|
|
RDY# |
|
|
|
|
|
|
|
|
|
|
BRDY# |
|
|
|
|
|
|
|
|
|
|
BLAST# |
|
|
|
|
|
|
|
|
|
|
DATA |
|
|
|
|
|
|
|
|
|
|
Рис. 7.11. Последовательность циклов передачи кэш-строчки без тактов ожидания |
Любая передача начинается с такта передачи адреса, задания типа циклов и выставления сигнала использования адреса ADS#. Если у процессора имеется запрос на чтение более четырех байт, то он в следующем такте Т2 оставляет сигналBLAST# пассивным.
Пассивный сигнал BLAST# для устройства (памяти) в первом такте Т2 означает намерение процессора начать передачу данных длиной более 4-х байт. Если эта передача является заполнением строчки кэш-памяти, то процессор в такте Т1 проверяет сигнал разрешения кэшированияKEN#. СигналKEN# повторяется в последнем такте передачи строчки кэш-памяти.
От конструкции устройства зависит выбор сигналов готовности: READY# илиBREADY#.
Если устройство отвечает сигналом BREADY#, то передача данных производится в пакетном цикле, если – сигналомREADY#, то формируется последовательность циклов.
Сигнал KEN# влияет на выбор типа передачи только косвенно. Он разрешает только кэширование данных. Но при отсутствии сигналаKEN#, запрос на заполнение строчки кэш-памяти меняется на запрос чтения только операнда, заданного командой, и передача может быть выполнена в простом цикле.
Но если процессор производит чтение 64-разрядного операнда (при кэш-промахе) или ввод данных из портов (устройства ввода/вывода), то возможна и передача данных в пакетном цикле.
В общем случае, при заполнении строчки кэш-памяти возможно чередование пакетных циклов с последовательностями циклов, если устройство будет чередовать ответные сигналы BREADY# иREADY#.
Общее число байт данных, передаваемых в последовательности циклов по одному внутреннему запросу процессора, и их адреса не должны выходить за пределы одной строки кэш-памяти.
Передача данных с использованием пакетных циклов
Пакетный цикл является основным циклом передачи данных в локальном интерфейсе МП i486 (рис.7.12).
Пакетный цикл начинается, если в первом такте Т2 процессор не активизировал BLAST# (указание о многотактной передаче), и устройство ответило сигналом готовности BRDY#.
|
|
|
Пакетный цикл (4 пакета по 4 байта) |
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ТАКТЫ |
|
|
|
|
|
|
|
| |||||
|
CLK |
|
|
|
|
|
|
|
| |||||
|
ADS# |
|
|
|
|
|
|
|
| |||||
|
ADRESS |
|
|
|
|
|
|
|
| |||||
KEN# |
|
|
|
|
|
| ||||||||
W/R# |
|
|
|
|
|
|
|
| ||||||
RDY# |
|
|
|
|
|
|
|
| ||||||
BRDY# |
|
|
|
|
|
| ||||||||
BLAST# |
|
|
|
|
|
|
|
| ||||||
DATA |
|
|
|
|
|
|
| |||||||
Рис.7.12. Пакетный цикл передачи кэш-строчки с одним тактом ожидания перед передачей данных. |
этом случае схема передачи выглядит так: передача адреса, передача до четырех байт данных. Общее число байт данных, передаваемых в пакетном цикле по одному внутреннему запросу процессора, и их адреса должны не выходить за пределы одной строки кэш-памяти.
Пакет содержит один такт ожидания (такт Т2 после такта Т1). Он обусловлен задержками дешифрации адреса и задержками формирования данных (всей строчки) в регистре данных или буфере строк в микросхемах памяти. Считывание следующих данных с регистра (в пределах кэш-строчки) производится без задержек.
В циклах локального интерфейса могут использоваться 5 типов тактов: Ti, Т1, Т2, Тb и Т1b. В обычных циклах такты Тb и Т1b не используются. Их назначение – обслуживание специальных ситуаций. Это:
Tb – второй и последующий такты прерванных циклов магистрали.
T1b – первый такт цикла перезапуска микропроцессора. На линиях адреса и состояния достоверные значения, сигнал ADS# активен.
Если рассматривать только организацию передачи данных, то можно ограничиться только тактами: Тi, Т1 и Т2.