Москва 2001 г тайный язык информатики Чарльз Петцольд ббк 32. 973. 26–018



Pdf көрінісі
бет12/26
Дата07.04.2020
өлшемі3,29 Mb.
#61783
1   ...   8   9   10   11   12   13   14   15   ...   26
Байланысты:
Petcold Kod-Taynyy-yazyk-informatiki.535358

Глава 16

Сборка памяти

Каждое утро мы пробуждаемся ото сна, и память заполняет

пробелы в нашем сознании. Человек вспоминает, кто он та-

кой, что делал вчера и чем собирается заняться сегодня. Па-

мять возвращается мгновенно или по каплям. Иногда даже

несколько минут спустя в ней все еще остаются белые пятна

(«Странно, совершенно не помню, что ложился спать в нос-

ках»), но в конце концов мы собираем из этой мозаики целос-

тную картину и готовы вступить в новый день.

Конечно, человеческая память не очень-то упорядочена.

Попробуйте вспомнить что-нибудь из школьного курса гео-

метрии. Скорее всего начнете вы с воспоминаний о пареньке,

сидевшем прямо перед вами, или об учебной пожарной тре-

воге, которая случилась как раз в тот момент, когда учитель

собирался рассказать вам о треугольнике АВС.

И работает наша память небезупречно. Ведь и письмо, ве-

роятно, было изобретено именно для противодействия «про-

валам памяти». Представьте: в три часа ночи вы просыпаетесь

от того, что в голову пришел замечательный сюжет. Вы хвата-

ете ручку и листок бумаги, которые держите у кровати как раз

для таких оказий, и записываете все-все, чтобы до утра не за-

быть. С первыми лучами солнца вы прочитываете свою блес-

тящую задумку («Парень встречает дев. с маш., погоня, все

взрыв.» Я угадал?) и начинаете работать над сценарием блок-

бастера.


230

Глава шестнадцатая

Мы пишем, чтобы позже прочитать. Мы переносим слова и



числа на бумагу, чтобы позже при необходимости иметь воз-

можность мгновенно обратиться к ним. Мы сохраняем инфор-

мацию, чтобы позже использовать ее. Назначение запомина-

ющих устройств как раз и состоит в том, чтобы хранить ин-

формацию между двумя этими событиями. Сохранение ин-

формации требует некоторого носителя. Бумага — замечатель-

ный носитель для текста, а магнитная лента идеально подхо-

дит для записи музыки и кино.

Реле — в составе вентилей и триггеров — также хранят

информацию. Мы уже убедились, что триггер способен хра-

нить 1 бит. Это, конечно, немного, но для начала сойдет. Ведь

научившись сохранять 1 бит, мы легко сохраним и 2, и 3.

В главе 14 мы познакомились с D-триггером со срабатыва-

нием по уровню, состоящим из инвертора, двух вентилей И и

двух вентилей ИЛИ-НЕ:

Q

Данные



Clk

Q

Если сигнал на входе Clk равен 1, выход Q совпадает со входом



Данные. Когда сигнал Clk обращается в 0, выход Q сохраняет

последнее значение на входе Данные. Дальнейшие изменения

сигнала Данные не влияют на выходной сигнал, пока сигнал

Clk снова не станет равным 1. Таблица логики триггера выгля-

дит так:

Входы

Выходы

D

Clk

Q

 

_

Q

0

1



0

1

1



1

1

0



Х

0

Q



_

Q


231

Сборка памяти

В главе 14 мы использовали этот триггер по-разному, но

отныне у него останется только одна забота — хранить 1 бит

информации. Поэтому я намерен дать его входам и выходам

новые имена, более отвечающие их предназначению:

 Ввод данных

Запись

 Вывод данных



Это тот же триггер, только его выход Q назван Выводом

данных (Data Out, DO), а вход Clk (который мы называли «За-

помнить этот бит») получил имя Запись (Write, W). Сигнал на

этом входе означает, что значение сигнала на входе Ввод дан-

ных (Data In, DI) нужно записать, или сохранить. В обычном

состоянии сигнал Запись равен 0, и сигнал Ввод данных на

