Код. Тайный язык информатики - читать онлайн книгу. Автор: Чарльз Петцольд cтр.№ 85

читать книги онлайн бесплатно
 
 

Онлайн книга - Код. Тайный язык информатики | Автор книги - Чарльз Петцольд

Cтраница 85
читать онлайн книги бесплатно

Как вы помните из главы 16, массив RAM предусматривает адресные входы, входы для ввода и вывода данных, а также сигнал, используемый для записи данных в память. От количества адресных входов зависит количество отдельных значений, которые можно сохранить в массиве RAM:

Количество значений в массиве RAM = 2 количество адресных входов.

Количество входов для ввода и вывода данных определяет разрядность сохраняемых значений.

В середине 1970-х годов в домашних компьютерах часто применялась микросхема памяти 2102.

Код. Тайный язык информатики

Микросхема 2102 была создана по технологии МОП (металл — оксид — полупроводник), или MOS (metal-oxide-semiconductor), как и сами микропроцессоры 8080 и 6800. Микросхемы МОП можно легко подключить к микросхемам ТТЛ; от последних они отличаются более высокой плотностью транзисторов. К тому же они работают не так быстро.

Если подсчитать количество адресных входов (A0–A9) и обратить внимание, что здесь только один вход для ввода (DI) и один вход для вывода (DO) данных, вы поймете, что емкость этой микросхемы ограничена 1024 бит. В зависимости от типа используемой микросхемы 2102 время доступа, то есть время, прошедшее между подачей адреса на адресные входы и выводом соответствующих данных на выход DO, составляет от 350 до 1000 наносекунд. При считывании информации из памяти сигнал R/ Код. Тайный язык информатики (чтение/запись) обычно равен 1. Когда вам требуется записать данные в микросхему, этот сигнал должен быть равен 0 на протяжении от 170 до 550 наносекунд, опять же в зависимости от типа используемой микросхемы 2102.

Особый интерес представляет сигнал Код. Тайный язык информатики (Chip Select — выбор микросхемы). Когда этот сигнал равен 1, микросхема не выбрана, значит, она не реагирует на сигнал R/. Сигналоказывает на микросхему и другое важное влияние, о котором расскажу чуть позже.

Разумеется, если вы собираете массив памяти для 8-разрядного микропроцессора, необходимо организовать эту память так, чтобы в ней хранились 8-битные, а не однобитные значения. Для сохранения целых байтов придется объединить по крайней мере восемь таких микросхем, подключив их адресные входы, сигналы R/и друг к другу. Результат можно изобразить следующим образом.

Код. Тайный язык информатики

Это массив RAM 1024 × 8 емкостью один килобайт.

С практической точки зрения эти микросхемы памяти нужно монтировать на печатную плату. Сколько их может поместиться на одной плате? Если размещать их максимально близко, то на одну плату S-100 можно установить 64 такие микросхемы, которые обеспечат восемь килобайт памяти.

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

В таких 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, другой? Определенно ответить на этот вопрос нельзя, поэтому выходы интегральных схем обычно не соединяются друг с другом.

Вернуться к просмотру книги Перейти к Оглавлению Перейти к Примечанию