5. ЗАПОМИНАЮЩИЕ УСТРОЙСТВА (ПАМЯТЬ)

 

Память может быть внутренней и внешней. Внешней называют память на магнитных, оптических дисках, лентах и т.п. Внутренняя память выполняется, чаще всего, на микросхемах. Внутренняя или основная память может быть двух типов: оперативное запоминающее устройство (ОЗУ) или ЗУ с произвольной выборкой (ЗУПВ) и постоянное ЗУ (ПЗУ). ОЗУ, кроме того, обозначается - (RAM, Random Access Memory), а ПЗУ - (ROM, Read Only Memory). Получила также распространение Флэш(Flash) память, имеющая особенности и ОЗУ и ПЗУ и энергонезависимая память (Nonvolatile - NV). Последнее название условно, так как ПЗУ и Флэш память, также энергонезависимы. В ОЗУ коды в соответствии с решаемыми задачами постоянно изменяются и полностью пропадают при выключении питания. В ПЗУ хранятся управляющие работой ЭВМ стандартные программы, константы, таблицы символов и другая информация, которая сохраняется и при выключении компъютера. ОЗУ подразделяются на статическую память (SRAM), динамическую (DRAM), регистровую (RG). ПЗУ могут быть: масочными - запрограммированными на заводе изготовителе (ROM), однократно-программируемыми пользователем ППЗУ (PROM или OTP), многократно-программируемыми (репрограммируемыми) пользователем РПЗУ с ультрафиолетовым стиранием (EPROM) или c электрическим стиранием (EEPROM,Flash). Широкое распространение нашли также программируемые логические матрицы и устройства (PLM, PML, PLA, PAL, PLD, FPGA и т.д.) с большим выбором логических элементов и устройств на одном кристалле.

В зависимости от типа ЗУ элементом памяти (ЭП) может быть: триггер, миниатюрный конденсатор, транзистор с "плавающим затвором", плавкая перемычка (или ее отсутствие). Упорядоченный набор ЭП образует ячейку памяти (ЯП). Количество элементов памяти в ячейке (длина слова) обычно кратно 2n (1,4,8,16, 32,64..), причем величины свыше 8-ми достигаются, обычно, группировкой микросхем с меньшим количеством ЭП. Количество ЭП в ЯП иногда называется длиной слова. Основными характеристиками микрсхем памяти являются: информационная емкость, быстродействие и энергопотребление. Емкость ЗУ чаще всего выражается в единицах кратных числу 210 = 1024 = 1K. Для длины слова равной биту (одному двоичному разряду) или байту (набору из восьми бит) эта единица называется килобит или килобайт и обозначается Kb или KB.

zmodel.gif (4331 bytes)

Каждой из двух в степени "n" ячеек памяти однозначно соответствует "n"- разрядное двоичное число, называемое адресом ЯП. Например, адресом 511-ой ячейки будет число 1 1111 1111(BIN) = 511(DEC) = 1FF(HEX). В программах адреса употребляются в 16-ном формате. Емкость ЗУ часто выражается произведением двух чисел 2n * m, где 2n - число ячеек памяти, а m - длина слова ячейки, например 8K * 8 (м/с 537РУ17), т.е. 8192 ячейки размером в один байт. В некоторых справочниках для этой же микросхемы приводится обозначение емкости одной цифрой 64Kбит, что никак не отражает внутреннюю организацию этой микросхемы, такую же емкость могут иметь м/с с организацией 16K * 4, 64K * 1 и т.д.

 

5.1 ОЗУ СТАТИЧЕСКОГО ТИПА

В качестве элемента памяти используется простейший D-триггер защелка. В микросхеме 537РУ10 каждая ЯП состоит из восьми триггеров и располагаются ячейки на кристалле в виде прямоугольной матрицы.

sram1.gif (4210 bytes)

На рисунке приведены обозначения: n-адресных входов (A0 .. An-1), DIO - двунаправленная восмиразрядная шина данных, вход разрешения выходов - ~OE, вход выбора микросхемы - ~CS и вход разрешения записи - ~WE, который часто обозначают по другому - ~WR/RD, подчеркивая этим, что при низком значении сигнала на этом входе производится запись байта, а при высоком уровне - чтение. EO, DI, WR - внутренние сигналы вырабатываемые блоком управления чтением/записью/хранением. Доступ к произвольной ЯПj  производится с помощью прямоугольного дешифратора, состоящего из двух обычных дешифраторов, причем k-адресных линий заводится на дешифратор столбцов (DCc), а оставшиеся n-k линий подключены к дешифратору строк (DCr). Количество строк и столбцов будет соответственно равно 2n-k и 2k, т.е. общее количество, обслуживаемых ЯП, равно 2k * 2n-k = 2n.

На рисунке внизу показан фрагмент внутренней структуры микросхемы, по которому можно проследить основные режимы ее работы. Здесь же дано условное обозначение микросхемы.

sram2.gif (6828 bytes)

На рисунке схемы с открытым коллектором и третьим состоянием обозначены ОК и Z - соответственно. Точками выделен один (j-ый) из восьми элементов i-ой ячейки памяти. Схема И с номером i = (r * 2k + c) является одним из 2n выходных узлов прямоугольного дешифратора, где r и c - номера строк и столбцов матрицы. Инверсный вход (C)hip (S)elect - ~CS, во всех микросхемах, где он встречается, служит для приведения схемы в рабочее состояние низким уровнем сигнала на этом входе.

Если ~CS = 1 (пассивный уровень), микросхема - не выбрана и операции с ней производить невозможно. Из рис. видно, что в этом случае на L-входе D-триггера - ноль, запись невозможна и триггер хранит ранее записанный бит. Прочитать выходной код - Q тоже нельзя, т.к. на прямом входе EO разрешения выхода запрещающий нулевой сигнал и вход/выход DIOi находится в третьем состоянии.

С поступлением ~CS = 0, схемы ИЛИ-НЕ разблокируются и дальше все зависит от значений сигналов ~WE и ~OE.

В режиме записи сигнал ~WE = 0. Поэтому независимо от значения сигнала ~OE на входе схемы, внутренний сигнал EO, тоже равен 0, и чтение данных во время записи невозможно. На верхнем входе элемента Иi - единица и, если на адресных входах код An-1,An-2,...,A1,A0(BIN) = i(DEC), то сигналы на линиях Yr и Yc тоже равны 1 и триггер ij прозрачен для записи входной информации DIOj.

В режиме чтения ~WE=1, ~OE=0 и при Yr=Yc=1, выходной сигнал ~Q после инверсии элементом Иij с открытым коллектором проходит на выход DIOi.

Следует обратить внимание на то, что выходы всех 2^n j-ых элементов памяти должны подключаться к общему j-му выводу микросхемы - DIOj. Такое объединение выходов возможно с помощью схемного либо монтажного И(ИЛИ). Монтажное И(ИЛИ) не требует дополнительных схем и может выполняться на элементах с открытым коллектором или с третьим состоянием. Внутри рассматриваемой схемы j-е выходы ЭП объединены на общем резисторе Rj, служащем нагрузкой элементов И-НЕij с открытым коллектором.

Для увеличения информационной емкости,отдельные микросхемы группируются в банки и их одноименные выходы должны объединяться. По этой причине выходы всех микросхем памяти также выполняются с открытым коллектором либо с третьим состоянием.

В ЭВМ статическое ОЗУ используется в быстродействующей Cash-памяти.

 

5.2 ОЗУ ДИНАМИЧЕСКОГО ТИПА

В качестве элемента памяти используется микроконденсатор в интегральном исполнении, размеры которого значительно меньше D-триггера статической памяти. По этой причине, при одинаковых размерах кристалла, информационная емкость DRAM выше, чем у SRAM. Количество адресных входов и габариты должны увеличиться.Чтобы не допустить этого, адресные линии внутри микросхемы разбиваются на две группы, например старшая и младшая половина. Две одноименные k-линии каждой группы подключаются к двум выходам внутреннего k-го демультиплексора "1 в 2", а его вход соединяется с k-ым адресным входом микросхемы. Количество адресных входов, при этом уменьшается в два раза, но зато передача адреса в микросхему должна производиться, во-первых в два приема, что несколько уменьшает быстродействие, и во-вторых потребуется дополнительный внешний мультиплексор адреса.В процессе хранения бита конденсатор разряжается. Чтобы этого не допустить заряд необходимо поддерживать.

