Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет prool ([info]prool)
@ 2016-06-08 20:26:00


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

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

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

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

https://github.com/prool/cpu16


(Добавить комментарий)


[info]a_n_d_r_u_s_h_a
2016-06-08 22:21 (ссылка)
risc процессоры, хит 1984 года - 16 команд, 32 разряда, каждая делаетсяза 1 цикл, длина конвейера 3 такта.
Я рисовал на бумаге - получалось около 80 микросхем 566 серии (2-х рарядное АЛУ), на тот момент 10 гц = 10 млн команд в секунду.

(Ответить) (Ветвь дискуссии)


[info]a_n_d_r_u_s_h_a
2016-06-08 22:30 (ссылка)
Да, 4 бита - сама команда, то есть в слове машинном 4 команды сразу, можно параллелить на 4 проца при развитии.
Команды nop left right plus minus xor and or mem readmem buf_a buf_b buf_c swap_ab swap_ac
обратная польская система записи (операнд а, в, команда)
Проект был закрыт в 1989... Хотя я просил всего 200 тыс рублей.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]prool
2016-06-08 23:04 (ссылка)
Мои приблизительные знания основ схемотехники остановились примерно на процессоре 8080

(Ответить) (Уровень выше)


(Анонимно)
2016-06-08 23:10 (ссылка)
10 гц = 10 млн команд в секунду.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]prool
2016-06-08 23:26 (ссылка)
Это до деноминации

(Ответить) (Уровень выше)


(Анонимно)
2016-06-08 23:48 (ссылка)
Смею предположить, что дело в каких-то секретных технологиях параллельных вычислений, а не в опечатке.
А Андрюша-то не лыком щит оказался, полюбасу ARM загубил его проект с помощью агентуры в КГБ.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]a_n_d_r_u_s_h_a
2016-06-09 01:13 (ссылка)
10 мгц конечно (566 серия максимум 16 давала)
Загубила проект агентура в КГБ.
Я просил 200 тыс, а институт в министерство выставил 20 миллионов, вот министерство и зарубило. А потом руст, отмен 50-рублевых купюр и прочая байда началась...
А то был бы наш собственный риск-процессор, не кетай!

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2016-06-09 01:23 (ссылка)
Какой нах Китай? ARM - это англичанка.
Ты просто хуйню нарисовал на коленке, в 85 уже всё без тебя было. Совки могли сделать, если бы захотели.

(Ответить) (Уровень выше)


(Анонимно)
2016-06-08 23:39 (ссылка)
www.youtube.com/watch?v=yxAmphwLPDY

"This is an 8 bit CPU that I built in minecraft using redstone. It takes in binary machine code and outputs to a line of redstone torches."

www.youtube.com/watch?v=yuMlhKI-pzE

"a CPU i made inside Minecraft.

32-Bytes of program memory (can hold 16x 2-Byte instructions)"

(Ответить)


[info]ketmar
2016-06-08 23:49 (ссылка)
да ладно, вам вон для однокомандых процессоров даже компилятор написали уже.

(Ответить)


[info]olivka
2016-06-08 23:52 (ссылка)
В метро пока едешь — всегда скучно.
Самая привлекательная часть метро — это станции, конечно же. Поэтому я сажусь так, чтобы лучше их рассмотреть (все, которые проезжаю).

(Ответить) (Ветвь дискуссии)


(Анонимно)
2016-06-09 00:31 (ссылка)
Пошел нахуй, трап.

(Ответить) (Уровень выше)


(Анонимно)
2016-06-09 00:16 (ссылка)
как же заебись что вы все хуй сосёте))

(Ответить) (Ветвь дискуссии)


(Анонимно)
2016-06-09 00:41 (ссылка)
))

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2016-06-09 00:47 (ссылка)
лосось, это уже днище прямо.

(Ответить) (Уровень выше)


[info]remedie
2016-06-09 15:18 (ссылка)
При всей моей любви к железкам, ОС написать гораздо сложнее. Один TCP/IP стек чего стоит.

(Ответить) (Ветвь дискуссии)


[info]prool
2016-06-09 15:27 (ссылка)
Я знаю. Я остановился примерно на уровне однозадачной MSDOS с поддержкой файловых систем FAT, потом начал переписывать заново и сделал нечто типа форт-системы и пока забросил. В MSDOS-подобном варианте можно было загружать некоторые досовские драйверы, в частности русификатор и пакетный драйвер TCP/IP, но дальше факта загрузки тогда я не продвинулся

А эмулировать проц мне по нраву

(Ответить) (Уровень выше)


(Анонимно)
2016-06-09 16:34 (ссылка)
Нахуй

(Ответить)


[info]olegmi
2017-11-12 17:06 (ссылка)
Про две комады, - это клевета! Команда должна быть одна: MOVE
Я уже прикидывал архитектуру... Однокомандность позволяет круто разогнать проц на той же технологической базе. Но вот все предказания, "сброс очереди" и прочая фигня должны решаться не процом на лету, а компилятором при создании кода. Вместо сброса очереди, - выносит в хвост то что все равно выполнится ДО реального перехода. Вся арифметика на псевдорегистрах. при толковой оптимизации умножалка становится очередью и в нее можно совать множители каждые пару тактов. При желании, можно ее аппаратно раздупить в чудовищную разрядность. Проц не будет ее ждать, т.к. он дату на вход загоняет с той же скоростью, что умножалка ее сжирает. А задержку ответа должен отрабатывать компилятор. Если считать нечего - нопы ставит...

(Ответить)