выходной сигнал не влияет. Если значение сигнала Ввод дан-

ных нужно сохранить, мы подаем на вход Запись 1, а затем

снова 0. Я уже говорил в главе 14, что триггеры такого типа

называются защелками, так как данные в них как бы заперты.

Чтобы не рисовать все компоненты, 1-битовую защелку мож-

но изобразить так:

DI

W

DO



Из нескольких 1-битовых защелок легко собрать многоби-

товую. Достаточно соединить их входы Запись:

DI

W

DO



DI

W

DO



DI

W

DO



DI

W

DO



DI

W

DO



DI

W

DO



DI

W

DO



DI

W

DO



 Входы для данных

 Выходы для данных

Запись


232

Глава шестнадцатая

У этой 8-битовой защелки 8 входов и 8 выходов. Кроме того, у

нее имеется единственный вход Запись, в обычном состоянии

равный 0. Чтобы сохранить 8 битов информации, на вход За-

пись подается 1, а затем снова 0. Для 8-битовой защелки тоже

можно ввести единое обозначение:

W

8-битовая защелка



DI

7

DI



6

DI

5



DI

4

DI



3

DI

2



DI

1

DI



0

DO

7



DO

6

DO



5

DO

4



DO

3

DO



2

DO

1



DO

0

Или такое, не слишком отличающееся от обозначения 1-бито-



вой защелки:

W

DI



DO

8

Ввод данных



Вывод данных

Запись


8-битовая

защелка


8

Другой способ соединения восьми 1-битовых защелок не

столь нагляден. Допустим, у нас всего один вход и один выход

для данных. При этом нам нужно записать 8 однобитовых зна-

чений, а затем и просмотреть их.

Иными словами, мы хотим сохранить не одно 8-битовое

число (как в 8-битовой защелке), а 8 независимых 1-битовых

величин, причем используя только один вход и один выход.

Представьте, что у нас в наличии только одна лампочка.

Понятно, что нам понадобятся восемь 1-битовых защелок.

Пока не будем беспокоиться о том, как именно в них попадут

данные. Сосредоточимся на поиске способа проверять значе-

ние сигнала Вывод данных для каждой защелки, используя

единственную лампочку. Конечно, мы всегда можем перено-

сить лампочку от защелки к защелке вручную, но хочется чего-

то более автоматизированного. Хорошо бы, скажем, номер

защелки для просмотра задавать переключателями.

Сколько их нужно? Чтобы выбрать один из 8 вариантов

нам понадобится три переключателя — ими можно предста-

вить 8 чисел: 000, 001, 010, 011, 100, 101, 110 и 111.



233

Сборка памяти

Итак: 1-битовых защелок — 8, переключателей — 3, лам-

почка — 1 и еще некое устройство, которое должно распола-

гаться между лампочкой и переключателями.

V

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

Некое устройство

Это устройство представляет собой корпус с 8 входами сверху

и 3 входами слева. Замыкая и размыкая три переключателя,

вы задаете, какой из входов должен перенаправляться на вы-

ход, подключенный к лампочке.

Что это за устройство? Что-то похожее мы уже встречали,

хотя и не с таким большим количеством входов. Подобную схе-

му мы применяли в модернизированном сумматоре (глава 14).

С ее помощью мы задавали, откуда должен поступать сигнал

на вход сумматора: с набора переключателей или с защелки.

Тогда мы называли этой устройство селектором 2 линии на 1.

Сейчас нам нужен селектор 8 линий на 1:

Селектор 8 линий на 1

Входы для данных

Выход


S

0

S



1

S

2



Входы

для


выборки

D

7



D

6

D



5

D

4



D

3

D



2

D

1



D

0


234

Глава шестнадцатая

Наверху показаны 8 входов для данных, а слева — 3 входа для

выборки (Select). Используя их, вы задаете вход, сигнал с кото-

рого попадает на выход. Если сигналы Select равны 000, на вы-

ход попадает сигнал со входа D

0

. Сигналы 111 задают вывод дан-



ных со входа D

7

