Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
246
Добавлен:
04.01.2020
Размер:
5.37 Mб
Скачать

и компоновщика с указанием параметров и имен файлов оформить в виде пакетного файла (.bat) или воспользоваться интегрированной средой разработки, создав в ней соответствующий проект.

Контрольные вопросы к теме 3.5

1Что понимают под инструментальными средствами при разработке ПО для МК?

2Укажите функции, выполняемые ассемблером и компилятором. В чем заключается отличие этих инструментальных средств?

3Укажите функции, выполняемые компоновщиком, библиотекарем и отладчиком.

4Поясните отличие симулятора и эмуляторов.

5Какая ИСР используются для конструирования программ для МК семейства dsPIC33F?

6Укажите отличие языков программирования Ассемблер и С.

7Какие конструкции составляют основу языка Ассемблер?

8Какие поля содержит строка исходного файла?

9Поясните синтаксические правила записи меток, мнемоник инструкций, операндов и аргументов, а также комментариев.

10Поясните назначение основных директив языка Ассемблер.

11Поясните синтаксические правила записи числовых значений в различных системах счисления.

12Перечислите этапы конструирования программ на микроконтроллерах.

13Какие файлы являются исходными данными для ассемблера и компилятора?

14Какие файлы являются исходными данными для компоновщика?

15Когда и в каком формате компоновщик генерирует выполнимый файл для программирования МК?

Тема 3.6 Организация памяти микропроцессорных систем

3.6.1 Общие сведения и основные параметры запоминающих устройств

Запоминающие устройства (ЗУ) служат для хранения информации и обмена ею с другими ЦУ. Микросхемы памяти играют важнейшую роль во многих системах различного назначения. В настоящее время созданы и используются сотни различных типов ЗУ.

Важнейшие параметры ЗУ находятся в противоречии. Так, например, большая информационная емкость не сочетается с высоким быстродействием, а быстродействие, в свою очередь, не сочетается с низкой стоимостью. Поэтому системам памяти свойственна многоступенчатая иерархическая структура, и

в зависимости от роли того или иного ЗУ его реализация может быть существенно различной.

281

В наиболее развитой иерархии памяти ЭВМ можно выделить следующие уровни:

регистровые ЗУ, находящиеся в составе процессора, благодаря которым уменьшается число обращений к другим уровням памяти, реализованным вне процессора и требующим большего времени для обращении к ним;

Кэш-память, особо быстродействующая память служащая для хранения копий информации, используемой в текущих операциях обмена;

основная память (оперативная, постоянная), работающая в режиме непосредственного обмена с процессором или через КЭШ и по возможности согласованная с ним по быстродействию. Исполняемый в текущий момент фрагмент программы обязательно находится в основной памяти;

специализированные виды памяти, характерные для некоторых специфических архитектур (многопортовые, ассоциативные, видеопамять и др.);

внешняя память, хранящая большие объемы информации. Обычно реализуется на основе устройств с подвижным носителем информации (магнитные

иоптические диски, магнитные ленты и др.).

Рассмотрим основные параметры ЗУ. К ним относятся:

информационная емкость М – максимально возможный объем хранимой информации. Измеряется в битах или словах (в частности, в байтах). Бит хранится запоминающим элементом (ЗЭ), а слово – запоминающей ячейкой

(ЗЯ), т. е. группой ЗЭ, к которым возможно лишь одновременное обращение. Добавление к единице измерения множителя «К» (кило) означает умножение на 210 = 1 024, а множителя «М» (мега) – умножение на 220 = 1 048 576;

разрядность ЗУ – разрядность хранимых в нем слов;

организация ЗУ – произведение числа хранимых слов k на их разрядность m. Видно, что это дает информационную емкость ЗУ M = k m, однако при одной и той же информационной емкости организация ЗУ может быть различной. Например, ЗУ с информационной емкостью М = 64 Кбайт может иметь

организацию (8 K 8) байт = (4 K 16) байт и т. д., поэтому организация является самостоятельным важным параметром ЗУ.

быстродействие оценивают временами считывания, записи и длительностями циклов чтения/записи;

время считывания – интервал между моментами появления сигнала чтения и слова на выходе ЗУ;

время записи – интервал после появления сигнала записи, достаточный для установления ЗЯ в состояние, задаваемое входным словом;

цикл чтения или записи минимально допустимый интервал между последовательными чтениями или записями. Длительности циклов могут пре-

282

вышать времена чтения или записи, так как после этих операций может потребоваться время для восстановления необходимого начального состояния ЗУ;

полоса пропускания произведение числа считываемых или записываемых в секунду слов на их разрядность. Например, ЗУ с темпом передачи слов 50 МГц при разрядности 8 бит имеет полосу пропускания 400 Мбит/с.