Суммируя, можно перечислить чем отличается динамическое ОЗУ от статического: 1)мультиплексированием адресных входов, 2)необходимостью регенерации хранимой информации, 3)повышенной емкостью (до нескольких Мбит), 4)более сложной схемой управления. На рисунке внизу  приведено условное обозначение м/с 565РУ7 емкостью 256K*1 (218K) и способ подключения 18-ти линий адреса к девяти адресным входам с помощью 9-ти мультиплексоров "2 в 1", например трех счетверенных селекторов-мультиплексоров типа 1533КП16.

dram.gif (4007 bytes)

Элементы памяти расположены на кристалле в виде матрицы 512 * 512 = 29 * 29, управляемой двумя линейными дешифратороми строк и столбцов, каждый с 9-ю адресными входами. Если сигнал строка/столбец ~R/C на входе выбора S мультиплексора, равен нулю, то A(0..8) = Y(0..8) и в микросхему передается адрес строки. Этот адрес фиксируется отрицательным фронтом строба адреса строк  ~RAS. При ~R/C = 1 на выходы мультиплексора передается адрес столбцов A(9..17), который защелкивается отрицательным перепадом строба адреса столбцов ~CAS. Вход ~WE управляет записью/ чтением. Оперативная память персональных ЭВМ - (SIMM, EDO, SDRAM..) является динамической памятью. Время обращения к ней меньше 10нс, а емкость достигает 256M в одном корпусе.

 

5.3 РЕПРОГРАММИРУЕМОЕ ПЗУ

Микросхемы РПЗУ допускают многократное,   до сотен тысяч, циклов перепрограммирования на рабочем месте пользователя. Это свойство обеспечивается применением ЭП на МОП транзисторах с "плавающим затвором". Толщина изоляции "плавающего затвора" порядка 200 ангстрем. Информация считается стертой, если на выходах всех ЭП высокий уровень сигнала. В режиме программирования, на выбранный по адресной шине ЭП, куда необходимо записать ноль, подается импульс. Стирание осуществляется УФ-излучением (EPROM), либо электрически (EEPROM). При этом все ячейки переводятся в состояние "1". Записанная информация сохраняется в течение нескольких лет. Одной из м/с этого типа является EPROM 573РФ2 с организацией (2К * 8) и тристабильными выходами.

В Flash-памяти толщина изоляции "плавающего затвора" менее 100 ангстрем, поэтому при перепрограммировании используется туннельный эффект.

 

5.4 ОДНОКРАТНО ПРОГРАММИРУЕМЫЕ ПЗУ ППЗУ (PROM,OTP)

в качестве элементов памяти имеют набор плавких перемычек, которые в процессе программирования пережигаются импульсами тока. На рис.75 приведена схема ППЗУ.

otp1.gif (5770 bytes)

Для любого значения адресных сигналов найдется единственный выход дешифратора "i" на котором сигнал Yi = 1, на остальных выходах будут нули. Потенциал базы j-транзистора будет зависеть в этом случае только от наличия или отсутствия перемычки fi. Если перемычка есть (fi=1), то на базе высокий уровень сигнала, транзистор открыт и выходной сигнал DOj = 0. Если перемычки нет (fi=0),то DOj=1.Пережиганием перемычек в соответствующих j-битах всех адресов, в микросхему записывается программа и/или данные. Выходной сигнал дешифратора Yi = mi, где mi-минтерм входных переменных A0..An-1.Транзистор с перемычками выполняет роль ИЛИ-НЕ, поэтому сигнал



             2^n-1                  n-1
        ~DOi =ИЛИ(fi * mi), где mi = И(/Ak).
              i=0                   k=0

