Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 24
Текст из файла (страница 24)
Если говорить в общем, слова считаются выровненными в памяти в том случае, если адрес начала каждого слова кратен количеству байтов внем. По практическим причинам, связанным с манипулированиемдвоично-кодированными адресами, количество байтов в словеобычно является степенью двойки. Поэтому, если длина слова равна 16 бит (2 байтам), выровненные слова начинаются по байтовым128Глава 2. Архитектура и структура ВМ и системадресам 0, 2, 4, ..., а если она равна 64 бит (23, т. е.
8 байтам), то выровненные слова начинаются по байтовым адресам 0, 8, 16, ... .Не существует причины, по которой слова не могли бы начинаться с произвольных адресов. Такие слова называются невыровненными. Как правило, слова выравниваются по адресам памяти,но иногда этот принцип нарушается.Доступ к числам, символам и символьным строкам. Обычно числозанимает целое слово, поэтому, для того чтобы обратиться к нему,нужно указать адрес слова, по которому оно хранится. Точно так жедоступ к отдельно хранящемуся в памяти символу осуществляетсяпо адресу содержащего его байта.Во многих приложениях необходимо обрабатывать строки символов переменной длины. Для доступа к такой строке нужно указатьадрес байта, в котором хранится ее первый символ.
Последовательные символы строки содержатся в последовательных байтах. Существует два способа определения длины строки. Первый из них заключается в использовании специальною управляющего символа,обозначающего конец строки и являющегося ее последним символом. Второй способ состоит в использовании отдельного слова памяти или регистра процессора, содержащего число, которое определяет длину строки в байтах.Операции с памятью. Как команды программ, так и данные, являющиеся операндами этих команд, хранятся в памяти. Для выполнения команды управляющие схемы процессора должны инициироватьпересылку содержащего ее слова или слов из памяти в процессор.Операнды и результаты также должны пересылаться между памятью и процессором.
Таким образом, для выполнения командыпрограммы необходимо произвести две операции с памятью:Load (также Read, или Fetch) — загрузка (или чтение, или выборка соответственно);Store (или Write) — сохранение (или запись).Операция загрузки пересылает в процессор копию содержимогопамяти по заданному адресу. При этом содержимое памяти остаетсянеизменным. Для того чтобы начать операцию загрузки, процессоротсылает в память адрес и запрашивает содержимое памяти по этому адресу. Из памяти считываются соответствующие данные и пересылаются в процессор.Операция сохранения пересылает элемент информации из процессора в память по заданному адресу, уничтожая предыдущие данные, хранившиеся по этому адресу. Для выполнения такой операции процессор отсылает в память данные и адрес, по которому онидолжны быть записаны.2.4. Организация оперативной памяти129Информацию из одного слова или одного байта можно переслатьмежду процессором и памятью за одну операцию.
Процессор содержит небольшое количество регистров, вмещающих по одному слову.Эти регистры служат либо источниками, либо приемниками данных,пересылаемых в память и из памяти. Пересылаемый байт обычнорасполагается в младшей (крайней справа) позиции в регистре.Конкретные системы оперативной памяти. Память, хранящая обрабатываемые в текущее время данные и выполняемые команды(программу), называется основной памятью — RAM (Random AccessMemory), т.
е. память с произвольным доступом. Она составляет основу системной памяти. В ПК в большинстве случаях основная оперативная память строится на микросхемах динамического типа(DRAM — Dynamic Random Access Memory), где в качестве запоминающего элемента (ЗЭ) используется простейшая сборка, состоящая из одного транзистора и одного конденсатора. Основными причинами широкого применения этой памяти является высокая плотность интеграции (увеличение числа ЗЭ на чип и сокращение числачипов, необходимых для одного модуля), малое потребление энергии (тратится минимум энергии на хранение одного бита, уменьшается потребляемая системой мощность, снижается стоимость) и т. д.Но имеются и недостатки: каждый ЗЭ представляет, по сути дела,разряжаемый со временем конденсатор, поэтому чтобы предотвратить потерю хранящейся в конденсаторах информации, микросхемаRAM постоянно должна регенерироваться.Имеется другой вид памяти, который лишен этого недостатка.Эта память называется статической (Static RAM — SRAM), где в качестве ЗЭ используется так называемый статический триггер (состоящий из 4—6 транзисторов).
Из-за сложности ЗЭ плотность упаковки микросхем SRAM меньше, чем для DRAM. Следовательно,если бы SRAM устанавливалась в качестве оперативной памяти, тоэто привело бы к увеличению быстродействия ПК, однако при этомсущественно изменилась бы его стоимость, поскольку стоимостьмикросхемы SRAM значительно выше стоимости DRAM. Для повышения быстродействия в настоящее время применяются различные архитектурно-логические решения.
Сейчас имеется множестворазличных типов памяти, отличающихся друг от друга своими основными характеристиками.Основная память соединяется с процессором посредством адресной шины и шины данных. Каждая шина состоит из множества электрических цепей (линий или бит). Ширина (разрядность) адреснойшины определяет, сколько адресов может быть в ОЗУ (адресное пространство), а шины данных — сколько данных может быть передано5 «Архитектура ЭВМ»I130Глава 2. Архитектура и структура ВМ и системза один цикл. Например, в 1985 г. процессор Intel 386 имел 32-разрядную адресную шину, что дало возможность поддерживать адресное пространство в 4 Гбайт.
В процессоре Pentium (1993 г.) ширинашины данных была увеличена до 64 бит, что позволяет передавать8 байт информации одновременно.Каждая передача данных между процессором и памятью называется циклом шины. Количество бит, которое процессор может передать за один цикл шины, влияет на производительность компьютера и определяет, какой тип памяти требуется.Для описания характеристик быстродействия оперативной памяти применяются так называемые циклы чтения/записи (или временные схемы пакета). Дело в том, что при обращении к памяти насчитывание или запись первого машинного слова расходуется больше тактов, чем на обращение к трем последующим словам.
Так, дляасинхронной SRAM чтение одного слова выполняется за 3 такта, запись — за 4 такта, чтение нескольких слов определяется последовательностью 3—2—2—2 такта, (что означает, что чтение 1-го элемента данных занимает 3 такта ЦП, включая 2 такта ожидания, а чтение последующих — по 2 временных такта), а запись — 4—3—3—3.Динамическая памятьДинамическая память (DRAM) в современных ПК используетсяобычно в качестве оперативной памяти общего назначения, а такжекак память для видеоадаптера. Из применяемых в современных иперспективных ПК типов динамической памяти наиболее известныDRAM и FPM DRAM, EDO DRAM и BEDO DRAM, EDRAM иCDRAM, Synchronous DRAM, DDR SDRAM и SLDRAM, видеопамять MDRAM, VRAM, WRAM и SGRAM, RDRAM и некоторыедругие (табл.
2.2).Микросхема памяти этого типа представляет собой прямоугольный массив ячеек со вспомогательными логическими схемами, которые используются для чтения или записи данных, а также цепейрегенерации, поддерживающих целостность данных. Массивы памяти организованы в строки (raw) и столбцы (column) ячеек памяти,именуемые соответственно линиями слое (wordlmes) и линиями бит(bithnes).
Каждая ячейка памяти имеет уникальное размещение, задаваемое пересечением строки и столбца. Цепи, поддерживающиеработу памяти, включают:• усилители, считывающие сигнал, обнаруженный в ячейке памяти;• схемы адресации для выбора строк и столбцов;1312.4. Организация оперативной памятиТаблица 2 2 Некоторые характеристики различных типов динамической памятиРС100РС133DDRSDRAMSLDRAMBaseRambusConcurrentRambusDirectRambusЧастота, МГц100133200/266800700700600/800Максимальнаяскорость, Гбайт/с0,801,001,6/2,11,600,700,701,2/1,6Ожидаемая скорость, Гбайт/с0,500,600,9/1,2-0,400,501,1/1,5Эффективность, %656060-608097Число бит в слове646464168/98/916/18Характеристика• схемы выбора адреса строки (Row address select — /RAS) истолбца (Column address select — /CAS), чтобы открывать и закрывать адреса строк и столбцов, а также начинать и заканчивать операции чтения и записи;• цепи записи и чтения информации;• внутренние счетчики или регистры, следящие за циклами регенерации данных;• схемы разрешения вывода (Output enable — ОЕ).Каждый бит такой памяти представляется в виде наличия (илиотсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла.
Конденсатор управляет транзистором.Если транзистор открыт и ток идет, это означает «1», если закрыт —«О». С течением времени конденсатор разряжается, и его заряд нужно периодически восстанавливать. Между периодами доступа к памяти посылается электрический ток, обновляющий заряд на конденсаторах для поддержания целостности данных (вот почему данный тип памяти называется динамическим ОЗУ).
Этот процессназывается регенерацией памяти. Интервал регенерации измеряетсяв наносекундах (не) и это число отражает «скорость» ОЗУ. Большинство ПК на основе процессоров Pentium используют скорость60 или 70 не. Процесс регенерации снижает скорость доступа к данным, поэтому доступ к DRAM обычно осуществляется черезкэш-память. Однако когда быстродействие процессоров превысило200 МГц, кэширование перестало существенно влиять на присущуюDRAM низкую скорость и возникла необходимость использованиядругих технологий ОЗУ.Цикл чтения включает следующие события (рис. 2.16, для EDODRAM):• выбор строки. Активизация цепи /RAS используется для связывания со строкой памяти и инициации цикла памяти. Это132Глава 2.
Архитектура и структура ВМ и системтребуется при начале каждой операции с памятью. Активноесостояние /RAS задается низким уровнем напряжения на линии, т. е. сигнал /RAS соответствует переходу от высокого напряжения в цепи к низкому. Сигнал /RAS может также использоваться для запуска цикла регенерации.• выбор столбца. Сигнал /CAS используется для связывания состолбцом памяти и инициации операции записи-чтения. Активное состояние /CAS также задается низким напряжениемна линии.• разрешение записи (Write enable /WE). Сигнал /WE задает типоперации; высокий уровень напряжения определяет операциюзаписи, низкий — чтения информации.• разрешение вывода (Output enable /OE).
Во время операцийчтения из памяти этот сигнал предотвращает появление данных прежде времени. Если уровень напряжения в цепи низкий, то данные передаются на выходные линии, как тольковозможно. При записи в память эта линия игнорируется.• ввод/вывод данных. Выводы DQ (также именуемые входо-выходными или I/Os) на чипе памяти предназначены для ввода ивывода. Во время операции записи высокое («1») или низкое(«О») напряжение подается на DQ. При чтении данные считываются из выбранной ячейки и передаются на DQ, если доступосуществлен и /ОЕ открыт. Все остальное время DQ находятсяв закрытом состоянии (высокое входное сопротивление) —они не потребляют электрический ток и не выдают сигналов.Рассмотрим модификации систем динамической оперативнойпамяти.FPM DRAM (Fast page mode DRAM) — представляет собойстандартный тип памяти, быстродействие которой составляет 60или 70 не.