
- •Воронежский институт высоких технологий – аноо впо
- •Введение
- •1. Основы построения вычислительных систем
- •1.1. Составные части вычислительных систем
- •1.2. Классификация вычислительных платформ
- •1.3. Структура компьютера в соответствии с принципами Дж. Фон Неймана
- •1.4. Преимущества и недостатки различных типов вычислительных систем
- •1.4.1. Компьютеры с шинной организацией архитектуры
- •1.4.2. Алгоритм функционирования процессора
- •1.4.3. Функционирование компьютера с канальной организацией архитектуры
- •1.4.4. Информационная модель эвм
- •Контрольные вопросы к разделу
- •2. Основные конструктивные элементы
- •2.1.2. Блоки питания персонального компьютера
- •2.1.3. Источники бесперебойного питания
- •2.2. Типы и логическое устройство материнских плат
- •2.2.1. Типоразмеры материнских плат рс
- •2.2.2. Основные компоненты материнской платы
- •2.3. Типы процессоров персонального компьютера
- •2.3.1. Параметры процессоров
- •2.3.2. Cisc- и risc-процессоры
- •2.3.3. Микросхемы процессоров
- •2.3.4. Многопроцессорные системы
- •2.3.5. Сопроцессор
- •2.4. Постоянная и оперативная память, кэш-память
- •2.4.1. Оперативная память
- •2.4.2. Модули оперативной динамической памяти на материнской плате персонального компьютера
- •2.4.3. Статическая оперативная память
- •Динамические ячейки памяти.
2.4.3. Статическая оперативная память
Организация элементов статической памяти (Static RAM) идентична организации элементов динамической памяти, за исключением того, что элементы SRAM не нуждаются в процессе регенерации. Оперативная память на основе статических элементов обеспечила бы значительное повышение быстродействия персонального компьютера. Время доступа к DRAM составляет 60 – 100 нс, а для элементов SRAM ~ 10 – 15 нс. Однако при этом значительно увеличилась бы и стоимость вычислительного комплекса. Поэтому элементы SRAM устанавливают только для выполнения специальных задач, важнейшей из которых является, естественно, кэширование.
Являясь оперативной памятью, элементы SRAM также для сохранения данных должны иметь постоянное электрическое питание, иначе сохраненная информация будет утеряна. При этом потребляемый элементом SRAM ток настолько мал, что при наличии соответствующего аккумулятора для энергонезависимого питания содержимое памяти на таких элементах остается неизменным около двух лет, даже если в течение этого срока компьютер ни разу не был включен.
Существуют следующие виды статической памяти.
Микросхемы типа Async SRAM (Asynchronous SRAM – асинхронная SRAM) имеют простейший интерфейс, подобный интерфейсу динамических элементов, включающий шины адреса, данных и управления. Время доступа составляет 12, 15 или 20 нс.
Микросхема типа Sync Burst SRAM (Synchronous Burst SRAM – синхронная пакетная SRAM) обеспечивает такой режим на частотах работы системной шины 50, 60 и 66 МГц и имеет время доступа 8,5, 10 и 13,5 нс, соответственно.
Микросхема типа PB Burst SRAM (Pipelined Burst SRAM – конвейерная пакетная SRAM) представляет собой усовершенствованную Sync Burst SRAM с тем же интерфейсом. Конвейерная архитектура позволяет обеспечивать тот же режим на частотах свыше 75 МГц с временами доступа 12, 13 и 15 нс.
NVRAM (Non Volatile – не временная) используется для долговременного хранения данных, которые ни в коем случае не должны быть утеряны. Они не нуждаются в электропитании. Энергонезависимая память используется для хранения кода BIOS компьютера, BIOS карт расширения, конфигурации периферийных устройств, скан-кода клавиатуры и др.
PROM (Programmable Read Only Memory – программируемые ROM) программируются однократно после изготовления специальными программаторами и не чувствительны к электромагнитным полям. Они появились взамен микросхем ROM, которые программировались на этапе изготовления и не позволяли изменять записанную в них информацию.
EPROM (Erasable Programmable Read Only Memory – стираемые и перепрограммируемые ROM) до недавнего времени были самыми распространенными носителями BIOS системы и карт расширения. Перепрограммирование осуществляют при помощи специального программатора, подключаемого к СОМ или LPT порту.
Стирание информации осуществляют применением ультрафиолетового излучения через специальное окно (если оно имеется) или рентгеновским излучением. Запись может производиться побайтно в любую ячейку микросхемы при помощи электрических сигналов.
EEPROM (Electrically Erasable Programmable Read Only Memory или Flash Memory) стирается при помощи электрических сигналов и может быть перезаписана без специального программатора непосредственно в персональном компьютере. Основные преимущества такой микросхемы – малое время доступа и малая длительность процесса стирания информации. Работа ячейки памяти основана на физическом эффекте Фаули – Нордхайма.
Большинство микросхем BIOS относятся к типу Flash EEPROM. Для установки новой версии BIOS необходима специальная программа (прошивальщик) и файл с новой версией.
FRAM
(Ferroelectric
RAM).
Принцип работы таких микросхем основан
на особенностях физики сегнетоэлектриков.
В памяти FRAM
применяется тонкая пленка на основе
сплавов оксидов металлов (титана,
циркония, свинца и т.п.).
Атом, расположенный по центру кристаллической ячейки (черный шарик), может быть перемещен под действием электрического заряда вверх или вниз с фиксацией нового положения. Смещение в одну сторону соответствует логическому «0», а в другую – логической «1». Причем допускается многократная перезарядка.
Такая память имеет преимущества динамической DRAM (возможность многократной перезаписи), статической SRAM (малое время доступа и перезаписи) и ROM (энергонезависимость).
MRAM (Magnetic RAM) представляет собой новое поколение энергонезависимой памяти. Основой является многослойный магнитный вентиль на полупроводниковом кристалле с временем цикла чтение / запись ~ 6 нс.
2.4.4. КЭШ-память
Необходимым элементом подсистемы памяти персонального компьютера является т.н. кэш-память (англ.: Cashe – запас, заначка, склад). Она служит в качестве буфера при обмене между процессором и ОЗУ. Поскольку кэш организован на ячейках, имеющих время доступа на порядок меньше, то процессор обрабатывает данные из кэш-памяти сразу, практически исключая время ожидания доступа к данным из ОЗУ. Это достигается предварительным копированием данных в кэш, до того момента, когда они необходимы процессору.
Кэш-память состоит из трех основных элементов:
контроллера кэш-памяти, координирующего потоки данных между ОЗУ и кэш-памятью, между кэш-памятью и процессором. Контроллер сообщает процессору, имеются ли еще в кэш-памяти необходимые данные;
кэш-памяти данных (Data RAM);
кэш-памяти адресов (Tag RAM), которая содержит информацию о местоположении необходимых данных в кэш-памяти. Когда нужно получить данные, процессор обращается первоначально к Tag RAM и определяет наличие и местоположение в Data RAM этих данных, а если требуемой информации в Data RAM нет, то уже тогда процессор обращается к более медленной ОЗУ (рис.2.9).
Расположенную
на системной плате кэш-память обычно
относят ко второму
уровню (L2
– level
2), т.к. в процессорах, начиная с Intel
80486, имеется встроенная аналогично
организованная кэш-память первого
уровня (L1
– Level
1). В современных процессорах фирм Intel
и AMD
кэш-память второго уровня также встроена,
поэтому кэш на материнской плате
относится уже к третьему
уровню (L3
– Level
3).
Кэш-память применяют также в качестве буфера в таких устройствах хранения данных, как, например, в жестких дисках, CD-ROM, DVD-ROM и т.п.
Принцип кэширования применяется также и в процессе чтения / записи данных с винчестера. В этом случае кэш-память винчестера обеспечивает синхронизацию времени доступа к данным на диске с быстродействием шины данных. Данные с диска записываются в кэш-память, размещенную на самом винчестере, так что при повторном обращении к винчестеру уже нет необходимости в механическом считывании этих данных. Емкость кэш-памяти винчестера обычно составляет 128 – 512 Кб.
Кэш-памятью управляет контроллер, который, анализируя выполняемую программу, пытается предвидеть, какие данные и команды вероятнее всего понадобятся в ближайшее время процессору, и «подкачивает» их в кэш-память. При этом возможны как «попадания», так и «промахи». В случае попадания, т.е., если в кэш подкачаны нужные данные, извлечение их из памяти происходит без задержки. Если же требуемая информация в кэш-памяти отсутствует, то процессор считывает её непосредственно из оперативной памяти. Соотношение числа попаданий и промахов определяет эффективность кэширования.
Параметры работы кэш-памяти сильно влияют на производительность всей подсистемы памяти. Кэш первого уровня практически у всех современных процессоров работает на частоте ядра (~ 1 ГГц), но объем такой памяти сравнительно невелик ( ~ 16 ÷ 64 Кбайт) и, к тому же, поделен примерно пополам между адресами и данными.
Обеспечить стабильную работу статических микросхем (триггеры) большой емкости на высоких частотах чрезвычайно трудно, т.к. выделяемая транзисторами тепловая энергия может привести к необратимому пробою микросхемы. Для решения этой проблемы найдено два подхода.
Во-первых, объем КЭШ, интегрированного с ядром процессора, уменьшается до приемлемых величин. Например, процессор Celeron имеет кэш L2 ~ 128 Кбайт.
Во-вторых, кэш уровень L2 изымается из ядра, но остается на плате процессора. Связь с ядром осуществляет специальная высокоскоростная шина, позволяющая работать кэш-памяти на половинной частоте ядра.
2.4.5. Логическое распределение оперативной памяти
Производительность вычислительной системы можно зачастую повысить внутрисистемными средствами. Можно выделить следующие важнейшие логические области оперативной памяти:
стандартная оперативная память (Conventional Memory);
UMA (Upper Memory Area);
EMS (Expanded Memory Specification);
HMA (High Memory Area);
XMS (Extended Memory Specification).
Стандартная оперативная память является наиважнейшей, в ней размещены прикладные программы и данные.
В то время, как внутри персонального компьютера все данные и программы представлены в двоичном коде, для адресации памяти применяется шестнадцатеричная система счисления, характеризующаяся наличием символа «h» после значения. К 10 цифрам (от 0 до 9) добавляются еще буквы от A до F. Значение 16-ричного числа F соответствует десятичному числу 15. Перед числом F ставят 0, т.е. 15 в 16-ричной системе записывают как 0Fh. Адреса ячеек памяти обозначают разделенными двоеточием двумя 16-ричными конструкциями: сегментом (номер шестнадцатибайтного блока памяти) и смещением (относительно начала сегмента). Например, адрес 1000h:0112h означает адрес 10112h.
Стандартная память начинается с адреса 0000:0000 и продолжается до адреса A000:0000. Верхний предел был установлен процессорами 8088 и 8086. Они имели 20-разрядную адресную шину и поэтому могли адресовать только 1 Мб ячеек памяти (220 = 1 048 576 байт). В пределах этой памяти выше уровня 640 Кб были зарезервированы 384 Кб для выполнения внутренних функций.
В стандартной оперативной памяти расположены:
Таблица векторов прерываний – адреса сервисных программ, входящих в состав операционной системы и BIOS. Речь идет о таких базовых функциях, как отображение символа на экране монитора, организация доступа к дисководам и т.п. Однако, поскольку существуют различные операционные системы и версии BIOS, такие программы обработки прерываний могут быть расположены в различных местах стандартной оперативной памяти. В таблице векторов прерываний указано их реальное расположение. Таблица состоит из 256 элементов по 4 байта, т.е. занимает 1024 байта (1 Кб), и начинается с адреса 0000h:0000h.
Область данных BIOS – объемом 768 байт. Здесь размещены: счетчик таймера, буфер клавиатуры и др. внутренняя информация.
Область для операционной системы – область для загрузки части операционной системы, например, ядра ОС «DOS» или «Windows». Часть ядра – процессор команд COMMAND.COM. Ядро ОС не имеет постоянного адреса памяти, его местоположение зависит от версии операционной системы.
Основная область стандартной оперативной памяти – до адреса A000h:0000h все принадлежит только программам и данным.
UMA. После первых 640 Кб оперативная память становится «аппаратной» – здесь находится информация, необходимая для сопряжения прикладных программ с различными картами расширений, а поскольку карты расширений очень часто называют адаптерами, то эту область памяти называют сегментом адаптера или верхней памятью (т.к. речь идет об области с более высокими адресами). Диапазон размещения верхней памяти A0000h – FFFFFh (от 640 Кб до 1 Мб, т.е. ее размер 384 Кб).
Рассматриваемая область памяти неоднородна. Здесь размещены видеопамять и ROM BIOS, а также могут находиться модули постоянной и оперативной памяти, конструктивно расположенные на картах расширения. Поэтому среди этих блоков некоторые зарезервированы, а другие – свободны (последние называют UMB – Upper Memory Block).
Область памяти графической карты занимает 128 Кб (от A000h:0000h до C000h:0000h). Конструктивно она расположена на видеокарте, а логически помещена в адресное пространство памяти. С видеопамятью работают два компонента компьютера: процессор и монитор. Процессор помещает в нее данные и обращается к ней только при необходимости изменить выводимые данные. Монитор считывает непрерывно данные для отображения их на экране.
Современные видеокарты поставляют с объемом памяти 2 – 8 Мб. Здесь хранится изображение. Соответствующая программа обращается к изображению через «окно» размером 64 Кб. При этом программа управляет значением в специальном индексном регистре, показывающим, какие 64 Кб видеопамяти отображаются в «окне».
В области VGA BIOS размером 32 Кб (от C000h:0000h до C800h:0000h) записаны основные функции для представления изображений. Доступ в эту область намного быстрее, чем в ROM BIOS.
Выше адреса C800h:0000h расположены несколько свободных блоков, используемых обычно для ускорения доступа и размещения информации. Кроме того, 64 Кб резервируется для страниц дополнительной памяти (EMS), если она будет использоваться.
Наконец, последние 64 Кб сегмента адаптера выше адреса F000h:0000h заняты ROM BIOS. Здесь находится, к примеру, информация, внесенная в CMOS Setup при конфигурировании персонального компьютера.
EMS. Метод Expanded Memory Specification (EMS) позволяет использовать свободную память, самостоятельно не идентифицируемую системой и расположенную в верхней памяти. Этот метод появился потому, что программы, использующие большой объем памяти, не могут разместиться в оперативной памяти объемом 640 Кб.
Фирмами Lotus, Intel и Microsoft (LIM) создан стандарт, основанный на переключении банков (Bank Switching) или страниц памяти.
В области UMB между видеобуфером и системной ROM BIOS выделяется незанятое окно (Page frame) размером 64 Кб, разделенное на 4 логические страницы по 16 Кб каждая. С помощью специального драйвера строятся «отображения» физических страниц в логические из дополнительной (Expanded) памяти, расположенной на специальной карте расширения. Поэтому эту память называют отображаемой.
Когда процессор обращается к области памяти, входящей в окно, аппаратно происходит обращение к соответствующим страницам дополнительной памяти на плате расширения. Таким образом, посредством адресации с помощью драйвера EMS можно обращаться к 8 Мб (стандарт LIM 3.2) или к 32 Мб (стандарт LIM 4.0) дополнительной памяти, конструктивно расположенной на отдельной плате расширения. Для персональных компьютеров такая плата не нужна, т.к. EMS здесь может эмулироваться с помощью специального драйвера.
Для использования EMS-памяти необходимо выполнение следующих условий:
прикладные программы должны уметь обращаться к драйверу EMS-памяти;
необходим специальный менеджер (Expanded Memory Manager – EMM), который организует страницы памяти и управляет ими.
HMA. Первый блок оперативной памяти величиной 64 Кб выше 1 Мб обозначают High Memory Area – HMA. Своим существованием эта область обязана следующему.
Вся стандартная память, помимо представленной в виде 16 непересекающихся блоков размером по 64 Кб каждая, может быть представлена также и в виде перекрываемых областей по 64 Кб – в виде сегментов, которые могут начинаться через каждые 16 байт.
Максимальный полный адрес в виде «сегмент: смещение», по которому может обратиться процессор 8088, – это FFFF:000Fh (20 адресных линий). Если увеличить это значение хотя бы на единицу, то произойдет циклический перенос (Wrap around), и значение адреса станет 0000:0000.
Однако этого не произойдет для компьютеров с процессорами 80286 и выше, т.к. адресная шина таких процессоров имеет больше 20 разрядов. Но адрес памяти при этом превысит границу 1 Мб. Чтобы исправить такую ошибку еще фирма IBM предусмотрела на материнских платах специальные средства, заставляющие процессоры в таких случаях выполнять переход на низшие адреса. Однако такой переход может быть отменен программным путем.
Таким образом, персональные компьютеры в реальном режиме могут дополнительно адресовать целый сегмент размером 64 Кб минус 16 байт. Необходимую программную поддержку здесь выполняет специальный драйвер HYMEM.SYS.
XMS (eXtended Memory Specification) – расширенная память – обозначает всю оперативную память выше границы 1 Мб, включая также и HMA. Однако следует отметить, что спецификация XMS дает возможность одновременного доступа к HMA только одной программе DOS, например, для загрузки ее резидентной части.
Информацию о XMS-памяти можно получить с помощью утилиты SysInfo, входящей в пакет Norton Utilities.
Чтобы иметь доступ к расширенной памяти, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной памяти в расширенную и обратно – выполнение программ, размещенных в расширенной памяти, не предусмотрено. Таким драйвером является уже знакомый нам HYMEM.SYS. Он переводит процессор в защищенный режим, в котором можно адресовать всю память.
Контрольные вопросы к разделу