Для некоторых современных ЗУ перечисленные параметры должны быть дополнены новыми. Причиной является более сложный характер доступа к хранимым данным, когда обращение к первому слову некоторой группы слов (пакета) требует большего времени, чем обращение к последующим. Для таких режимов вводят параметр времени доступа при первом обращении и темпа передач для последующих слов пакета.

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

Один из возможных наборов сигналов ЗУ (рисунок 3.31) включает следующие сигналы:

n

A

M

 

 

m

DI

 

 

m

 

 

 

 

DO

 

R/W

 

 

CS

 

 

 

 

Рисунок 3.31 – Типичные сигналы ЗУ

 

А – адрес, разрядность которого n определяется числом ячеек ЗУ, т. е. мак-

симально возможным числом хранимых в ЗУ слов, равным 2n;

 

 

 

 

 

 

 

 

CS (от англ. Chip Select) разрешает ( CS = 0) или запрещает ( CS = 1) рабо-

ту данной микросхемы;

R/W (от англ. Read/Write) задает выполняемую операцию (при единичном значении – чтение, при нулевом – запись);

DI (от англ. Data Input) и DO (от англ. Data Output) – шины входных и выходных данных, разрядность которых m определяется организацией ЗУ (разрядностью его ячеек). В некоторых ЗУ эти линии объединены.

Для ЗУ характерна такая последовательность сигналов. Прежде всего подается адрес, чтобы последующие операции не коснулись какой-либо другой

283

ячейки, кроме выбранной. Затем разрешается работа микросхемы сигналом

CS

и подается сигнал чтения/записи R/W

(взаимное положение сигналов

 

CS

и R/W для разных ЗУ может быть различным).

 

После подачи перечисленных сигналов ЗУ готовит выходные данные (при чтении) или принимает входные (при записи), что требует определенного времени. Затем задний фронт сигнала R/W считывает данные или фиксирует завершение записи.

Кроме рассмотренных параметров для ЗУ используется и ряд других (уровни напряжений, токи, емкости выводов, температурный диапазон и т. д.), которые традиционны для цифровой схемотехники. Исключение составляет свойство энергонезависимости, т. е. способность ЗУ сохранять данные при отключении напряжения питания. Энергонезависимость может быть естественной, т. е. присущей самим ЗЭ, или искусственной, достигаемой введением резервных источников питания, автоматически подключаемых к накопителю ЗУ при снятии основного питания.

3.6.2Классификация ЗУ

Взависимости от способа доступа к данным ЗУ делятся на адресные, последовательные и ассоциативные (рисунок 3.32).

При адресном доступе код на адресном входе указывает ячейку, с которой ведется обмен. Все ячейки адресной памяти в момент обращения равнодоступны. Эти ЗУ наиболее разработаны, и другие виды памяти часто строят на основе адресной с соответствующими модификациями.

Адресные ЗУ делятся на RAM (Random Access Memory) и ROM (ReadOnly Memory). Синонимы термина RAM: ОЗУ (оперативные ЗУ). Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей программы, которые могут быть изменены в произвольный момент времени. Запоминающие элементы ОЗУ, как правило, не обладают энергонезависимостью.

ВROM (эквивалент – ПЗУ, т. е. постоянные ЗУ) содержимое либо вообще не изменяется, либо изменяется, но редко и в специальном режиме, для рабочего режима это «память только для чтения».

284

 

 

Полупроводниковые ЗУ

 

Адресные

Последовательные

Ассоциативные

ROM

RAM

 

FIFO

Полностью

 

 

 

 

ассоциативные

ROM(M)

 

 

Стековые

 

 

 

 

 

С прямым

 

 

 

 

размещением

PROM

 

 

Файловые

 

 

 

 

 

Наборно-

EPROM

 

 

Циклические

ассоциативные

EEPROM

 

 

 

 

FLASH

 

 

 

 

 

Статические

Динамические

 

Асинхронные

 

Стандартные

Повышенного

 

 

 

 

быстродействия

Тактируемые

 

 

 

FPM

 

 

 

Квазистатические

 

 

 

 

Синхронные

 

 

 

EDORAM

(конвейерные)

 

 

 

 

 

 

 

 

 

 

 

BEDORAM

Рисунок 3.32 – Классификация полупроводниковых ЗУ

 

 

 

 

MDRAM

RAM делятся на статические и динамические. В статических RAM запоми-

 

 

 

 

SDRAM

нающими элементами являются триггеры, сохраняющие свое состояние, пока

схема находится под питанием и нет новой записи данных. В динамических RDRAM

RAM данные хранятся в виде зарядов конденсаторов, образуемых элементами МОП-структур. Саморазряд конденсаторов ведет к разрушениюDRDRAMданных, по-

