Пруль (prool) wrote,
Пруль
prool

CPU-16

Я окончательно поехал крышей и подумал, что писать свою операционную систему это мелко. И начал разрабатывать свой процессор. Так как я программист, то пока просто пишу эмулятор. Пока не буду пытаться сделать что-то сложное с виртуальной памятью и прочими плюшками. Для тренировки пальцев сделаю нечто 16-разрядное, с минимальным набором команд. Впоследствии это вполне реально будет сделать в железе, например на базе FPGA. А потом и выпустить партию в кремнии. Интел уже трепещет, наверное. Я стану миллионером!

А всё почему: пока еду на работу и с работы в метро, мне скучно и я думаю. И всякую херь придумываю. В трамвае проще, там можно по сторонам в окно смотреть и отвлекаться на окружающий мiръ

Теоретики знают, что функционально полный набор команд состоит из 2 команд, который можно объединить в одну. Но это уже брейнфак какой-то. Команд должно быть несколько, чтобы было веселее и чтобы можно было сравнительно легко программировать в кодах

Уже реализовано с десяток команд и написана программа очистки экрана пробелом

https://github.com/prool/cpu16
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments
Verilog or VHDL ?:)
C!
видел, вот и не понял!
ps посмотрел кот - не понял дважды:)
Котэ смотрит на мой код как на гавно
фейл
Уж или 8 бит, или 32.

Ну и либо делать честную регистровую машину, либо стековую (с "железным" фортом).

Не вижу фейла. Я же на писал "размять пальцы". Научусь на простом процессоре, и если не надоест дальше с этим ковыряться, сделаю, например 32 разрядный. Это почти просто - удалить везде модификаторы short и еще кое-где правки сделать. Только память придется делать в виде массива char ram [1024*1024*1024*4]

И процессор будет честный регистровый, но с регистром SP для стека вызовов CALL/RETURN, а также для передачи параметров и прерываний. Я у 8086 учусь
Сделай 256-разрядный процессор!
Вы травите? Зочем ви травите Пруля-архитектора?
Отнюдь!
Я хочу, чтобы мой друг Пруль вошёл в историю, я тогда мог бы гордиться!
Я уже вошел в историю!

Закончу 16-битный процессор, сделаю 32-битный. Потом 64-битный. Потом 128-битный. А уж потом 256-битный

В конце концов в начале исходника будет стоять

#define RAZRADNOST 16

и там можно будет вписывать любое число
ГЕНИАЛЬНО