- •Вычислительные машины, системы и сети
- •Тема 1. Введение в предмет
- •Умножение чисел в дополнительных кодах
- •Операция умножения над обратными кодами сомножителей
- •Выполнение операции сложения над числами с плавающей запятой
- •6. Стадии выполнения команды и способы адресации
- •Тема 2. Оcновные архитектурные понятия Лекция 4. Определение понятия "архитектура"
- •Архитектура системы команд. Классификация процессоров (cisc и risc)
- •Лекция 5. Методы адресации и типы данных Методы адресации
- •Типы команд
- •Команды управления потоком команд
- •Типы и размеры операндов
- •Тема 3. Функциональная структура и организация процессора
- •Структура конвейера процессора р6
- •Процессор Pentium Pro
- •Характеристики процессоров р6
- •Характеристики процессоров amd
- •Форматы чисел блоков sse
- •Лекция 12: Сравнительный анализ процессоров с различной архитектурой Особенности процессоров с архитектурой sparc компании Sun Microsystems
- •Процессоры pa-risc компании Hewlett-Packard
- •Процессор mc88110 компании Motorola
- •Особенности архитектуры Alpha компании dec
- •Особенности архитектуры power компании ibm и PowerPc компаний Motorola, Apple и ibm
- •Архитектура power
- •Эволюция архитектуры power в направлении архитектуры PowerPc
- •Тема 4. Структурные модели современных системных плат
- •Тема 5. Организация памяти в эвм
- •2. Постоянные и полупостоянные запоминающие устройства
- •3. Оперативные запоминающие устройства
- •4. Характеристики обмена и типы оперативной памяти
- •7. Сегментация памяти
- •8. Страничная организация памяти
- •Тема 6. Организация ввода-вывода
- •Системные и локальные шины
- •Устройства ввода/вывода Основные типы устройств ввода/вывода
- •2.1. Шины микропроцессорной системы
- •2.2. Циклы обмена информацией
- •2.3. Прохождение сигналов по магистрали
- •Тема 2. Оценка производительности вычислительных систем
- •Тема 5. Многопроцессорные системы Лекция 18: Классификация систем параллельной обработки данных
- •Многопроцессорные системы с общей памятью
- •Многопроцессорные системы с локальной памятью и многомашинные системы
- •Тема 9. Организация микроконтроллеров
- •4.1. Классификация и структура микроконтроллеров
- •4.2. Процессорное ядро микроконтроллера
- •Тема 10. Однокристальные микроконтроллеры серии pic
- •5.1. Основные особенности микроконтроллеров серии pic
- •5.2. Микроконтроллеры подгруппы pic16f8x
- •Тема 11. Проектирование устройств на микроконтроллерах
- •6.1. Разработка микропроцессорной системы на основе микроконтроллера
- •Тема 12. Системы высокой готовности и отказоустойчивые системы
- •Подсистемы внешней памяти высокой готовности
- •Требования, предъявляемые к системам высокой готовности
- •Конфигурации систем высокой готовности
- •Требования к системному программному обеспечению
- •Требования высокой готовности к прикладному программному обеспечению
- •Требования к сетевой организации и к коммуникациям
- •Базовая модель vax/vms кластеров
- •Критерии оценки кластеров Gartner Group
- •Кластеры Alpha/osf компании dec
- •Unix-кластеры компании ibm
- •Кластеры at&t gis
- •Кластеры Sequent Computer Systems
- •Системы высокой готовности Hewlett-Packard
- •Кластерные решения Sun Microsystems
- •Отказоустойчивые решения Data General
- •Список сокращений
4. Характеристики обмена и типы оперативной памяти
Оперативная память постоянно используется МП в процессе решения задач, предоставляя ему коды команд, данные и адреса операндов и устройств. Основными характеристиками ОЗУ является быстродействие и емкость памяти. Чем быстрее протекает обмен между ОЗУ и МП, тем скорее ЭВМ вычисляет. Этот обмен может происходить в цикле записи или цикле чтения данных. Цикл записи состоит из следующих микроопераций:
- передача адреса ячейки из МП по ША в регистр адреса ОЗУ (время выполнения микрооперации равно tA);
- передача операнда из МП по ШД в информационный регистр ОЗУ (tИ);
- дешифрация адреса в ОЗУ, возбуждение и стирание содержимого ячейки памяти (tД);
- запись из информационного регистра в ячейку памяти (tЗ).
ИС памяти обычно имеют меньшее число выводов, как показано в табл. 3.1, чем разрядность ШД или ША. Поэтому часто одни и те же адресные входы в них используются для передачи адресов строк в старшие разряды регистра адреса под управлением сигнала RAS (время tAR) и для передачи адресов столбцов элементов памяти в младшие разряды регистра адреса под управлением сигнала CAS (время tAC). В таких ИС n-разрядный физический адрес ФА (1, n) разбивается на адрес строки (страницы) АR (1, nR) и адрес столбца (ячейки внутри страницы) АС (1, nC) таким образом, чтобы выполнялось условие
ФА (1, n) = <<AR (1, nR)>, <AC (1, nC)>>.
Тогда передача двоичных кодов <АR (1, nR)> и <АС (1, nC)> осуществляется последовательно, т. е. путем мультиплексирования адресов строки и столбца.
При отсутствии средств параллельного выполнения микроопераций время, требуемое на осуществление цикла записи, может быть вычислено по формуле:
tЦЗ = tAR + tAC + tД + tИ + tЗ.
и составлять длительность, с учетом ожидания выполнения более длительных из них, до 5 и более периодов (тактов) работы генератора, синхронизирующего обмен по ШД. Обычно коды <АR (1, nR)> и <АС (1, nC)> передаются по одной и той же шине, тогда tAR = tAC = tA. Сумма tД + tИ + tЗ уменьшается несколькими способами:
- передача данных и адреса выполняется параллельно по разным шинам (tИ = 0);
- используется режим чередования памяти, когда передача осуществляется поочередно в две ячейки памяти, находящиеся в разных ИС, что приводит к параллельному выполнению в двух ячейках микроопераций стирания и записи, тогда tД = 0 или tÇ = 0;
- осуществляется запись в несколько ближайших ячеек, т. е. используется способ разбивки памяти на страницы и режим пакетной или страничной передачи (tAC = 0 или tAR = 0);
- улучшается технология, с применением которой уменьшается время стирания и записи в динамических ОЗУ.
В идеальном случае при использовании всех способов параллельного выполнения микроопераций время, необходимое на запись в 4 ячейки памяти, может занимать 5 тактов работы генератора, что соответствует схеме: 2 – 1 – 1 – 1.
В первых двух тактах передается адрес строки, а затем адрес столбца и операнд. В следующих трех происходит передача на запись еще трех кодов пакета без изменения адреса строки.
Цикл чтения включает микрооперации:
- передача из МП адреса ячейки памяти в регистр адреса ОЗУ;
- дешифрация адреса, возбуждение и чтение содержимого ячейки памяти в информационный регистр ОЗУ (tД1);
- передача данных по ШД в МП (tИ1);
- регенерация данных, т. е. восстановление искаженного в результате чтения содержимого ячейки путем записи в нее данных из информационного регистра (tЗ).
Время, затрачиваемое на цикл чтения, можно вычислить по формуле:
tЦЧ = tAR + tAC + tД1 + tИ1 + tЗ.
Обычно tД = tД1, а tИ = tИ1, и время, затрачиваемое на циклы чтения и записи при обмене одним операндом, в DRAM почти одинаковое. В SRAM отсутствует режим регенерации информации в цикле чтения (tЗ = 0) и стирание информации в цикле записи данных в ячейку (tД = 0). Наибольшее время, затрачиваемое на циклы чтения и записи информации, определяет быстродействие ИС ОЗУ, которое накладывает ограничение на частоту синхронизации системных шин ISA и PCI.
Емкость ОЗУ определяется типом ИС и их параметрами. ИС изготавливаются обычно в пластмассовых корпусах с выводами по обоим сторонам (DIP корпус) с небольшим числом выводов. Типы ИС могут отличаться друг от друга емкостью, разрядностью и другими показателями [18], приведенными в табл. 3.1.
Таблица 3.1
Типы ИС ОЗУ
Емкость V (бит) |
Число ячеек (N) |
Разрядность (R) |
Число выводов |
Обозначение |
256 К |
256 К |
1 |
20 |
Х 1256, Х 0256 |
1 М |
256 К |
4 |
20 |
Х 4256, Х 1014 |
1 М |
1 М |
1 |
18 |
Х 1000, Х 1001, Х 1010, Х 1024 |
4 М |
1 М |
4 |
20 |
ХХ 4400, ХХ 4401 |
4 М |
4 М |
1 |
18 |
ХХ 4100, ХХ 4101, ХХ 4102 |
Общая емкость ИС ОЗУ определяется числом ячеек N, их разрядностью R и числом обособленных внутри массивов b элементов по формуле:
V = N R b (бит).
Каждый массив b стробируется (регенерируется) в ИС своим сигналом, используя один и тот же информационный регистр для обмена с ШД.
Для увеличения разрядности ячеек ОЗУ, равной разрядности ШД, ИС объединяют в блоки (банки), собирая их на отдельных миниплатах с ножевым разъемом (SIMM или DIMM) или штырьковым (SIP). Эти платы затем устанавливаются в слоты на системной плате ЭВМ. На рис. 3.6, а показана схема банка ОЗУ, имеющего 8- разрядную ШД и один разряд для контроля информации на четность. Банк собран на 30 - контактном SIMM - модуле по байтной структуре на 9 ИС ОЗУ емкостью N 8 бит. Емкость банка соответствует ИС, блок-схема которой показана на рис. 3.6, б. Если nR = nC = 10, то
V = N R b = 2020 8 1 бит = 1 Mб.
Для обращения к банку адрес ячейки подается по ША дважды: сначала в первом такте передается <AR (1, 10)> и по сигналу RAS = 0 он запоминается старшими разрядами регистра адреса:
RGA (11, 19) = ША (1,10) RAS.
Затем во втором такте передается адрес столбца, который стробируется импульсом CAS:
RGA (1, 10) = ША (1, 10) CAS.
При отсутствии сигнала записи W = 1 в следующих тактах содержимое 8 бит с информационных выходов D0 D7 передается по ШД в МП. Девятый информационный выход ИС D8 используется для контроля данных на четность и в некоторых банках отсутствует при высокой надежности ИС.
ОЗУ Nx1
A1 . . . А10
W CAS RAS
D0
ОЗУ Nx1
A1 . . . А10
W CAS RAS
D8
ОЗУ Nx1
A1 . . . А10
W CAS RAS
D0
. . .
D7 D8
а б
Рис. 3.6. Схема наращивания разрядности ОЗУ: а – схема объединения 1- разрядных ИС в 8-разрядную шину данных, б – схема 8-разрядного ЗУ
С увеличением разрядности ШД 30 - контактные однобайтные блоки SIMM занимают много места для установки в слоты системной платы и с появлением Pentium заменены на 72 - контактные 36-битовые модули (D0 D31) с байтной организацией и с контролем каждого байта на четность или на сдвоенные модули DIMM с 64 разрядной ШД. Модули SIMM обозначаются как 256 К 36, 512 К 36, 1 М 36, 2 М 36, 4 М 36, 8 М 36, 16 М 36, что соответствует емкости 1, 2, 4, 8, 16, 32 и 64 Мб.
Каждая ИС ОЗУ маркируется. Обычно, в соответствии с табл. 3.1, в ее обозначение включают наименование, разрядность, емкость и быстродействие в десятках нс. Например, маркировка ИС МК44256Р-8 означает: МК4 – память ОЗУ, 4 – четырехразрядная с N = 256 К, Р – корпус пластмассовый, 8 – быстродействие ИС, равное 80 нс.
В зависимости от технологии изготовления, структуры и способов увеличения быстродействия DRAM ИС ОЗУ в компьютерах в качестве системной памяти используются PM, FRM, EDO, BEDO, SDRAM [7,14]:
PM DRAM – динамическое ОЗУ со страничной выборкой (также регенерацией) содержимого ячеек в информационный статический регистр ИС при последовательной подаче адреса строки AR и сигнала RAS; адреса АС и сигнала CAS. PM позволяет после первого обмена осуществлять дополнительные передачи данных только с изменением младших адресов АС и повторением сигнала стробирования CAS.
FRM DRAM – быстрая PM, позволяет осуществлять, в отличие от PM DRAM, последующие передачи без повторения сигнала стробирования CAS: на ША выставляются лишь адреса столбцов.
EDO DRAM – динамическое ОЗУ со страничной выборкой и встроенным конвейером вывода – усовершенствованная технология PM DRAM. Данные в конвейере (буферном регистре вывода) запоминаются и поэтому процесс вывода не критичен к длительности и времени подачи сигнала CAS, выборка может быть сокращена на 1-2 такта за счет сокращения тактов ожидания и перекрываться во времени. Однако EDO не допускает чередования адресов AR, порождающих конфликты на ШД, общей для всех банков памяти обычных SIMM-модулей.
BEDO DRAM – пакетная EDO с длинной пакета при передаче в четыре двойных / счетверенных слова (Pentium). При доступе к ОЗУ формируется только стартовый адрес <AR>/<АС> в первом обращении. Дальнейшие <АС> - адреса генерирует встроенный в ИС счетчик. Преимуществом BEDO является возможность сцепления пакетов в конвейере в одной и той же странице и инкремента ФА следующего пакета. Внутренний конвейер BEDO при чтении отсрочивает вывод данных на один CAS-цикл в целом удлиняя первую передачу на два такта. Это позволяет осуществлять обмен пакетной передачи по схеме Х – 1 – 1 – 1 системных тактов (400 Мб/с на 64-разрядной ШД). Эффективность использования BEDO увеличивается с увеличением разрядности пакета.
SDRAM – синхронная динамическая память, которая работает по принципу, что и BEDO, но рассчитана на передачу от одного двойного слова до полной страницы. В основе SDRAM лежит трехступенчатая конвейерная архитектура с доступом к 2 блокам ИС с чередованием адресов. В конвейере используется быстродействующий буфер I/O, что позволяет увеличить частоту синхронизации до 200 МГц и обеспечить скорость обмена данными до 640 Мб/с по 64-разрядной ШД.
Системная память собирается из набора ИС на миниплатах, которые затем вставляются в разъемы ОЗУ и объединяются в банки. Обычно под банком понимаются миниплаты (СБИС) емкостью 2, 4, 8, 16 Мб с набором ИС и разрядностью, соответствующей ШД МП, имеющей свой один RAS-сигнал и несколько CAS-сигналов.
Различают S – SIMM и S – DIMM миниплаты с 1 общим сигналом RAS и D – SIMM и D – DIMM миниплаты с 2 независимыми сигналами RAS. Все S - и D - миниплаты имеют одинаковое число CAS сигналов. Если разрядность одной (нескольких) миниплаты соответствует разрядности ШД системной шины МП, то S – миниплаты будут образовывать один банк данных, а D – два банка.
С увеличением емкости памяти в одной ИС, для своевременной регенерации строки (время регенерации 15.6 мкс), разработчики разбивают память на отдельные массивы b с 1, 2, 4, 8 Кб регенерацией. Каждая такая ИС имеет по одному регистру адреса и информационному буферному регистру и не допускает одновременного обращения к нескольким массивам.
ЭВМ с процессорами Pentium, как правило, оснащаются EDO и SDRAM ОЗУ, устанавливаемыми в DIMM миниплатах. Для определения конфигурации и характеристик ОЗУ в миниплату впаивается ППЗУ EEPROM емкостью 256 байт. Информация с ППЗУ считывается BIOS для автоматической настройки режима обмена ОЗУ с системной шиной. Обмен осуществляется с коррекцией ошибок по способу ECC, для чего разрядность шины данных ОЗУ доведена до 80 бит. С увеличением частоты системной шины с 66 до 75 МГц и более все виды памяти DRAM достигают своего предела, кроме SDRAM с длительностью такта около 8 нс. SDRAM, хотя и имеет 5 тактов начальной стартовой передачи операнда, в последующих пакетных передачах 64-битные данные передаются за 1 такт. Для адресации пакетов в SDRAM используется счетчик с автоинкрементом адреса и специальный буферный регистр режимов. Пакет содержит данные из разных массивов длиной 2, 4, 8 слов или целую страницу. Режим обмена СБИС SDRAM, имеющий средства саморегенерации, можно перепрограммировать.
Маркировка СБИС ОЗУ SDRAM изготовителей ведущих фирм емкостью 64 Мбит с внутренней организацией V = N R b = 2 М 8 4 бит, соотношением разрядности строки / столбца равным nR / nC = 11 / 10, поддерживаемых чипсетами 430 TX, 430VX и 440 LX, приведена в табл. 3.2.
Таблица 3.2
Маркировка ОЗУ фирм изготовителей SDRAM
Fujitsu |
Micron |
NEC |
Samsung |
Siemens |
Texas I |
MB81 164842A |
MT48 LC4M16A1 |
P D45 64841 |
KM4 8S8030(1)AT |
HYB39S 64800 |
TMS6 64814 |
В режиме пакетной передачи четырех двоичных слов быстродействие обмена для различных типов ОЗУ может характеризоваться на частоте 66 МГц следующим образом: SRAM (линейный кэш-2) – 3 - 2 - 2 - 2; динамическая память FPM – 5 - 3 - 3 - 3; EDO – 5 - 2 - 2 - 2, BEDO и SDRAM – 5 - 1 - 1 - 1. Эти соотношения показывают, что для быстрой обработки данных с применением BEDO и SDRAM становятся эффективным в составе ЭВМ только тыльный кэш-2.
5. Кэш-память
Под кэш-памятью (кэш) понимается буферное оперативное, более высокого быстродействия, чем основное ОЗУ, запоминающее устройство, имеющее в своем составе схему быстрого поиска информации. Различают кэш первого уровня (L1), или внутренний, и второго уровня (L2), или внешний, подключаемый к шине процессора. Внутренний кэш работает с быстродействием МП, внешний – синхронно с устройствами шины процессора. Внутренний кэш является буфером между регистрами МП и ОЗУ. Если имеется внешний кэш, то он является буфером между внутренним кэш и ОЗУ. Кэш-2 может быть линейным, подключаемым к одной системной шине МП, или тыльным, выполняющим обмен по двум шинам, одна из которых осуществляет связь с МП на более высокой частоте, чем другая процессорная с ОЗУ. Иногда ЭВМ имеет в составе и кэш-3, которая является буфером между кэш-2 и ОЗУ. Емкость памяти внутреннего кэш определяется типом МП (8, 16 Кб и более), а память внешнего кэш может наращиваться при использовании Windows 95 до 512 Кб или до 2 Мб с 32 разрядными ОС, как OS/2, Windows NT и UNIX. Кэш строится на элементах SRAM с временем доступа 4.5 – 12 нс и схемах сравнения, и поэтому ощутимо дороже динамических ОЗУ.
Для обмена информацией между кэш и ОЗУ используют 3 способа:
- со сквозной записью;
- со сквозной буферной записью;
- с обратной записью.
При сквозной записи результат операции передается МП одновременно в кэш и ОЗУ. При низком быстродействии ОЗУ МП простаивает, ожидая весь цикл записи. Увеличить быстродействие обмена удается при использовании сквозной буферной записи, когда МП ждет записи только в кэш, а для записи в ОЗУ информация передается в буферные регистры шинного интерфейса, а при свободной шине процессора затем передается в ОЗУ. Приоритет отдается операциям записи из МП в ОЗУ, и этот способ часто используются в алгоритмах, требующих синхронной смены информации в ОЗУ.
Для многих задач адреса данных и следующих команд расположены рядом, при этом частично данные являются промежуточными и располагаются в одних и тех же ячейках памяти при выполнении различных операций. В таком случае большее быстродействие обмена обеспечивает способ с обратной записью. При таком способе данные из строк кэш передаются в ОЗУ только при изменении информации на новую запись из ОЗУ, когда стираемая строка в кэш обновляется МП при выполнении программы. Недостатком способа является старение информации в ОЗУ в процессе вычислений. Полное соответствие информации с кэш достигается только после решения задачи, когда кэш копируется в ОЗУ. При считывании в кэш все способы обмена работают одинаково.
Для повышения быстродействия поиска информации в кэш используется ассоциативная [10] или адресно-ассоциативная [7] адресация. При ассоциативной адресации в качестве признака поиска (ключа, тэга) используется весь физический адрес. При адресно-ассоциативной адресации старшие разряды физического разряда используются для тэга, а младшие являются адресом ячейки внутри множества адресуемых ячеек. На рис. 3.7 приведена структура ассоциативной памяти. Физический адрес (ФА) с ША в виде, например, кода 01110 подается как тэг на схемы сравнения D1 DN+1. Наличие идентичности тэга с содержимым ячейки блока тэга (БТ) (например, с номером 0) включает соответствующую схему сравнения, выходной сигнал которой становится равен 1. Выходной сигнал 1 схемы сравнения (1 с D1) коммутирует соответствующую строку массива (0) на шину данных (ШД). Недостатками схемы являются значительные затраты памяти, требуемые для построения блока тэгов, и многочисленные поразрядные схемы сравнения.
Число схем сравнения обычно равно числу строк. Преимущество – высокое быстродействие поиска из-за отсутствия дешифратора адреса.
Снизить
аппаратные затраты можно при помощи
способа адресно-ассоциативной адресации
(кэш прямого отображения), показанной
на рис. 3.8. Кэш содержит массив данных
из 0, 1 ..., N
множеств. Каждое множество состоит из
0, 1, ..., (
-1)
строк (ячеек).
В такой структуре кэш младшие разряды (смещение в команде или странице) используются для определения номера множества БТ с помощью DCA и номера строки с помощью дешифратора строк (DCC). Сигнал с одного из выходов DCA, равный 1, подключает тэг, обслуживающий множество, к схеме сравнения D1, на другие входы которой подаются старшие k разрядов ключа физического адреса с ША.
Рис. 3.7. Ассоциативный кэш
При срабатывании D1 происходит коммутация содержимого возбужденной строки соответствующего множества массива на ШД. На схеме 3.8 строка -1 множества 1 передается на шину данных, т.к. в подключенном DCA множестве 1 тэг равен старшим разрядам ФА и выход DCC -1 равен 1. Недостатком такого кэша является невозможность одновременного размещения информации из ячеек, имеющих разные тэги и одинаковое смещение в разрядах k+1, , n ФА. Чтобы исключить этот недостаток, на практике используют несколько множеств (направлений) и соответствующее им число блоков тэгов и схем сравнения.
На рис. 3.9 приведена структура кэш i486 [21], выполненная по схеме четырех направлений 0, 1, 2, 3. Каждое направление содержит множество из 128 строк размерностью по 16 байт. Запись в кэш осуществляется через буферные регистры интерфейса процессора. Для этого из МП в ОЗУ по ША передается адрес младшей ячейки в строке и осуществляется ее чтение в буфер интерфейса через шину (ШД) процессора, затем трижды выполняется инкремент адреса A(31,2) + 1 и трижды – чтение выше адресуемых ячеек. По окончании такой пакетной передачи содержимое буферного регистра записывается в строку множества, объявляемую недостоверной. Номер строки множества определяет адрес А(10,4), направление вычисляется в блоке LRU. По адресу А(10,4) и направлению, указанному блоком LRU, в блок тэгов записывается А(31,11) – старшие 21 бит физического адреса данных. Так как информация читается 32-битными ячейками по адресам, где А(1,0) = 00, то МП поддерживает при чтении только выровненные данные. Для повышения быстродействия чтения пакетный обмен производится по 16 байт.
Рис. 3.8. Кэш прямого отображения
Чтение из кэш осуществляется по физическому адресу ФА(31,0), поступающему из устройства сегментации или страничного преобразования по ША. Он позволяет извлекать информацию с точностью до байта, используя дешифратор строки DCC, на вход которого подаются младшие четыре бита адреса ФА(3,0). При попадании, когда выход DCA подключает строки БТ к схемам сравнения D1 D4, под действием одного из сигналов а, б, в, г строка одного из направлений массива передается в буферный регистр, из которого, с использованием DCC, требуемый байт (слово, двойное слово) передается на внутреннюю ШД процессора. Часто строка из буферного регистра передаётся как 16-байтный код в устройство предвыборки команд, минуя ВШД. При промахе, если не срабатываети одна из схем сравнения D1 D4, МП включает режим чтения внешнего кэш или ОЗУ по данному ФА.
Рис. 3.9. Внутренний кэш i486
Блок LRU содержит память также из 128 строк, по 7 бит в строке. Три бита каждой строки LRU B0, B1, B2 служат для определения правила замены Lij j-й строки i-го направления при записи в кэш. Эти биты изменяются в одной из соответствующих строк при каждой записи или попадании в кэш следующим образом:
- если при чтении было обращение к строке L0j или L1j, то B0j = 0;
- если данные извлекались из L0j, L1j и оказались в L0j, то B1j = 1, а если из L1j, то B1j = 0;
- если данные извлекались (записывались) из L2j, L3j и оказались в L2j, то B2j = 1, а если из L3j, B2j = 0.
Состояния <B0, B1, B2> используются в алгоритме псевдо-LRU для определения номера направления и замены данных при промахе или опережающей выборке: <B0, B1, B2> = <0, 0, Х> заменяется строка L0; <0, 1, Х> – L1; <1, Х, 0> – L2, <1, Х, 1> – L3, где Х {0, 1}.
Четыре оставшиеся бита памяти строки LRU используются для определения достоверности данных, хранимых в кэш. При очистке кэш или сбросе МП все биты достоверности устанавливаются в 0. При промахе и новой записи бит, соответствующий направлению и строке, устанавливается в 1. При вычислениях МП может объявить часть строк недостоверными и соответствующие биты B3-B6 LRU установить в 0. Эти недостоверные строки впоследствии используются в первую очередь для записи новых данных в кэш. Если все биты B3-B6 = 1, то замена данных в кэш определяется в соответствии с состоянием <B0, B1, B2>. Если данные в кэш становятся частично достоверными, то соответствующие биты достоверности не устанавливаются в 1.
Лекция 13: Логическая организация памяти
Компьютеры PC и XT могут работать с памятью до 1 Мб (с адресами от 0 до 1 М - 1), а AT с МП 286 – до 16 Мб; более поздние модели – до 4 Гб, а ЭВМ с Pentium Pro и Pentium II/III/4 – до 64 Гб. Диапазон адресов определяется размерностью адресной шины МП. Более интенсивно во всех моделях используется память с младшими адресами, которая отводится для размещения ядра DOS, связи с внешними устройствами, стандартных программ тестирования и организации I/O. Чтобы исключить ошибочное использование начальной памяти, она распределяется по назначению на основании стандартов IBM и Intel. Карта логической организации памяти, представляющая собой ее распределение без учета физической сущности, представлена на рис. 3.10. Она распределена на области: стандартную CM, верхнюю UMA, расширенную EM и дополнительную EpM.
Область стандартной памяти [15] СМ во всех компьютерах отводится под DOS и рабочие программы TSR с данными, которые обрабатываются МП. В последних моделях эта область наиболее динамичная. При многозадачном V-режиме она постоянно обновляется, и поэтому для повышения быстродействия такая память построена на элементах с малым временем чтения (DRAM и SRAM).
Область в верхних адресах UMA емкостью 384 Кб зарезервирована для системного использования самой ЭВМ. Первая часть UMA (128 Кб) отводится под видеопамять (VM), которая предназначена для вывода оперативной информации на дисплей. В зависимости от типа монитора и видеоадаптера она используется не полностью для EGA, MDA, CGA с фиксированными адресами соответственно 640K, 704K, 736K или же используется в полном объеме для VGA и SVGA. Область видеопамяти обычно реализуется на ОЗУ типа VRAM с высоким быстродействием, которая работает с памятью видеоплаты емкостью до 2 Мб и более.
Средняя область UMA зарезервирована в ЭВМ под стандартные программы-драйверы I/O и обмена между контроллерами или адаптерами с использованием системной шины. Так как драйверы MDA и CGA вшиты в схему системной платы, то они не требуют адресного пространства. Другие адаптеры, такие как EGA, VGA и SVGA, используют адресуемую память емкостью 16, 32, 64 Кб соответственно, начиная с адреса C0000 или C4000. Эта память отводится под ПЗУ (ROM), в которой размещается BIOS дисплеев.
Рис. 3.10. Карта распределения памяти
Под ROM BIOS контроллеров жестких дисков отведена область НЖМД с начальным адресом C8000. Контроллеры НЖМД 10 и 20 Мб XT использовали адресное пространство C8000-C9FFF, но контроллеры IDE ATA эту область не используют, т.к. их драйверы являются частью системной BIOS. Контроллеры EIDI и SCSI используют память емкостью 16 Кб в диапазоне адресов C8000-CBFFF.
Память в диапазоне адресов CA000-CFFFF в средней области UMA может быть свободной. Во всех компьютерах свободным является адресное пространство D0000-DFFFF (окно EMS). Окно емкостью в 4 страницы по 16 Кб, расширяемое в сторону младших адресов, может быть использовано для работы в стандарте LIM/EMS с дополнительной памятью EpM емкостью до 32 Мб при инсталлированном драйвере, таком как EMM386.EXE. В эту свободную область могут последовательно перегружаться до 2 048 логических страниц при наличии соответствующей дополнительной памяти. Адресами средней области могут пользоваться также сетевые адаптеры в области сегментов C000 и D000, для чего используют ОЗУ на системной плате емкостью до 16 Кб.
Последняя (третья) часть UMA выделена под системную BIOS. Программы системной BIOS обслуживают команды МП и играют роль драйверов различных устройств компьютера. Так как эти программы используются с момента включения питания, то они закодированы в ИС ПЗУ на системной плате. В их составе:
- POST – программа тестирования исправности НЖМД, ОЗУ, клавиатуры и системной платы;
- системный загрузчик – программа передачи файлов DOS с НЖМД или НГМД в начальные адреса ОЗУ и передачи управления;
- стандартные программы-драйверы обмена с любыми блоками, подключаемыми к системной шине.
Под системную BIOS отводится память 128 Кб в диапазоне E0000-FFFFF, которая почти полностью используется в последних моделях ЭВМ. Для повышения быстродействия при выполнении команд часть программ BIOS в процессе работы может перегружаться из медленного ПЗУ в ОЗУ с более высоким быстродействием. Существует еще одна область верхней памяти (HMA), которая может быть использована в реальном режиме процессорами 286 и выше при инсталлированном драйвере HIMEM.SYS. Эта область имеет размер 64 Кб (без 16 байт) и размещается в диапазоне адресов FFFF:0010-FFFF:FFFF. Известно, что МП 88/86 при вычислении адреса ячейки памяти выше 1 М осуществляют заворачивание адреса (сложение по mod220). Для процессора 286 этого не произойдет, т.к. он может включить адресную шину A0 A20 вместо A0 A19, как у МП 88/86. Управление включением A20 выполняется через бит порта 64h контроллера клавиатуры 8042. Область HMA является частью расширенной памяти (ЕМ), доступной в R-режиме.
Расширенная область памяти ЕМ может быть использована только в P- или V-режимах в соответствии с правилами спецификации XMS. Размер этой памяти определяется автоматически программами системной BIOS. Эта память наращивается от 1 Мб в сторону больших адресов. В настоящее время в Pentium II/III/4 линейное адресное пространство ограничено 64 Г = 236, где для обращения к любому байту из этой области требуется 36-битный двоичный код.