, а число 101 на входах для выборки означает



вывод сигнала D

5

. Вот как выглядит таблица логики селектора.



Входы

Выходы

S

2

S

1

S

0

Q

0

0



0

D

0



0

0

1



D

1

0



1

0

D



2

0

1



1

D

3



1

0

0



D

4

1



0

1

D



5

1

1



0

D

6



1

1

1



D

7

Селектор «8 на 1» состоит из трех инверторов, восьми 4-



входовых вентилей И и одного 8-входового вентиля ИЛИ:

D

7



D

6

D



5

D

4



D

3

D



2

D

1



D

0

S



0

S

1



S

2

Выход



235

Сборка памяти

Я попытаюсь на одном примере убедить вас, что эта паутина

проводов все-таки работает. Предположим, что сигналы S

2

 и



S

0

 равны 1, а сигнал S



1

 — 0. На шестой сверху вентиль И пода-

ются сигналы S

0

, S



1

 и S



2

, все равные 1. Ни на один другой вен-

тиль И эти сигналы не попадают, поэтому выход всех осталь-

ных вентилей И равен 0. Понятно, что выход шестого вентиля

И будет равен 0, если сигнал D

5

 = 0, или 1 при D



5

 = 1. То же

относится и к вентилю ИЛИ. Таким образом, если сигналы для

выборки равны 101, выход совпадает с сигналом D

5

.

Вы еще не забыли, чем мы занимаемся? Мы пытаемся свя-



зать восемь 1-битовых защелок так, чтобы данные в них мож-

но было записывать и считывать индивидуально, используя

единственный вход  DI и единственный выход  DO. Мы уже

убедились, что для вывода содержимого одной из защелок

можно применить селектор 8 линий на 1:

V

DI



W

DO

DI



W

DO

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

Селектор 8 линий на 1

Выход

DI

S



0

S

1



S

2

D



7

D

6



D

5

D



4

D

3



D

2

D



1

D

0



Мы на полпути к успеху. Теперь, зная, какое устройство нуж-

но на выходе, займемся входом.

На входе мы имеем сигналы Данные и Запись. И если вхо-

ды D всех 1-битовых защелок можно соединить между собой,

с сигналами Запись это уже не пройдет, поскольку мы хотим

осуществлять запись в каждую защелку индивидуально. Нам

нужен сигнал Запись, подаваемый на одну (и только одну) за-

щелку:


236

Глава шестнадцатая

V

V



Некое устройство

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

Ввод данных

Запись

Для решения этой задачи нам понадобится схема, которая



напоминает селектор, но в действительности выполняет пря-

мо противоположное действие, а именно дешифратор 3 ли-



нии на 8 (3-to-8 Decoder). С простым дешифратором мы уже

встречались — в главе 11 он помогал нам задать цвет идеаль-

ной кошки.

У дешифратора «3 на 8» восемь выходов. В любой момент

времени все они равны 0, кроме выхода, указанного сигнала-

ми S


0

, S


1

 и S


2

. Его значение совпадает со значением входа Ввод

данных.

O

7



O

6

O



5

O

4



O

3

O



2

O

1



O

0

S



0

S

1



S

2

Ввод данных



237

Сборка памяти

И снова обратим внимание на шестой сверху вентиль И.

Три из его сигналов равны S

0

, S



1

 и S



2

, которые ни на один дру-

гой вентиль не подаются. Это значит, что если на входы для

выборки подается 101, то выход всех вентилей, кроме шесто-

го, будет равен 0. Его же выход равен 1, если сигнал Данные

равен 1, и 0, если сигнал Данные равен 0. Заполним таблицу

логики для этого дешифратора.

Входы

Выходы

S

2

S

1

S

0

O

7

O

6

O

5

O

4

O

3

O

2

O

1

O

0

0

0



0

0

0



0

0

0



0

0

Дан-



ные

0

0



1

0

0



0

0

0



0

Дан- 0


ные

0

1



0

0

0



0

0

0



Дан-

0

0



ные

0

1



1

0

0



0

0

Дан- 0



0

0

ные



1

0

0



0

0

