Итоги
Готово: «Звёздный урожай» и часы работают на памяти, которую вы собрали сами — 1 024 бита на защёлках, 256 слов по 4 бита, внутри процессора вместо примитива ram.
Что получилось
| Часть | Из чего |
|---|---|
| бит | DLatch первого набора + «кран» AND — 22 транзистора |
| строка WORD4 | 4 ячейки с общими «запиши» W и «выдай» R |
| RAM16x4 | DEC16 выбирает строку, AND(r, WE) — запись, ИЛИ — чтение — 2 544 транзистора |
| RAM256x4 | 16 × RAM16x4: старшие биты адреса выбирают блок — 41 840 транзисторов |
| окно записи | AND3(oST, nCLK2, CPUCLK) — вторая фаза такта |
| двухфазный такт | DFF-делитель CPUCLK / 2 → CLK2 для всех регистров |
Три урока из одной памяти
- Память при включении — «что попало». Защёлки встают как придётся, и программа сама обнуляет то, что читает до записи. Так поступает любой настоящий компьютер при старте.
- Общий провод — не для идеальных ключей. Настоящие чипы сажают ячейки на общий провод и спасаются аналоговыми хитростями. В мире идеальных ключей надёжнее собрать чтение на вентилях
И-ИЛИ. - Окно записи не должно встречаться со сменой адреса. Примитив
ramпишет мгновенно, на фронте. Памяти на защёлках нужно окно, а окну — своё время, отдельное от смены адреса. Отсюда две фазы такта — как φ1 и φ2 у Intel 8080 и MOS 6502.
Что дальше
- ПЗУ из транзисторов. В процессоре остался последний примитив памяти — ПЗУ с программой. Его можно собрать матрицей: транзистор на пересечении строки и столбца — 1, нет транзистора — 0. Программа становится рисунком.
- Больше памяти. 1 024 слова — это четыре
RAM256x4и ещё один уровень выбора блока. Схема та же; растёт только число транзисторов.