этому они должны периодически (каждые несколько миллисекунд) регенериро- CDRAM ваться. Плотность упаковки динамических элементов памяти в несколько раз

превышает плотность упаковки, достижимую в статических RAM.

Регенерация данных в динамических ОЗУ осуществляется с помощью специальных контроллеров. Разработаны также ОЗУ с динамическими запоминающими элементами, имеющие внутреннюю встроенную систему регенерации, у которых внешнее поведение относительно управляющих сигналов становится аналогичным поведению статических ОЗУ. Такие ОЗУ называют квазистати-

ческими.

285

Статические ОЗУ называются SRAM (Static RAM), а динамические –

DRAM (Dynamic RAM).

Статические ОЗУ можно разделить на асинхронные, тактируемые и син-

хронные (конвейерные). В асинхронных ОЗУ сигналы управления могут задаваться как импульсами, так и уровнями. Например, сигнал разрешения работы CS может оставаться неизменным и разрешающим на протяжении многих циклов обращения к памяти. В тактируемых ОЗУ некоторые сигналы обязательно должны быть импульсными, например, сигнал разрешения работы CS в каждом цикле обращения к памяти должен переходить из пассивного состояния в активное (должен формироваться фронт сигнала в каждом цикле). В синхронных ОЗУ организован конвейерный тракт передачи данных, синхронизируемый от тактовой системы процессора, что дает повышение темпа передач данных в несколько раз.

Динамические ОЗУ характеризуются наибольшей информационной емкостью и невысокой стоимостью, поэтому именно они используются как основ-

ная память ЭВМ. Поскольку от этой памяти требуется высокое быстродействие, разработаны многочисленные архитектуры повышенного быстродействия.

Статические ОЗУ в 4…5 раз дороже динамических и приблизительно во столько же раз меньше по информационной емкости. Их достоинством является высокое быстродействие, а типичной областью использования – схемы Кэшпамяти.

Постоянные ЗУ делятся на следующие разновидности:

постоянные ЗУ типа ROM программируются в процессе изготовления методами интегральной технологии с помощью масок, поэтому их называют масочными ROM(M), или лазерной технологии ROM(L). Для потребителя это

вполном смысле слова постоянная память, так как изменить ее содержимое он не может;

постоянные ЗУ с однократной записью пользователем – программируе-

мые ПЗУ (PROM). В обозначении присутствует буква P (от англ. Programmable);

репрограммируемые постоянные ЗУ EPROM (от англ. Electrically Programmable ROM) и EEPROM (от англ. Electrically Erasable Programmable ROM), содержимое которых может быть заменено путем стирания старой информации и записи новой. В EPROM стирание выполняется с помощью облучения кристалла ультрафиолетовыми лучами, а в EEPROM – электрическими сигналами.

Программирование PROM и репрограммирование EPROM и EEPROM производятся в обычных лабораторных условиях с помощью либо специальных

286

программаторов, либо специальных режимов без изъятия микросхемы из устройства (для EEPROM).

Память типа Flash по запоминающему элементу подобна памяти типа EEPROM, но имеет структурные и технологические особенности, позволяющие выделить ее в отдельный вид.

Запись данных и для EPROM, и для EEPROM производится электрическими сигналами.

ВЗУ с последовательным доступом записываемые данные образуют некоторую очередь. Считывание происходит из очереди слово за словом либо в порядке записи, либо в обратном порядке.

Прямой порядок считывания имеет место в буферах FIFO с принципом

«первый пришел первый вышел» (First In – First Out), а также в файловых и циклических ЗУ.

Разница между памятью FIFO и файловым ЗУ состоит в том, что в FIFO запись в пустой буфер сразу же становится доступной для чтения, т. е. поступает

вконец цепочки. В файловых ЗУ данные поступают в начало цепочки и появляются на выходе после некоторого числа обращений, равного числу элементов

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

Вциклических ЗУ слова доступны одно за другим с постоянным периодом, определяемым емкостью памяти. К такому типу среди полупроводниковых ЗУ относится видеопамять (VRAM).

Видеопамять работает циклично, на ее выходе последовательно в порядке сканирования экрана монитора лучом появляются коды, задающие параметры светимости (цвет, яркость) элементарных точек экрана – пикселов. Текущее изображение на мониторе, т. е. кадр, представлено последовательностью слов, длина которой равна числу пикселов экрана. Слово, соответствующее одному пикселу, может иметь разрядность от 8 (для черно-белых мониторов) до 24 бит (для полноцветного режима).

Считывание в обратном порядке свойственно стековым ЗУ, для которых реализуется принцип «последний пришел первый вышел». Такие ЗУ назы-

вают буферами LIFO (Last In – First Out).

