Читаем Код. Тайный язык информатики полностью

В таких 8-разрядных микропроцессорах, как 8080 и 6800, используются 16-разрядные адреса, с помощью которых можно адресовать 64 килобайта памяти. Когда вы подключаете плату памяти емкостью четыре килобайта, содержащую четыре банка микросхем, 16 адресных сигналов платы памяти выполняют следующие функции.

Десять адресных сигналов, с A0 по A9, напрямую подключены к микросхемам RAM. Адресные сигналы A10 и A11 позволяют выбрать, к какому из четырех банков осуществляется обращение. Адресные сигналы с A12 по A15 определяют, какие адреса относятся к конкретной плате, то есть на какие адреса эта плата реагирует. Наша плата памяти емкостью четыре килобайта может занимать один из шестнадцати 4-килобайтных диапазонов во всем адресном пространстве процессора емкостью 64 килобайта:

от 0000h до 0FFFh;

от 1000h до 1FFFh;

от 2000h до 2FFFh;

от F000h до FFFFh.

Предположим, мы решили, что к этой плате памяти емкостью четыре килобайта будут относиться адреса в диапазоне от A000h до AFFFh. Значит, адреса с A000h по A3FFh будут заняты первым банком однокилобайтных микросхем, с A400h по A7FFh — вторым, с A800h по ABFFh — третьим, с AC00h по AFFFh — четвертым.

Обычно 4-килобайтная плата памяти предусматривает возможность изменения диапазона адресов, на которые она реагирует. Для этого используется так называемый DIP-переключатель (Dual Inline Package), представляющий собой набор крошечных переключателей (от двух до двенадцати) в корпусе с двухрядным расположением выводов, который вставляется в обычное гнездо для интегральной микросхемы.

Можно подключить его к четырем старшим адресным разрядам шины, используя схему компаратор.

Как вы помните, выход вентиля Искл-ИЛИ равен 1 только тогда, когда на его входы подаются разные значения. Выход вентиля Искл-ИЛИ — 0, если оба входных значения одинаковы.

Например, замыкание переключателей, соответствующих линиям A13 и A15, приведет к тому, что плата памяти будет реагировать на адреса с A000h по AFFFh. Когда значения адресных сигналов шины A12, A13, A14 и A15 равны значениям, установленным с помощью переключателей, выходы всех четырех вентилей Искл-ИЛИ равны 0, значит, выход вентиля ИЛИ-НЕ равен 1.

Затем вы можете объединить этот сигнал «Равно» с дешифратором «2 на 4», чтобы генерировать сигналыдля каждого из четырех банков памяти.

Если сигнал A10 равен 0, а A11 — 1, значит, выбран третий банк.

Если вы еще помните сложный процесс сборки массивов RAM из главы 16, можете предположить, что нам нужно использовать восемь селекторов «4 на 1» для выбора правильных выходных сигналов от четырех банков памяти. Однако в данном случае они не потребуются, и вот почему.

Как правило, выходные сигналы интегральных схем, совместимых с ТТЛ-чипами, принимают значения либо более 2,2 вольта (логическая единица), либо менее 0,4 вольта (логический ноль). Что произойдет, если вы попытаетесь соединить эти выходные сигналы? Например, к чему приведет соединение выходного сигнала, равного 1, одной схемы и выходного сигнала, равного 0, другой? Определенно ответить на этот вопрос нельзя, поэтому выходы интегральных схем обычно не соединяются друг с другом.

Выходной сигнал микросхемы 2102 известен как сигнал с тремя состояниями. Помимо логических 0 и 1, для этого выходного сигнала предусмотрено третье состояние, соответствующее отсутствию какого-либо сигнала, будто этот вывод микросхемы вообще ни к чему не подключен. Выходной сигнал микросхемы 2102 переходит в это третье состояние, когда вход CS равен 1. Это означает, что мы можем соединить соответствующие выходные сигналы всех четырех банков и использовать эти восемь комбинированных выходов в качестве восьми линий шины для ввода данных.

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

Микросхема 2102 — это статическая память с произвольным доступом, или SRAM (Static Random Access Memory), которая отличается от динамической памяти с произвольным доступом, или DRAM (Dynamic Random Access Memory). Памяти SRAM обычно требуется четыре транзистора для хранения одного бита (это не так много, как в триггерах из главы 16). Памяти DRAM для этого нужен только один транзистор. Однако недостаток памяти DRAM — необходимость использования более сложных вспомогательных схем.

Содержимое памяти SRAM, например микросхемы 2102, сохраняется только при наличии питания. Если питание отключается, содержимое исчезает. Это касается и памяти DRAM, однако микросхема DRAM также требует периодического считывания данных, даже если в них нет необходимости. Такой цикл обновления должен повторяться несколько сотен раз в секунду. Это все равно что периодически тормошить человека, чтобы он не заснул.

Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Киберкрепость: всестороннее руководство по компьютерной безопасности
Киберкрепость: всестороннее руководство по компьютерной безопасности

Как обеспечить надежную защиту в эпоху, когда кибератаки становятся все более продвинутыми? Каковы последствия уязвимости цифровых систем? Петр Левашов, экс-хакер с богатым бэкграундом, рассматривает все грани кибербезопасности, начиная с базовых принципов и заканчивая новейшими технологиями.Читатели познакомятся с:• основами компьютерной безопасности и актуальными методами защиты;• современными методами шифрования данных и криптографии;• процедурами ответа на инциденты и восстановления после катастроф;• юридическими и регуляторными требованиями к компьютерной безопасности.Автор использует свой уникальный опыт, чтобы предоставить читателям углубленное понимание кибербезопасности. Его подход охватывает теоретические знания и практическую подготовку, делая этот материал доступным для профессионалов и новичков.

Пётр Юрьевич Левашов

Зарубежная компьютерная, околокомпьютерная литература