0



Дан- 0

0

0



0

ные


1

0

1



0

0

Дан



0

0

0



0

0

ные-



1

1

0



0

Дан- 0


0

0

0



0

0

ные



1

1

1



Дан- 0

0

0



0

0

0



0

ные


А теперь посмотрим, как полностью выглядит схема с за-

щелками.


238

Глава шестнадцатая

Дешифратор «3 на 8»

Ввод данных

Запись


Селектор «8 на 1»

DI

W



DO

Адрес


Выход

Данные


Вывод данных

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

DI

W



DO

S

0



S

1

S



2

S

0



S

1

S



2

D

7



D

6

D



5

D

4



D

3

D



2

D

1



D

0

О



7

О

6



О

5

О



4

О

3



О

2

О



1

О

0



Заметьте: сигналы выборки для дешифратора и селектора

совпадают. Обратите внимание и на слово, которым я назвал

эти сигналы — адрес (address). 3-битовый адрес действует по-

добно почтовому индексу, указывая, к которой из 8 защелок

происходит обращение. На входе сигнал Адрес определяет, в

какую защелку будет записан сигнал Ввод данных. На выходе

(в нижней части рисунка) адрес используется, чтобы с помо-

щью селектора «8 на 1» считать содержимое одной из восьми

защелок.

Защелки в такой конфигурации иногда называют памятью



с записью/чтением (read/write memory), а чаще — памятью с

произвольным доступом, или произвольной выборкой (random

access memory, RAM). В данном варианте память RAM исполь-

зуется для хранения 8 независимых 1-битовых величин. На

схеме ее можно обозначить так:

DO

A

0



A

1

A



2

Адрес


Вывод данных

Запись


DI

W

Ввод данных



8

 × 


1 RAM 

239

Сборка памяти

Памятью  это устройство названо из-за его способности

сохранять информацию. Возможность записи/чтения означа-

ет, что вы вольны сохранить (записать) нужное значение в

любую из защелок или определить (прочитать), какое значе-

ние в ней уже находится. Термин «произвольный доступ» оз-

начает, что данные могут быть записаны или прочитаны из

любой защелки — достаточно подать соответствующие сиг-

налы на вход Адрес. Этим память с произвольным доступом

отличается от устройств с последовательным доступом: в них

нельзя прочитать данные по адресу 101, не прочитав перед этим

данные по адресу 100.

Разобранную нами конфигурацию RAM часто называют



массивом RAM (RAM array). Наш массив собран по схеме, ко-

торую иногда сокращенно обозначают «8 

´ 1», т. е. восемь 1-

битовых значений. Перемножив два этих числа, вы получите

полное число битов, которое можно сохранить в массиве.

Массивы RAM можно объединять по-разному. Вот, напри-

мер, как создать память для хранения восьми 2-битовых зна-

чений.


8

 × 


1 RAM  DO

Вывод


данных

Адрес


Ввод данных

Запись


DI

W

DO



Вывод

данных


Ввод данных

DI

W



8

 × 


1 RAM 

A

0



A

1

A



2

A

0



A

1

A



2

Как видите, сигналы Адрес и Запись двух массивов соединены

между собой, поэтому в результате получаем массив 8 

´ 2.


240

Глава шестнадцатая

8

 × 



2 RAM 

DO

1



Вывод данных

Адрес


Запись

DI

0



W

DO

0



Ввод данных

DI

1



A

0

A



1

A

2



Массив по-прежнему способен хранить 8 значений, но каждое

из них имеет размер 2 бита.

В другой схеме два массива RAM 8 

´ 1 соединены подобно

отдельным защелкам — с помощью селектора «2 на 1» и де-

шифратора «1 на 2».

DO

A

0



A

1

A



2

Вывод данных

Адрес

DI

W



DO

DI

W



Селектор «2 на 1»

D

0



D

1

Дешифратор «1 на 2»



DO

0

DO



1

Запись


Ввод данных

Выборка


S

S

8



 × 

1 RAM 


8

 × 


1 RAM 

A

0



A

1

A



2