причем /Ak = ~Ak, если Ak во входном наборе равна 0 и /Ak = Ak, если Ak = 1. Эти формулы соответствуют формулам СДНФ (12), поэтому с помощью ПЗУ с n-адресными входами и m-выходами можно реализовать любые m-логических функций с n-переменными (учитывая инверсию сигнала выходным каскадом).

 

5.5 ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ (NVSRAM)

Всякая память сохраняющая данные при отключении внешнего источника питания может считаться энергонезависимой - NonVolatile Memory, однако этот термин больше утвердился за статической оперативной памятью:

 

5.6 УВЕЛИЧЕНИЕ РАЗРЯДНОСТИ ЯЧЕЙКИ ПАМЯТИ (СЛОВА)

Если требуется хранить данные размером в n-бит, а длина слова ячейки памяти  m-бит (n>m), то прибегают к наращиванию длины слова. Делается это путем объединения n/m - микросхем в группы, причем все одноименные входы, кроме информационных, соединяются между собой. Например, если требуется динамическая память емкостью 256K с длиной слова равной байту, то необходимо объединить 8 / 1 = 8 микросхем типа 565РУ7, как это показано на рис.

bitplus.gif (3862 bytes)

На рисунке девять линий адреса показаны в виде шины - т.е. группы проводников, объединенных по функциональному признаку.

 

5.7 УВЕЛИЧЕНИЕ КОЛИЧЕСТВА ЯЧЕЕК ПАМЯТИ

Увеличение адресного пространства ЗУ в 2k раз требует столько же микросхем памяти и "k" дополнительных линий адреса, к уже имеющимся "n"линиям  An+k-1, . .An+0, An-1, An-2, ... A1, A0. Дополнительные адресные линии An+k-1 .. An+0 должны разбивать требуемое адресное поле на 2k неперекрывающихся интервалов, покрываемых объемом памяти каждой отдельной микросхемы. Для решения этой задачи требуется дополнительный дешифратор "k в 2k". Например, если нужен блок ПЗУ емкостью 2K*4, то потребуется 8 микросхем 256*4 типа 541РТ1 и один дешифратор "3 в 8", как показано на рис.

byteplus.gif (4817 bytes)

Одноименные j- е выходы микросхем с открытым коллектором соединены с общим нагрузочным резистором Rj. Три старших дополнительных бита адреса A10,A9,A8 выбирают одну из восьми микросхем, а восемь младших бит адреса выводят содержимое одной из 256-ти ячеек памяти на шину данных (ШД).Пусть на шину адреса (ША) поступил код A10..A0 = 11000011010 = 61A. На всех выходах дешифратора, кроме шестого (A10..A8 = 110 =6) будет высокий уровень. Нулевой сигнал ~Y6 = 0 на входе ~OE1 шестой микросхемы разрешит прохождение записанной информации на выходы, а код 1 1010 = 1A(HEX) = 26(DEC) на адресных входах A7..A0 извлечет содержимое 26-ой ЯП и поместит его на четыре линии шины данных (ШД).

Особенностью метода является необходимость объединения по ИЛИ(И) одноименных выходов микросхем. Это можно выполнить или подключением одноименных выходов к 2n- входовым схемам ИЛИ(И) для каждого разряда, или выполнять выходные структуры микросхем памяти по схеме допускающей монтажное ИЛИ(И) с открытым коллектором или с третьим состоянием, что целесообразней. По этой причине все микроросхемы памяти выпускаются с такими выходами.

 

5.8 ПРОГРАММИРУЕМЫЕ ЦИФРОВЫЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ

Проектирование современных цифровых устройств невозможно без использования программируемых цифровых ИС (ПЦИС). Они обладают следующими преимуществами перед дискретными элементами: 1)Уменьшение габаритов устройства, 2)Увеличение быстродействия, 3)Повышение надежности, 4)Защита от копирования результатов разработки, 5)Беспрецедентная скорость разработки и модификации проекта, 6)Разработку и модификацию устройства может вести потребитель на своем рабочем столе.

 

СТРУКТУРА ПЦИС

