LXF162:CPU своими руками
|
|
|
CPU своими руками
Часть вторая
Еще два компонента электронного сердца вашего CPU: Джонатан Робертс подводит вас на шаг ближе к рабочему процессору.
В LXF158 мы показали вам, как построить собственный компьютер из базовых электронных блоков. По сути, мы изготовили двоичный сумматор. Мы закончили статью, сказав, что созданное нами — это еще далеко не настоящий компьютер, и вам нужны еще несколько компонентов, прежде чем ваша машина сможет претендовать на звание компьютера.
В этой статье мы рассмотрим дальнейшие шаги и представим вам еще несколько компонентов, продемонстрировав, как расширить возможности вашего сумматора до выполнения других действий (AND [И], XOR [ИСКЛ.ИЛИ] и NOT [ИЛИ]) и создать цепи памяти для хранения ввода и вывода.
Перед чтением этой статьи вам стоит прочесть предыдущую часть, чтобы освежить память, поскольку мы исходим из того, что вы с ней ознакомлены. Если у вас нет экземпляра LXF158, вы сможете найти PDF этой статьи на диске этого месяца.
Декодер
Первый компонент, который мы рассмотрим – это декодер, или, точнее, линейный декодер. Он очень прост, но очень удобен в работе и сам по себе, и декодеры также используются в мультиплексорах – что исключительно важно для остальной части нашей статьи.
По сути, все декодеры позволяют сделать выбор из множества выходов, используя только половину входов. Более конкретно – при единственном входе декодер позволит вам выбирать между двумя выходами, два входа обеспечат вам выбор из четырех выходов, и т. д. В случае декодеров мы говорим не о входе и выходе, а об адресной линии и линии передачи данных. Таблица истинности для простого линейного декодера 1-в-2 размещена ниже, а схема соединений приведена на рис. 1.
Как видите, все очень просто. Адресная линия раздвоена, и вход NOT размещен на одном ответвлении этого раздвоения. Таким образом, только одна из этих линий передачи данных может за один раз передать 1.
Мультиплексоры
Мультиплексор подобен декодеру, но способен на большее. Вместо выбора между двумя линиями передачи данных, он использует адресную линию для выбора между двумя входами, и выбранная величина (0 или 1) будет перенаправлена на единственную линию передачи данных.
Его таблица истинности приведена ниже, а его схему соединений вы также можете увидеть на рис. 1. На этой схеме вы видите, что мультиплексор – это просто расширенный декодер.