Сигнал Выборка, подаваемый на селектор и дешифратор,

по сути выбирает один из двух массивов RAM 8 

´ 1 и является



241

Сборка памяти

четвертой адресной линией. Иначе говоря, мы собрали мас-

сив RAM 16 

´ 1


Вывод данных

Адрес


Запись

W

DO



Ввод данных

DI

16



 × 

1 RAM 


A

0

A



1

A

2



A

3

В нем можно хранить шестнадцать 1-битовых значений.



Число значений, хранение которых допускается в массиве,

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

бы входов Адрес вовсе не было (как в 1-битовой или 8-бито-

вой защелке), хранить можно было бы всего одно значение. С

одним входом Адрес допускается хранение уже двух значений,

с тремя входами — 8 значений, с четырьмя — 16 и т. д. в соот-

ветствии с формулой:

Число значений в массиве RAM = 2

Количество входов Адрес

Собрав небольшой массив RAM, мы легко представим себе

сборку большого массива, например, такого:

Addr


W

DO

DI



10

8

8



Вывод данных

Адрес


Запись

Ввод данных

1024

 × 


8

RAM 


Это массив предназначен для хранения 8 196 битов, разбитых

на 1 024 восьмибитовых числа. Для выбора из них нужного

используются 10 адресных линий, поскольку 1024 = 2

10

. Кроме



того, в массиве 8 входов и 8 выходов для данных.

Другими словами, в этом массиве, как в почтовом отделе-

нии с 1 024 абонентскими ящиками, хранятся 1 024 байта, или 1

килобайт. Термин «килобайт» часто становится причиной не-

которой путаницы. Приставка «кило», происходящая от гречес-

кого слова, означающего тысячу, часто используется в обыден-



242

Глава шестнадцатая

ной жизни. Например, в килограмме 1 000 граммов, а в кило-

метре 1 000 метров. Но в килобайте 1 024 байта, а вовсе не 1 000.

Проблема в том, что метрическая система мер основана на

десятичной системе счисления, а компьютерные единицы —

на двоичной системе. Степени 10 равны 10, 100, 1 000, 10 000,

100 000 и т.д. Степени 2 равны 2, 4, 8, 16, 32, 64 и т.д. Ни одна

степень 10 не равна степени 2.

Но иногда они подходят близко друг к другу. Да, 1 000 дей-

ствительно мало отличается от 1 024, что выражается матема-

тическим знаком «приблизительно равно»:

2

10



 

» 10


3

.

Ничего волшебного в этом соотношении нет. Оно просто го-



ворит о том, что данная степень 2 приблизительно равна дан-

ной (другой) степени 10. Это замечательное совпадение и по-

зволяет называть 1 024 байта килобайтом. Сокращенно кило-

байт обозначается кб или просто К. Говорят, что объем памя-

ти равен 1 024 байтам, или 1 килобайту, или 1 кб, или 1 К. Но,

конечно, нельзя говорить, что в 1 килобайте 1 000 байтов.

У памяти объемом 1 кб по 8 входов для ввода и вывода дан-

ных и 10 адресных линий. Этих десяти линий необходимо и

достаточно для адресации 2

10

 байтов. Добавив еще один адрес-



ный вход, мы удваиваем объем адресуемой памяти. В приве-

денном ниже примере каждая следующая строчка есть удвое-

ние предыдущей строчки:

1 килобайт = 1 024 байта = 2

10

 байтов 


» 10

3

 байтов



2 килобайта = 2 048 байтов = 2

11

 байтов



4 килобайта = 4 096 байтов = 2

12

 байтов



8 килобайтов = 8 192 байта = 2

13

 байтов



16 килобайтов = 16 384 байта = 2

14

 байтов



32 килобайта = 32 768 байтов = 2

15

 байтов



64 килобайта = 65 536 байтов = 2

16

 байтов



128 килобайтов = 131 072 байта = 2

17

 байтов



256 килобайтов = 262 144 байта = 2

18

 байтов



512 килобайтов = 524 288 байтов = 2

19

 байтов



1024 килобайта = 1 048 576 байтов = 2

20

 байтов 