Схемные характеристики большинства ПЦИС основаны на реализации диз'юнктивной нормальной формы (ДНФ) с помощью элементов И,ИЛИ,ИСКЛЮЧАЮЩЕЕ ИЛИ и инверторов. В состав ПЦИС входят также триггеры, мультиплексоры конфигурации буферы (прямые, инверсные, тристабильные) и программируемые перемычки. Потребительские свойства разрабатываемой потребителем схемы складываются, т.о. из жесткой топологии, закладываемой на заводе и из схемных особенностей проекта программируемых разработчиком (потребителем). Основой ПЦИС является набор матриц И и ИЛИ и макроячеек, включающих триггеры, буферы входов/выходов, элементы управления и обратные связи. Укрупненная структурная схема ПЦИС показана на рис.1.

pld1.gif (2523 bytes)

Входы элементов И матрицы И принято обозначать на схемах (не по ГОСТ'у между прочим) как на рис.2 слева. В середине то же по ГОСТ.

pld2.gif (2490 bytes)

В незапрограммированном виде пермычки находятся на месте. Удаляя (значок X) с помощью программатора перемычки можно получить любое логическое произведение (терм) входных переменных. На рис.2 перемычка от линии x1 до соответствующего входа И удалена.  Обычно на входы матриц И заводятся не только прямые, но и инверсные значения переменных. Выходы матриц И,  как и положено в ДНФ подключаются к элементам ИЛИ. Внимательно изучите рис.3 и особенно обозначение пересечений без соединения и с соединением проводников.

pld3.gif (4284 bytes)

Выход элемента ИЛИ подключен через управляемый инвертор/повторитель, выполненный на ИСКЛ.ИЛИ (=1), во-первых к входу триггера, во-вторых через мультиплексор MUX1 и управляемый тристабильный буфер к выходу.

pld4.gif (4446 bytes)

Если буфер переведен в третье состояние сигналом E, внешний вывод микросхемы "выход/вход" может служить входом. Через MUX2, также может заводиться сигнал обратной связи с выхода триггера. Cигналы от перемычек F(use)1 и F(use)2 поступают на управляющие входы мультиплексоров "2->1" обеспечивая подключение одного из двух входов к единственному выходу, каждого MUX. Программирование ПЦИС под конкретную задачу может многократно производиться конфигурированием перемычек с помощью специальных программаторов под управлением САПР.

 

5.9 ЗАДАЧИ И УПРАЖНЕНИЯ

Для приведенной на рисунке микросхемы памяти дайте ответ на три вопроса: а) какой тип памяти изображен на рисунке - ram или rom? б) укажите емкость памяти (количество ячеек) в) чему равна длина слова у этой микросхемы в битах?

ramz.gif (1533 bytes)

Пояснения : 1)Микросхема имеет три управляющих входа: выбор микросхемы ~CS, разрешение выходов ~OE и разрешение записи ~WR, последний вход и определяет принадлежность микросхемы к ОЗУ (ram). 2)Наличие двух адресных входов свидетельствует о 2^2 ячейках памяти. 3)Две линии данных соответствуют длине слова = 2

 

fromxx.gif (16626 bytes)

 

Найдите логическую функцию на выходе Y матрицы И,ИЛИ ПЦИС.

pldzd1.gif (1921 bytes)

Пояснения : По принятым в зарубежной литературе обозначениям пред нами две трехвходовых схемы И выходами, подключенные к двум входам ИЛИ. X - обозначает отсутствие перемычки в данном месте. Поэтому ответ: x0*x2 + x0*x1.

 

Найдите логическую функцию на выходе Y.

pldzd2.gif (2618 bytes)

Пояснения: На рисунке показаны только задействованные элементы И в каждой макроячейке. Выходной буфер у каждой макроячейки инвертирующий. Поэтому верхняя матрица И,ИЛИ реализует функцию Yi = ~(~b * ~c * ~d * ~e * ~f * ~g * ~h). Сигнал Yi является входным для нижней схемы И, но не поступает на вход верхней, так как сответствующая перемычка разомкнута. Далее продолжите решение самостоятельно. Не забывайте про соотношение двойственности (Де Моргана)!

Ответ:  ~(b + c + d + e + f + g + h)