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

Итак, наша задача наполовину решена. Теперь, когда мы определились с устройством на выходе, давайте займемся входом.

На входе мы имеем сигналы «Данные» и «Запись». Входы «Данные» защелок можно соединить между собой. Однако мы не можем сделать то же самое с сигналами «Запись», поскольку хотим записывать данные отдельно, следовательно, должны подавать один сигнал «Запись» на одну (и только одну!) защелку.

Теперь нужна другая схема, которая немного похожа на селектор «8 на 1», но выполняет прямо противоположное действие. Эта схема называется дешифратор «3 на 8». В главе 11 мы уже видели простой дешифратор данных, когда соединяли переключатели для выбора цвета нашей идеальной кошки.

Дешифратор «3 на 8» имеет восемь выходов. В любой момент все эти выходы равны 0, кроме одного, который выбран входными сигналами Sel0, Sel1 и Sel2. Значение этого выхода совпадает со значением входа «Ввод данных».

Обратите внимание: входными сигналами шестого вентиля И сверху являются Sel0, Sel1, Sel2. Они не подаются ни на один другой вентиль И, поэтому если на входы для выборки подается значение 101, то выходы всех остальных вентилей И будут равны 0. Вход шестого вентиля И может иметь значение 0, если вход «Ввод данных» равен 0, или 1, если вход «Ввод данных» равен 1. Полная таблица логики имеет следующий вид.

Полная схема с восемью защелками выглядит таким образом.

Важно: три сигнала выборки для дешифратора и селектора являются одинаковыми (они обозначены словом «адрес» — address, Addr). Подобно почтовому индексу, этот 3-битный адрес определяет, к какой из восьми однобитных защелок мы обращаемся. На входе сигнал «Адрес» определяет, какая защелка сохранит сигнал «Данные» под воздействием сигнала «Запись». На выходе (в нижней части схемы) вход «Адрес» управляет селектором «8 на 1» для того, чтобы считать выходной сигнал одной из восьми защелок.

Эта конфигурация защелок иногда называется памятью с записью/чтением, но чаще — памятью с произвольным доступом, или произвольной выборкой (random access memory, RAM). Эта конкретная конфигурация RAM хранит восемь отдельных однобитных значений. Ее можно изобразить следующим образом.

Устройство называется памятью, потому что оно сохраняет информацию. Возможность чтения/записи говорит о том, что вы можете сохранить новое значение в любой защелке (записать значение), а также узнать, что хранится в каждой из защелок (прочитать значение). Термин «произвольный доступ» означает, что запись и считывание информации из защелок могут осуществляться путем изменения входных сигналов «Адрес». Кроме памяти с произвольным доступом, существует память с последовательным доступом, при использовании которой для считывания значения, хранящегося по адресу 101, требуется сначала прочитать значение, хранящееся по адресу 100.

Описанная выше конфигурация RAM часто называется массивом RAM. Этот конкретный массив RAM организован по схеме, иногда сокращенно обозначаемой «8 × 1» — восемь однобитных значений. Чтобы определить общее количество битов, которые можно сохранить в массиве RAM, нужно перемножить эти два числа.

Массивы RAM можно комбинировать. Например, объединить два массива RAM «8 × 1».

В данном случае входы «Адрес» и «Запись» двух массивов RAM «8 × 1» соединены, поэтому в результате получается массив RAM «8 × 2».

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

Кроме того, два массива RAM «8 × 1» можно объединить как отдельные защелки, используя селектор «2 на 1» и дешифратор «1 на 2».

Сигнал «Выборка», который подается как на дешифратор, так и на селектор, по сути, выбирает один из двух массивов RAM «8 × 1». На самом деле он является четвертой адресной линией. Таким образом, мы имеем дело с массивом RAM «16 × 1».

Этот массив RAM хранит 16 значений, размер каждого из которых составляет один бит. Количество значений, хранящихся в массиве RAM, напрямую зависит от количества входов «Адрес». В отсутствие таких входов (как в случае с однобитной и 8-битной защелками) может быть сохранено только одно значение. При наличии одного входа «Адрес» можно сохранить два значения. Два входа «Адрес» позволяют хранить четыре значения, три входа «Адрес» — восемь, четыре входа — шестнадцать. Такое отношение можно выразить с помощью уравнения:

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

Я показал, как можно сконструировать небольшие массивы RAM, поэтому вам нетрудно будет представить гораздо более крупные. Например, такой.

Этот массив RAM хранит в общей сложности 8196 бит информации, которые организованы в виде 1024 значений по восемь бит каждое. Этот массив имеет десять входов «Адрес», так как 210 равно 1024, восемь входов и восемь выходов для данных.

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

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

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

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

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

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

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

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

Зарубежная компьютерная, околокомпьютерная литература
Исторические информационные системы: теория и практика
Исторические информационные системы: теория и практика

Исторические, или историко-ориентированные, информационные системы – значимый элемент информационной среды гуманитарных наук. Его выделение связано с развитием исторической информатики и историко-ориентированного подхода, формированием информационной среды, практикой создания исторических ресурсов.Книга содержит результаты исследования теоретических и прикладных проблем создания и внедрения историко-ориентированных информационных систем. Это первое комплексное исследование по данной тематике. Одни проблемы в книге рассматриваются впервые, другие – хотя и находили ранее отражение в литературе, но не изучались специально.Издание адресовано историкам, специалистам в области цифровой истории и цифровых гуманитарных наук, а также разработчикам цифровых ресурсов, содержащих исторический контент или ориентированных на использование в исторических исследованиях и образовании.В формате PDF A4 сохранен издательский макет.

Динара Амировна Гагарина , Надежда Георгиевна Поврозник , Сергей Иванович Корниенко

Зарубежная компьютерная, околокомпьютерная литература / Учебная и научная литература / Образование и наука