» 10

6

байтов



Та же логика, что позволила нам называть 1 024 байта ки-

лобайтом, приводит и к следующему обозначению — 1 024



243

Сборка памяти

килобайта будем называть  мегабайтом (приставка «мега» в

обычных единицах означает миллион и происходит от гречес-

кого слова «великий»), или сокращенно Мб или MB. Продол-

жаем удваивать память.

1 мегабайт = 1 048 576 байтов = 2

20

 байтов 


» 10

6

 байтов



2 мегабайта = 2 097 152 байта = 2

21

 байтов



4 мегабайта = 4 194 304 байта = 2

22

 байтов



8 мегабайтов = 8 388 608 байтов = 2

23

 байтов



16 мегабайтов = 16 777 216 байтов = 2

24

 байтов



32 мегабайта = 33 554 432 байта = 2

25

 байтов



64 мегабайта = 67 108 864 байта = 2

26

 байтов



128 мегабайтов = 134 217 728 байтов = 2

27

 байтов



256 мегабайтов = 268 435 456 байтов = 2

28

 байтов



512 мегабайтов = 536 870 912 байта = 2

29

 байтов



1024 мегабайта = 1 073 741 824 байта = 2

30

 байтов



Следующей по очереди идет приставка «гига» (от греческого

«гигантский»), и мы уже уверенно называем 1024 мегабайта



гигабайтом (Гб или GB).

Далее, один терабайт (от греческого «тера» — «чудовищ-

ный») равен 2

40

 байтов (приблизительно 10



12

) = 1 099 511 627

776 байтов. Сокращается он как Тб или TB.

Килобайт примерно равен тысяче байтов, мегабайт — мил-

лиону байтов, гигабайт — миллиарду байтов, терабайт — трил-

лиону байтов.

Теперь мы вступаем туда, где до нас отваживались побы-

вать немногие, и знакомимся с петабайтом (2

50

 = 1 125 899 906



842 624 байтов, т. е. приблизительно 10

15

 или квадриллион) и



экзабайтом (2

60

 = 1 152 921 504 606 846 976 байтов, т. е. при-



близительно 10

18

, или квинтиллион).



В качестве практического примера сообщу, что во время

написания этой книги (1999 г.) домашние компьютеры, как

правило, обладали 32 или 64 (реже 128) Мб памяти с произ-

вольным доступом (не запутайтесь — я говорю именно о па-

мяти RAM, пока не упоминая жесткие диски). Эти объемы со-

ответствуют 33 554 432, 67 108 864 и 134 217 728 байтам.

Конечно, на практике никто такие страшные числа и слова

не использует. Говорит человек просто: «У моего компьютера

64 К памяти», — и все понимают, что это гость из далекого

прошлого. Обладатели памяти объемом 33 554 432 байта на-



244

Глава шестнадцатая

зывают ее «32 мега». Счастливый владелец 1 073 741 824 бай-

тов говорит о них, как об «одном гиге».

Иногда приходится слышать и о килобитах или мегабитах

(именно битах, а не байтах), но в подобных случаях речь по-

чти наверняка идет не о памяти. Как правило, в этих единицах

измеряют объем информации, передаваемой по различным

кабелям, или о скорости передачи. В последнем случае, конеч-

но, говорят о килобитах в секунду или о мегабитах в секунду.

Например, 56К в обозначении модема означает именно 56 ки-

лобит в секунду.

Теперь, когда мы научились собирать память любого объе-

ма, главное не увлечься и не утратить контроль над происхо-

дящим. Поэтому пока ограничимся сборкой массива емкос-

тью 65 536 байтов:

64K 


× 

8

RAM



Addr

W

DO



DI

16

8



8

Вывод данных

Адрес

Запись


Ввод данных

Почему именно 64 К, а не 32 или 128? Потому что 65 536 —



очень красивое и круглое число, равное 2

16

. Для адресации ячеек



памяти понадобится 16-битовый адрес, т. е. адрес, занимаю-

щий ровно 2 байта. В шестнадцатеричной системе адрес мо-

жет принимать значение от 0000h до FFFFh.