Время доступа к конкретной единице хранимой информации в последовательных ЗУ представляет собою случайную величину. В наихудшем случае для такого доступа может потребоваться просмотр всего объема хранимых данных.

287

Ассоциативный доступ реализует поиск информации по некоторому признаку, а не по адресу или месту в очереди. В общем случае все хранимые в памяти слова одновременно проверяются на соответствие признаку. На выход выдаются слова, удовлетворяющие признаку. Ассоциативный доступ в современных ЭВМ в основном применяется для построения Кэш-памяти.

Технико-экономические параметры ЗУ существенно зависят от их схемотехнологической реализации.

3.6.3 Основные структуры адресных запоминающих устройств

Адресные ЗУ представлены в классификации статическими и динамическими оперативными устройствами и памятью типа ROM. Многочисленные варианты этих ЗУ имеют много общего с точки зрения структурных схем, что делает более рациональным изучение некоторых обобщенных структур с последующим описанием запоминающих элементов для различных ЗУ.

Общность структур особенно проявляется для статических ОЗУ и памяти типа ROM. Структуры динамических ОЗУ имеют свою специфику. Для стати-

ческих ОЗУ и памяти типа ROM наиболее характерны структуры 2D, 3D и 2DM.

В структуре 2D (рисунок 3.33) запоминающие элементы организованы в прямоугольную матрицу размерностью M = k m, где M – информационная емкость памяти в битах; k – число хранимых слов (число строк матрицы); m – их разрядность (число колонок матрицы).

 

 

n

DC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

D

 

 

 

 

 

Матрица

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. . .

 

 

M = k × m

 

 

 

 

 

(k = 2n)

CS

 

CS

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R/W

 

Буферы данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

DIO

Рисунок 3.33 – Структура ОЗУ типа 2D

288

Дешифратор адресного кода при наличии разрешающего сигнала CS активизирует одну из выходных линий, разрешая одновременный доступ ко всем элементам выбранной строки, хранящей слово, адрес которого соответствует номеру строки. Элементы одного столбца соединены вертикальной линией – внутренней линией данных (разрядной линией). Элементы столбца хранят одноименные биты всех слов. Направление обмена (чтение или запись) определяется уровнем сигнала R/W .

Структура типа 2D применяется лишь в ЗУ малой информационной емкости, так как при росте емкости проявляется несколько ее недостатков, наиболее очевидным из которых является чрезмерное усложнение дешифратора адреса (число выходов дешифратора равно числу хранимых слов).

Структура 3D позволяет резко упростить дешифраторы адреса с помощью

двухкоординатной выборки запоминающих элементов. Принцип двухкоорди-

натной выборки поясняется на примере ЗУ типа ROM, реализующего только операцию чтения данных (рисунок 3.34, а).

Код адреса разрядностью n делится на две половины, каждая из которых декодируется отдельно. Выбирается запоминающий элемент, находящийся на пересечении активных линий выходов обоих дешифраторов, т. е. на пересечении

CS

Матрица запоминающих элементов

DCX

n/2

A2

n/2

DCY

...

A1

ЗЭ

ЗЭ

ЗЭ

...

CS

ЗЭ

ЗЭ

 

ЗЭ

 

...

... ...

...

... ...

...

 

 

...

 

 

ЗЭ

ЗЭ

ЗЭ

1

Бит данных

а)

289

Рисунок 3.34 – Структура постоянного ЗУ типа 3D с одноразрядной (а) и многоразрядной организациями (б)

выбранной строки и колонки. Таких пересечений будет 2n, следовательно, матрица хранит 2n одноразрядных слов.

Уже для ЗУ небольшой емкости видно, что для структуры 2D при хранении 1 K слов потребовался бы дешифратор с 1 024 выходами, тогда как для структуры типа 3D нужны два дешифратора с 32 выходами каждый. Недостатком структуры 3D в первую очередь является усложнение запоминающих элементов, имеющих двухкоординатную выборку.

Структура типа 3D, показанная на рисунке 3.34, а с одноразрядной организацией, может применяться и в ЗУ с многоразрядной организацией (рисунок 3.34, б). В этом случае несколько матриц управляются от двух дешифраторов, относительно которых они включены параллельно. Каждая матрица выдает один бит адресованного слова, а число матриц равно разрядности хранимых слов.

Структуры типа 3D имеют также довольно ограниченное применение, поскольку в структурах типа 2DM (2D модифицированная) сочетаются достоинства обеих рассмотренных структур: упрощается дешифрация адреса и не требуются запоминающие элементы с двухкоординатной выборкой.

ЗУ типа ROM структуры 2DM (рисунок 3.35) для матрицы запоминающих элементов с адресацией от дешифратора DCX имеет как бы характер структуры

290