Файл: Лабораторная работа 1 Синтез комбинационных схем Лабораторная работа 2 Построение систем памяти.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2023
Просмотров: 273
Скачиваний: 19
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
14
5 Теоретические вопросы к отчету лабораторной работы
1. Позиционные и непозиционные системы счисления, примеры.
Двоичная, десятичная и шестнадцатеричная системы, правила представления целых и дробных чисел в них.
2. Понятие функции алгебры логики (ФАЛ). Элементарные ФАЛ:
ИЛИ, И, НЕ, ИСКЛЮЧАЮЩЕЕ ИЛИ, их таблицы истинности и изображения на схеме.
3. Правила записи функции, заданной таблицей истинности, в аналитическом виде ДНФ и КНФ. Минимизация функции, правила склеивания и поглощения. Определение сложности схем и времени их задержки в логических элементах. Сложность и время задержки составных схем.
4. Понятие шины, правила ее применения и обозначение на схеме.
Подключение к шине проводников и шин различных размерностей.
5. Полусумматор: таблица истинности, интерфейс и реализации.
6. Одноразрядный полный двоичный сумматор (ОПДС). Таблица истинности и реализация. Реализации на основе логических элементов И,
ИЛИ, НЕ и на основе полусумматоров.
7. Понятие унитарного кода, представление положительного целого числа в унитарном и двоичном позиционном кодах. Дешифратор: таблица истинности, принцип работы, интерфейс и реализация.
8. Обыкновенный и приоритетный шифраторы, их таблицы истинности, принцип работы, интерфейс и реализация.
9. Мультиплексор: принцип работы, понятие разрядности и канальности, интерфейс и реализация мультиплексора с определенным числом разрядов и каналов.
15 10. Демультиплексор: принцип работы, понятие разрядности и канальности, интерфейс и реализация демультиплексора с определенным числом разрядов и каналов.
11. Понятие триггеров, виды триггеров: RS, D, T, JK, их таблицы переходов. Триггеры со статическим и динамическим управлением.
Триггеры с управлением по уровню, по фронту и по срезу (спаду).
Принципы построения временных диаграмм работы триггеров.
12. Счетчики: понятие, построение на основе триггеров и принцип работы.
13. Понятие регистров. Параллельные, последовательные (сдвиговые) и последовательно-параллельные регистры. Интерфейс и реализация на основе триггеров.
14. Арифметические сдвигатели в обратном и дополнительном кодах.
Правила сдвигов и реализация на основе регистров.
6 Использованные и рекомендуемые источники
1. Харрис, Д.М. Цифровая схемотехника и архитектура компьютера [Текст] /
Д.М. Харрис, С.Л. Харрис. — 2-е изд. — Morgan Kaufman, 2013. — 1621 с. : ил.
2. Угрюмов, Е.П. Цифровая схемотехника [Текст] : Учеб. пособие для вузов /
Е.П. Угрюмов. — 2-е изд., перераб. и доп. — СПб. : БХВ-Петербург, 2007. — 800 с. : ил.
3. Лехин С.Н. Схемотехника ЭВМ [Текст] / С.Н. Лехин. — СПб. : БХВ-
Петербург, 2010. — 672 с. : ил.
4. Бабич, Н.П. Компьютерная схемотехника. Методы построения и проектирова- ния [Текст] : Учебное пособие / Н.П. Бабич, И.А. Жуков. — К. : МК-Пресс, 2004. — 576 с. : ил.
5. Потехин, В.А. Схемотехника цифровых устройств [Текст] : Учеб. пособие для вузов / В.А. Потехин. — Томск : В-Спектр, 2012. — 250 с.
16
Лабораторная работа № 2. Построение систем памяти
Цели работы:
1. Изучить принципы построения адресных устройств памяти с прямым доступом.
2. Построить ячейку адресной памяти на несколько многобитных слов.
3. Изучить различные варианты распределения адресного пространства между несколькими устройствами памяти (в том числе – расслоение памяти).
1 Теоретическое введение
Под запоминающими устройствами (ЗУ, память) обычно понимается совокупность устройств для запоминания, хранения и выдачи информации.
Память является одним из основных ресурсов компьютера, влияющим как на производительность, так и на функциональность вычислительной машины.
Существует обширная классификация запоминающих устройств по различным критериям. Одним из критериев классификации является способ адресации ячеек памяти. Согласно данному критерию, можно выделить:
— адресную память;
— стековую память;
— ассоциативную память.
Отличительным признаком адресной памяти является организация доступа к ячейкам памяти по адресам, то есть, по номерам ячеек, которые поступают на вход ЗУ в закодированном виде, а затем
17 декодируются тем или иным образом для выбора определенного запоминающего элемента (ЗЭ) или их группы.
Адресная память на самом общем уровне включает в себя:
— массив запоминающих элементов (триггеров, регистров, управляемых конденсаторов и т.д.);
— адресные дешифраторы для декодирования адреса ячейки в управляющие импульсы по шинам управления, усилители адресных и разрядных линий;
— все остальные необходимые логические схемы для осуществления выборки, считывания и записи и управления ЗУ.
Различные варианты адресной организации памяти связаны, прежде всего, с различными способами построения массива ЗЭ и декодирования адреса. С этой точки зрения выделяют память типа 1D, 2D, 2,5D, 3D, 4D
(по количеству измерений массива ЗЭ).
В памяти типа 1D массив имеет только одно измерение, то есть в нем адресуется каждый бит памяти. Однобитное ОЗУ с интерфейсом и реализацией на основе RS-триггера представлено на рисунке 7. Обратите внимание на буфер с тремя состояниями, позволяющий при переходе в Z- состояние полностью отключать выход ячейки памяти от триггера. В схемотехнике могут использоваться устройства памяти с незначительно отличающимися от данного интерфейсами (например, с объединенным входом чтения/записи и входом разрешения работы устройства CS), но общий принцип их работы остается прежним.
Ячейка памяти, хранящая один бит информации, имеет следующие выводы:
— вход данных D (Data Input);
— вход команды чтения бита данных R (Read);
— вход команды записи бита данных W (Write);
— вход выбора ячейки A (Address);
18
— динамический вход стробирования C;
— выход данных Do (Data Output).
Для записи в ячейку данных необходимо выставить на входе A единичный уровень (что означает, что ячейка выбрана), установить записываемое значение бита на входе D, установить единичное значение сигнала на входе W и подать сигнал на вход C. В момент изменения сигнала с логического нуля на единицу на входе C (по фронту импульса на
C) в ячейку будет произведена запись. Для считывания данных нужно выставить на входе A единичный уровень и подать сигнал на вход чтения
R. При этом значение, хранящееся в триггере, будет выведено на вывод
Do. Множество состояний ячейки памяти и условия переходов между ними приведены в таблице 3. а) б)
Рис. 7. Интерфейс (а) и реализация (б) ячейки памяти одного однобитного слова
Табл. 3. Таблица переходов состояний ячейки памяти RAM 1x1
Вход
A
Вход
R
Вход
W
Вход С
Состояние ячейки
Выход Do
0
*
*
*
Ячейка не выбрана.
Хранение
Z
1 1
0
*
Ячейка выбрана. Чтение
Значение, хранящееся в триггере
1 0
1 0 → 1
Ячейка выбрана. Запись
Z
1 0
0
*
Ячейка выбрана.
Хранение
Z
19
Адресация каждого бита, которая реализуется в 1D памяти, в большинстве случаев является неэффективной. При ее использовании обращение к памяти происходит по одному биту за такт, хотя современные вычислительные системы оперируют многоразрядными словами. Это приводит к многократным обращениям процессора к оперативной памяти и к соответствующему снижению производительности. Также, при достаточно большом объеме запоминающего устройства такая организация приводит к сложным схемам дешифраторов и огромному количеству служебных линий, трассировка которых внутри кристалла вызывает проблемы, а площадь, занимаемая ими, сопоставима с площадью массива самих запоминающих элементов.
Для решения этих проблем необходимо увеличение размерности памяти. В 2D-памяти адресуются не отдельные биты, а слова, что повышает эффективность ее использования, т.к. за одно обращение к ЗУ процессор обращается уже не к одному биту, а ко всему слову целиком.
Организация микросхемы в этом случае обозначается двумя числами:
n
m
, где
m
— число хранимых слов в ней слов, а
n
— разрядность каждого слова. При этом по шине адреса A передается адрес слова, а по шинам данных D и Do — его значение.
Как правило, для построения памяти, хранящей многоразрядные слова, удобно создать ячейку памяти одного такого слова. Пример такой ячейки
(ее интерфейс и реализация) для случая ОЗУ 1x2 приведен на рисунке 8.
20 а) б)
Рис. 8 — Интерфейс (а) и реализация (б) ячейки памяти одного двухбитного слова
При построении ячеек памяти с организацией 2D на несколько многоразрядных слов нужное слово требуемой разрядности выбирается дешифратором, на входы которого подается адрес выбираемой ячейки
ОЗУ. Пример такой ячейки приведен на рисунке 9а,б. Все выходные шины данных каждого ЗУ объединяются в одну (Do). Конфликтной ситуации при этом не создается, так как в каждый момент времени выходная шина данных оказывается подключенной только к одному ЗУ, выбранному дешифратором в зависимости от значения адреса на входе ячейки памяти.
Остальные устройства при этом находятся в Z-состоянии (иными словами, отключены от шины). Организация доступа к шине, при которой информация на нее подается с одного из нескольких источников (в данном случае — с одной из ячеек памяти), называется мультиплексированием
шины.
При увеличении числа хранимых в ЗУ слов растет разрядность шины адреса устройства памяти, что приводит к необходимости использовать для выбора требуемой ячейки памяти дешифраторы с очень большим числом выходов (так как число выходов дешифратора экспоненциально возрастает при увеличении числа входов). Это значительно усложняет
21 схему и вызывает проблемы с организацией шин большой разрядности в
ОЗУ. Для большей экономии кристалла необходимо использовать слова еще большей разрядности, однако это входит в противоречие с разрядностью шин данных вычислительной системы и создает дополнительные неудобства.
Для их преодоления используют организацию памяти типа 2,5D, при которой слова системной разрядности
(16, 32, 64 и т.д.) объединяются в группы. Адрес ячейки при декодировании в ЗУ делится на 2 части, большая из них используется для выбора группы, а меньшая — для выбора слова внутри группы. Данный вариант организации запоминающих устройств в данной лабораторной работе не рассматривается. а) б)
22 в)
Рис. 9. Интерфейс (а) и реализация ячейки памяти на четыре двухбитных слова с 2D организацией (б) и 3D организацией (в)
Еще одним способом организации памяти является 3D-организация, при которой массив ЗЭ имеет два измерения. При такой организации памяти все слова располагаются в виде прямоугольной матрицы (не обязательно квадратной), и каждому слову приписываются «координаты» в этой матрице (иными словами, позиция слова в матрице по горизонтали и вертикали). Адрес ячейки, поступающий на вход 3D памяти, делится на две части (в целях эффективности адрес лучше делить пополам), и каждая из частей адреса дешифрируется независимо от другой отдельным дешифратором. Один из этих дешифраторов выбирает строку матрицы слов, а другой — столбец матрицы. Та ячейка памяти, которая расположена на пересечении выбранных строки и столбца матрицы, считается выбранной.
Остальные ячейки памяти в матрице
(представляющие другие слова) находятся в Z-состоянии и в операции чтения/записи слова не участвуют. Пример 3D ячейки памяти
2 4
приведен на рисунке 9в. Подобный подход позволяет уменьшить и
23 количество линий, и сложность адресных дешифраторов. Дальнейшее развитие такого подхода приводит к памяти с организацией 4D и т.д.
Дальнейшее увеличение объема ЗУ требует объединения нескольких устройств меньшего объема (модулей) в одно. При этом для управления различными модулями памяти, как правило, используется следующий принцип. Адрес слова в такой ЗУ делится на две части. Одна часть адреса осуществляет выбор слова в каждом из модулей, а вторая его часть — выбор одного из модулей. Очевидно, что если устройство памяти будет состоять из двух модулей, то для выбора модуля потребуется только один бит шины адреса, а остальные биты будут определять адрес слова в обоих модулях. При этом только одна ячейка памяти из выбранного модуля будет участвовать в операции чтения/записи. Пример построения такого устройства памяти с управлением по старшему биту показан на рисунке
10а, б. а) б)
24 в)
Рис. 10. Интерфейс (а) и реализация ячейки памяти на восемь двухбитных слов без расслоения памяти (б) и с расслоением (в)
В современных компьютерных системах оперативная память строится на основе динамической памяти, которая, вместе со своими достоинствами
(дешевизна, высокая плотность расположения элементов на кристалле, простота построения), имеет и недостатки, одним из которых является низкая скорость работы. Подобный факт приводит к тому, что часто процессор вынужден простаивать, ожидая окончания обмена данных с
ОЗУ.
Одним из методов, позволяющих ускорить обмен данными между процессором и памятью, является расслоение памяти. В его основе лежит принцип локальности программ, согласно которому обрабатываемые данные располагаются в памяти как можно ближе друг к другу. Поэтому и в адресах слов этих данных младшие биты меняются чаше, чем старшие.
Это хорошо заметно на таблице истинности любой функции, например, представленной в таблице 2. На ней видно, что чем ближе друг к другу в адресном пространстве расположены слова, тем меньше вероятность обнаружить у них различный старший бит. Поэтому, в случае построения
ЗУ с расслоением памяти управляющим является младший бит шины
25 адреса. В этом случае, два слова со смежными адресами будут записаны в разные модули памяти, и процессору для записи или чтения второго слова не придется ожидать окончания работы медленного модуля динамической памяти, обрабатывающего первое слово, как это происходит при организации памяти без расслоения. Схема устройства памяти с расслоением приведена на рисунке 10в.
2 Порядок выполнения работы
1. Запустите САПР Altera Quartus.
2. Создайте новый проект в Quartus. Для этого при старте программы необходимо выбрать «Create a new project» при старте программы или вы- брать пункт меню «File → New Project Wizard».
3. В открывшемся окне необходимо выбрать каталог расположения проекта и его название. Настоятельно рекомендуется указывать директо- рию, отличную от стандартной и связанную с именем пользователя, со- здающего проект. Русские буквы, пробелы и нестандартные символы
использовать не следует!
4. В рамках проекта можно создавать файлы различных типов. На данном этапе необходимо создать схему ячейки памяти. Для этого после создания проекта добавьте в него новый файл схемы (File → New → Block
Diagram / Schematic File).
Постройте ячейку памяти RAM 1x1 с использованием триггера по
варианту работы, заданному преподавателем. Пример ячейки на базе
RS-триггера приведен на рисунке 11. Для схемы ячейки понадобится:
— триггер с динамическим управлением;
— один двухвходовый элемент 2И (элемент AND2);
— два трехвходовых элемента 3И (элемент AND3);
— инвертор (элемент NOT);