Я намекал чуть раньше, что в далеком прошлом (в начале

1980-х) компьютеры часто выпускались с памятью объемом

64 К, хотя делали ее, конечно, не из реле. Да и можно ли со-

брать память такой емкости из реле? Уверен, у вас хватит ума

никогда этим не заниматься. В нашей схеме для хранения од-

ного бита используется 9 реле, стало быть массив RAM 64K 

´ 8


будет содержать их почти 5 миллионов!

Было бы неплохо обзавестись пультом управления памя-

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

ти и проверять их содержимое. На этом пульте будет 16 пере-

ключателей для указания адреса, 8 — для ввода числа, которое

нужно записать, еще один — для подачи сигнала на запись и

8 лампочек для отображения 8-разрядного числа из памяти.


245

Сборка памяти

1

0



1

0

Пульт управления RAM 64K



Запись

Перехват


1

0

1



0

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

D7 D6 D5 D4 D3 D2 D1 D0

На рисунке все переключатели стоят в положении «выключе-

но» (0). Обратите внимание на переключатель Перехват. Его

назначение — разрешить другим устройствам использование

той же памяти, к которой подключен пульт. Когда этот пере-

ключатель выключен (как на рисунке), остальные переключа-

тели на пульте с памятью не связаны. Когда же включен, уп-

равление памятью осуществляется исключительно с помощью

пульта.

Для реализации переключателя Перехват нам потребуется



25 селекторов «2 на 1» — 16 для адресных переключателей, 8

для переключателей, с помощью которых вводится число, и

еще один для переключателя Запись. Вот как выглядит нуж-

ная схема:

V

Addr


8 лампочек

W

DO



DI

16

8



8

Вывод


данных

25 селекторов «2 на 1»

8

16

8



16

25 переключателей

Адрес

Данные


Вход

Запись


16

8

Перехват



S

64K 


× 

8

RAM



246

Глава шестнадцатая

Когда переключатель Перехват разомкнут, как показано на

рисунке, информация на входы массива памяти Адрес, Дан-

ные и Запись поступает извне (эти сигналы схематически изоб-

ражены в верхней левой части рисунка). Если переключатель

замкнут, информация на эти входы подается с переключате-

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

ция, из нее она идет на 8 лампочек и, возможно, куда-нибудь

еще.

Массив памяти RAM 64K 



´ 8 с пультом управления я буду

изображать так:

Пульт управления

Addr


Вывод данных

Запись


W

DO

Ввод данных



DI

Адрес


16

8

8



64K 

× 

8



RAM

Если переключатель Перехват замкнут, с помощью 16 ад-

ресных переключателей вы можете задать любой из 65 536 ад-

ресов. На 8 лампочках будет отображено число, хранящееся в

соответствующей ячейке в данный момент. Чтобы записать в

ячейку другое число, введите его с помощью переключателей

D и замкните переключатель Запись.

Пульт управления, подключенный к массиву RAM 64K 

´ 8,

безусловно поможет вам разобраться во всех 65 536 восьмиби-



товых значениях, записанных в памяти. Но заметьте: пульт не

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

также позволено записывать в нее данные и считывать их.

В заключение —  важнейший  комментарий. Определив в

главе 11 понятие логического вентиля, я перестал рисовать на

схемах отдельные реле, из которых эти вентили состоят. А это,

в частности, значит, что на схемах теперь не указывается под-

ключение каждого реле к тому или иному источнику питания.



247

Сборка памяти

А ведь именно электричество заставляет железный брусок ста-

новиться магнитом и притягивать металлический контакт.

Что же случится, если вы соберете память объемом 64K 

´ 8,

заполните ее до отказа самыми любимыми байтами, а потом



выключите питание? Электромагниты утратят магнитные

свойства, и все металлические контакты вернутся в исходные

положения с громким «блямс»! А содержимое памяти превра-

тится в ничто, и навсегда.

Вот почему память с произвольным доступом называют

иногда энергозависимой (volatile). Для хранения информации

ей требуется непрерывное энергоснабжение.




Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   26




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет