Устройства ЭВМ
Комплекс технических средств, реализующих функцию памяти, называется запоминающим устройством (ЗУ). ЗУ необходимы для размещения в них команд и данных. Они обеспечивают центральному процессору доступ к программам и информации.
Запоминающие устройства делятся на основную или оперативную память (ОП), сверхоперативную память (СОЗУ), ассоциативную память (память с выборкой по содержанию) и внешние запоминающие устройства (ВЗУ).
Основная память
Основная память включает в себя два типа устройств: оперативное запоминающее устройство - ОЗУ (RAM - Random Access Memory) и постоянное запоминающее устройство - ПЗУ (ROM - Read Only Memory).
ОЗУ предназначено для хранения переменной информации. Оно допускает изменение своего содержимого в ходе выполнения процессором вычислительных операций с данными и может работать в режимах записи, чтения, хранения.
ПЗУ содержит информацию, которая не должна изменяться в ходе выполнения процессором вычислительных операций, - например, стандартные программы и константы. Эта информация заносится в ПЗУ перед установкой микросхемы в ЭВМ. Основными операциями, которые может выполнять ПЗУ, являются чтение и хранение.
Функциональные возможности ОЗУ шире, чем ПЗУ. Но ПЗУ сохраняет информацию при отключении питания (т.е. является энергонезависимой памятью).
В современных ЭВМ микросхемы памяти изготавливают из кремния по полупроводниковой технологии с высокой степенью интеграции элементов на кристалле.
Основной составной частью микросхемы является массив элементов памяти (ЭП), объединенных в матрицу накопителя.
Каждый элемент памяти может хранить 1 бит информации и имеет свой адрес. ЗУ, позволяющие обращаться по адресу к любому ЭП в произвольном порядке, называются запоминающими устройствами с произвольным доступом. При матричной организации памяти реализуется координатный принцип адресации ЭП, в связи с чем адрес делится на две части (две координаты) - и . На пересечении этих координат находится элемент памяти, чья информация должна быть прочитана или изменена.
По шине управления передается сигнал, определяющий, какую операцию необходимо выполнить.
По шине данных передается информация, записываемая в память или считываемая из нее.
По шине адреса передается адрес участвующих в обмене элементов памяти (поскольку данные передаются машинными словами, а один ЭП может воспринять только один бит информации, блок элементов памяти состоит из матриц ЭП, где - количество разрядов в машинном слове).
Максимальная емкость памяти определяется количеством линий в шине адреса системной магистрали: если количество линий обозначить , то емкость памяти (т. е. количество элементов памяти, имеющих уни-кальные адреса) определяется как . Так, в IBM PC XT шина адреса СМ содержала 20 линий. Поэтому максимальный объем ОП в этих машинах равен Мбайт. В IBM PC AT (с микропроцессором i80286) СМ содержит 24 линии, поэтому объем ОП мог быть увеличен до 16 Мбайт. Начиная с МП i80386, шина адреса содержит 32 линии. Максимальный объем ОП увеличился до Гб.
Микросхемы памяти могут строиться на статических (Static Random Access - SRAM) и динамических (Dynamic Random Access - DRAM) ЭП. В качестве статического ЭП чаще всего выступает статический триггер. В качестве динамического ЭП может использоваться электрический конденсатор, сформированный внутри кремниевого кристалла.
Статические ЭП способны сохранять свое состояние (0 или 1) неограниченно долго (при включенном питании). Динамические ЭП с течением времени записанную в них информацию теряют (например, из-за саморазряда конденсатора), поэтому они нуждаются в периодическом восстановлении записанной в них информации - в регенерации.
Микросхемы элементов памяти динамических ОЗУ отличаются от аналогичных ЭП статических ОЗУ меньшим числом компонентов в одном элементе памяти, в связи с чем имеют меньшие размеры и могут быть более плотно упакованы в кристалле. Однако из-за необходимости регенерации информации динамические ОЗУ имеют более сложные схемы управления.
Микросхемы ПЗУ так же построены по принципу матричной структуры накопителя. Функции элементов памяти в них выполняют перемычки в виде проводников, полупроводниковых диодов или транзисторов. В такой матрице наличие перемычки может означать "1", а ее отсутствие - "0". Занесение информации в микросхему ПЗУ называется ее программированием, а устройство, с помощью которого заносится информация, - программатором. Программирование ПЗУ заключается в устранении (прожигании) перемычек по тем адресам, где должен храниться "0".
Обычно схемы ПЗУ допускают только одно программирование, но специальные микросхемы - репрограммируемые ПЗУ (РПЗУ) - допускают их многократное стирание и занесение новой информации. Этот вид микросхем также относится к энергонезависимым, т.е. может длительное время сохранять информацию при выключенном питании (стирание микросхемы происходит либо за счет подачи специального стирающего напряжения либо за счет воздействия на кристалл ультрафиолетового излучения, для этого в корпусе микросхемы оставляется прозрачное окно).
Сверхоперативная память
Сверхоперативные ЗУ (СОЗУ) используются для хранения небольших объемов информации и имеют значительно меньшее время (в 2-10 раз) считывания/записи, чем основная память. СОЗУ обычно строятся на регистрах и регистровых структурах.
Регистр представляет собой электронное устройство, способное хранить занесенное в него число неограниченно долго (при включенном питании). Наибольшее распространение получили регистры на статических триггерах.
Регистры могут быть объединены в единую структуру. Возможности такой структуры определяются способом доступа и адресации регистров.
Если к любому регистру можно обратиться для записи/чтения по его адресу, такая регистровая структура образует СОЗУ с произвольным доступом.
Безадресные регистровые структуры могут образовывать два вида устройств памяти: магазинного типа и память с выборкой по содержанию (ассоциативные ЗУ).
Память магазинного типа образуется из последовательно соединенных регистров (рис.15.2).
Если запись в регистровую структуру (рис.15.2a) производится через один регистр, а считывание - через другой, то такая память является аналогом линии задержки и работает по принципу "первым вошел - первым вышел" (FIFO - first input, first output).
Если же запись и чтение осуществляются через один и тот же регистр (рис.15.2б), такое устройство называется стековой памятью, работающей по принципу "первым вошел - последним вышел" (FILO - first input, last output). При записи числа в стековую память сначала содержимое стека сдвигается в сторону последнего, К-го регистра (если стек был полностью заполнен, то число из К-го регистра теряется), а затем число заносится в вершину стека - регистр 1. Чтение осуществляется тоже через вершину стека, после того, как число из вершины прочитано, стек сдвигается в сторону регистра 1.
Стековая память получила широкое распространение. Для ее реализации в ЭВМ разработаны специальные микросхемы. Но часто работа стековой памяти эмулируется в основной памяти ЭВМ: с помощью программ операционной системы выделяется часть памяти под стек (в IBM PC для этой цели выделяется 64 Кбайта). Специальный регистр микро-процессора (указатель стека) постоянно хранит адрес ячейки ОП, выполняющей функции вершины стека. Чтение числа всегда производится из вершины стека, после чего указатель стека изменяется и указывает на очередную ячейку стековой памяти (т.е. фактически стек остается неподвижным, а перемещается вершина стека). При записи числа в стек сначала номер ячейки в указателе стека модифицируется так, чтобы он указывал на очередную свободную ячейку, после чего производится запись числа по этому адресу. Такая работа указателя стека позволяет реализовать принцип "первым вошел - последним вышел".
В стек может быть загружен в определенной последовательности ряд данных, которые впоследствии считываются из стека уже в обратном порядке. На этом свойстве построена система арифметических преобразований информации, известная под названием "логики Лукашевича".
Ассоциативная память
Память с выборкой по содержанию является безадресной. Обращение к ней осуществляется по специальной маске, которая содержит поисковый образ. Информация считывается из памяти, если часть ее соответствует поисковому образу, зафиксированному в маске. Например, если в такую память записана информация о людях, содержащая данные о месте жительства (включая город), и необходимо найти сведения о жителях определенного города, то название этого города помещается в маску и дается команда "чтение" - из памяти выбираются все записи, относящиеся к заданному городу.
В микропроцессорах ассоциативные ЗУ используются в составе кэш-памяти для хранения адресной части команд и операндов исполняемой программы. При этом нет необходимости обращаться к ОП за следующей командой или требуемым операндом: достаточно поместить в маску необходимый адрес, и если искомая информация имеется в СОЗУ, то она будет сразу выдана. Обращение к ОП будет необходимо лишь при отсутствии требуемой информации в СОЗУ. За счет такого использования СОЗУ сокращается число обращений к ОП, а это позволяет экономить время.
Кэш-память может быть размещена в кристалле процессора (так называемая "кэш-память I уровня") либо выполнена в виде отдельной микросхемы или модуля, содержащего несколько микросхем (внешняя кэшпамять, или кэш-память II уровня).
Встроенная кэш-память (I уровня) в процессорах Pentium имеет объем 16-32 Кбайт. Внешняя кэш-память (II уровня) имеет объем до 1Гбайта и работает с 64-битными словами.