Skip to content

Alexey1994/simple-processor-circuit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Этот процессор может быть выполнен на транзисторах в домашних условиях. Схема строится только на логических элементах NOT, OR, AND, XOR, NOR. Битность можно задать любую добавляя провода и логические элементы в соответствии со схемой. Здесь представлена схема минималистичного 4-х битного варианта на 155 логических элементов.

Для просмотра схемы используйте Logic Circuit: https://www.logiccircuit.org/

English. This processor can be hand-made. The only logic gates the circuit uses are NOT, OR, AND, XOR, NOR. You can adjust the word size by adding more wires and logic gates in line with the circuit. The circuit provided here is a minimalistic 4-bit one with 155 logic components.

Use Logic Circuit to view the circuit: https://www.logiccircuit.org/

Эмуляция

В src находится эмулятор процессора, написанный на языке C, компилируется командой gcc "эмуляция.c". Эмулятор имеет некоторый набор операций, который при необходимости нужно добавить в память схемы, так как представленная схема имеет только одну операцию - инкремент счётчика комманд. С помощью эмулятора можно задать битность процессора, написать для него программу и посмотреть на результат выполнения.

Запуск схемы

Для запуска схемы в LogicCircuit нужно

  • загрузить программу в ПЗУ, расположенном на схеме "Память"
  • включить питание схемы ctrl + W
  • выключить кнопку сброса на схеме.

Цикл выполнения программы

Программа состоит из последовательности LOAD/STORE операций между регистром-аккумулятором и ячейками RAM памяти. Выполнение одной операции занимает 2 такта генератора тактовой частоты.

Формат команды

  • 0-й бит: команда, если 0, то команда записи из регистра-аккумулятора в адрес, заданный в битах 2...N, если 1 то чтение из адреса в регистр-аккумулятор
  • 1-й бит: условное выполнения, если значение 1 то текущая команда выполняется в любом случае, если 0 то выполнится только если в регистре-аккумуляторе не все нули
  • 2-N биты: адрес в little-endian

Адресация

Из-за особенностей представления кода 2 первых бита не используются в кодировании адреса, потому память для 4-х битного процессора адресуется 2-мя битами, т.е. всего 4 ячейки доступны, из них ячейка 00 отведена под 2-х битный program counter, 01 - RAM, 02, 03 - ПЗУ. Для адресации некоторого количества памяти нужно на 2 бита больше, например для адресации 64 КБ RAM памяти нужна разрядность процессора в 18 бит.

screenshot

About

simple processor circuit suitable for repeating in transistors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages