J.Clark Scott CPU
Moderator: Shaos
-
- Fanat
- Posts: 87
- Joined: 18 Feb 2019 15:46
J.Clark Scott CPU
Не знаю - в какую ветку написать. Вроде эта соответствует.
Попалась схема процессора:
может кто-нибудь знает что это и где найти инфо ?
Попалась схема процессора:
может кто-нибудь знает что это и где найти инфо ?
You do not have the required permissions to view the files attached to this post.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Ну это не совсем "схема процессора"... это что-то типа блок-схемы с элементами схемы...ra3qdp wrote:Попалась схема процессора:
может кто-нибудь знает что это и где найти инфо ?
Либо это какой-то учебный материал, типа иллюстрации работы процессора, либо это -
скриншот опять же какой-то учебной программы-симулятора простого процессора.
iLavr
-
- Fanat
- Posts: 87
- Joined: 18 Feb 2019 15:46
Re: Подборка процессоров на россыпухе
почему Вы решили, что это не полная схема ?
Я не вижу возможности в этой схеме выставить 16-ти разрядный адрес (за 2 раза, а 256 адресов как-то маловато),
а Вы видите ?
Я не вижу возможности в этой схеме выставить 16-ти разрядный адрес (за 2 раза, а 256 адресов как-то маловато),
а Вы видите ?
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Потому что я знаю, как выглядит полная схема.ra3qdp wrote:почему Вы решили, что это не полная схема ?
А здесь такой возможности, судя по всему, и нет.ra3qdp wrote:Я не вижу возможности в этой схеме выставить 16-ти разрядный адрес (за 2 раза, а 256 адресов как-то маловато),
а Вы видите ?
Это что-то такое демонстрационно-учебное, насколько я вижу...
iLavr
-
- Fanat
- Posts: 87
- Joined: 18 Feb 2019 15:46
Re: Подборка процессоров на россыпухе
жаль, что про приведенной схеме никто так и не опознал - что это.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Почему же, опознали: это не схема, и сделать это по этой картинке возможности нет.ra3qdp wrote:жаль, что про приведенной схеме никто так и не опознал - что это.
Потому как отдельные части этого рисунка - просто коробки с названиями, а не элементы.
Чтобы было понятно, в чем дело, это рисунок вот такого типа.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Но сама блок-схема весьма неглупая, человек, сведущий в схемотехнике, по ней нарисовать схемуLavr wrote:Почему же, опознали: это не схема, и сделать это по этой картинке возможности нет.ra3qdp wrote:жаль, что про приведенной схеме никто так и не опознал - что это.
Потому как отдельные части этого рисунка - просто коробки с названиями, а не элементы.
принципиальную электрическую задуманного автором учебного DIY-компьютера сможет.
Я с самого начала прогнал это изображение через поисковики, но - безуспешно...

Но что-то у нас похолодало... я надумал в воскресенье лениться, валяться на тёплом диване, и чтобы
совсем уж не бездельничать, я почистил слегка эту блок-схему, чтобы надписи не мешали...

у автора есть анимированная модель, где подсвечивается прохождение сигналов.
Я решил прогуглить по характерным названиям на блок-схеме: ALU, CONTROL UNIT, IAR.
Этого неожиданно оказалось Гуглу достаточно и источник картинки я нашел!

Это оказалась книга: But How Do It Know? - The Basic Principles of Computers for Everyone. by Scott, J Clark Судя по всему, есть и сайт, где изложенный в книге материал популяризируют:
http://www.buthowdoitknow.com/cpu_build.html
По крайней мере из видео с этого сайта я вновь вытащил искомую схему в черно-белом виде:

Есть у меня предположение, что на следующей странице эта книга или часть её есть в формате .pdf
https://pdfroom.com/books/but-how-do-it ... k2AqOee2PJ
Но у меня какие-то траблы с открытием этого ресурса...

Возможно, Shaos нам сможет помочь эту, судя по всему, интересную книжечку скачать и полистать?

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Подборка процессоров на россыпухе
У меня в Firefox качнулось в 2 щелчка мыши 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Пока не было книжки, я прикидывал, как бы я заполнил некоторые "коробочки" этой блок схемы...Lavr wrote:Потому что я знаю, как выглядит полная схема.ra3qdp wrote:почему Вы решили, что это не полная схема ?

В частности, вот эта коробочка, названная автором "stepper" ("шаговик"

Но автор этой конструкции решил иначе: "stepper" у него выполнен на сдвиговом регистре, собранном
буквально на NAND-ах!

Я смоделировал "stepper" в Proteus, но не стал делать D-триггеров из NAND, а поставил обычные 7474. На удивление - весьма неплохо работает!

Правда RESET по схеме автора сбоит, но я подхалтурил общий сброс через входы /RES D-триггеров 7474.
Откровенно говоря, повторять эту конструкцию на рассыпухе я бы не советовал.

С таким количеством регистров с Z-состоянием выхода можно состряпать более интересный DIY CPU!
Чем-то это напоминает затею Ч.Петцольда "Код" - интересно, доделал его кто-либо?

Но можно невозбранно поиграться моделью в LogiSim: http://www.buthowdoitknow.com/cpu_simulator.html
И онлайн симуляция на JS есть: http://www.buthowdoitknow.com/cpu_model_intro.html
На FPGA умельцы также проект воплотили: http://github.com/patrickleboutillier/jcscpu-hw
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Это потому что я решил не ждать, когда (и если) ты поможешь,Shaos wrote:У меня в Firefox качнулось в 2 щелчка мыши
а просто упорно поискал её сам и вставил сюда прямую ссылку, откуда скачать...

Но возбудило меня на активные действия вот что: автора книги позиционируют в различных анонсах
как разработчика процессоров с многолетним стажем, вот и стало мне интересно - что он такого необычного
о схемотехнике DIY-процессоров может поведать!

Разработчик ведь должен "уметь много гитик!"

Но пока он меня удивляет в совершенно обратную сторону...

В АЛУ он вытащил весьма корректно два флага - Z и C причем само АЛУ совершенно без затей
сделал самым тривиальным способом:"каждой твари по 8 штук"

Я, когда делал в древние года АЛУ на NAND, хотя бы пытался ужаться и сэкономить корпуса,
учитывая хотя бы факт, что в сумматоре уже есть XOR и NAND...
Но это ладно... а вот дальше начинается самое удивительное!

Известно, и я надеюсь, что не только мне, что флагов Z и C достаточно, чтобы определить
любое отношение между двумя аргументами А и В на входе АЛУ.
Но автор книги совершенно непонятно с какой целью вводит в и так "жырное" АЛУ еще два флага:
А = В (Equal) и А > В (A larger)!

Причем делает это вокруг функции XOR и подсыпает в схему 8-разрядного АЛУ немало вентилей!

Ну еще о полезности флага А > В (A larger) можно спорить, возможно, он отчасти полезен...
Но вот флаг А = В (Equal) - это просто непонятно...

У автора есть нормальная, неразрушающая команда CMP A,B - тут уж если А = В, то мгновенно
флаг Z сработает!

Ну и если присмотреться к авторской конструкции этого узла под названием "компаратор", он и в него,
на мой взгляд, сыпанул вентилей излишне щедро...

В архиве - авторский вариант "компаратора" и вариант попроще:
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Но некоторые рациональные зёрна у автора почерпнуть всё же можно...Lavr wrote:...это не схема, и сделать это по этой картинке возможности нет.
Потому как отдельные части этого рисунка - просто коробки с названиями, а не элементы.
Мне лично очень понравилось решение, которое автор ввёл сразу, поскольку об этот момент я сам очень
спотыкался, когда конструировал свой собственный 4-bit Processor...

А сделал он вот что: наряду с тактовым сигналом clk он сформировал задержанный clk_d: Ниже диаграммы "типо схема", как он это сделал...

Почему я и говорю, что повторить DIY-CPU автора возможно лишь хорошо зная схемотехнику, хотя на
уровне понимания автор постарался изложить всё очень наглядно!

Но как сделать clk и задержать его, я думаю, кто умеет - смогут, а вот дальше - тот самый полезный
авторский трюк, который мне и понравился.
С помощью простой схемы: автор сформировал из clk и clk_d ещё два сигнала: clk_e и clk_s: Их смысл - clk_enable и clk_strobe, то есть сигналы разрешения выдачи на шину и строб записи данных с шины.
Поскольку автор не экономил, не ужимался и не строил "нищебродский" CPU, все регистры практически
у него с тристабильным выходом, и все они взаимодействуют сугубо через шину.
Поэтому, строя дешифратор команд, а автор его сделал аппаратным - что тоже интересно, хотя и весьма
увеличивает объём элементов супротив ПЗУ микрокоманд, так вот автор раздаёт дешифратором эти стробы
clk_e и clk_s регистрам источнику и приёмнику на шине.
Получается, что транзакция по шине у него происходит за один такт, что очень эффективно!
И главная прелесть в том, что взаимное расположение сигналов clk_e и clk_s позволяет
совершенно не мучиться с выбором регистров: они могут быть как с записью по фронту, по срезу, так и
по уровню. Если регистр без тристабильного выхода, можно поставить связку регистр+шинный буфер.
Опять же, кто знает схемотехнику...

засада в этой книге, для всех, кто решит, что всё понял, но со схемотехникой не знаком.

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
И засада эта вот какая.Lavr wrote: ...именно с регистрами у автора - самая большая засада в этой книге, ...
Поскольку автор популяризатор, он доходчиво показывает, как сделан параллельный регистр: где М - это D-триггер со статическим управлением, я показал его в постах выше.
На мой взгляд, автор не заморочил бы никому голову, если бы назвал вещи своими именами:
D-триггер или прозрачный "флип-флоп", как принято в западной литературе.
Но автор упрямо придерживается своей терминологии: М - это Мemory - элемент памяти,
объёмом в 1 бит. Ну ладно...

То, что на картинке выше из 8 элементов М - собственно, и есть параллельный регистр, но автор
решил назвать его B - Byte, понятно, байт.

Далее автор рассказывает, что нужно уметь выключать "байты" по выходу, и вводит 8 штук элементов AND: Эту сборку он называет E - Enable, "разрешатель" по выходу, если хотите...

В итоге автор соединяет вместе B и E, получив, по его мнению, R - Register.


Но дальше автор вот эти самые регистры вешает на общую шину и начинает конструировать свой CPU!

Ни слова о тристабильном состоянии выходов или о шинных буферах у автора просто НИГДЕ НЕТ!
Ну или хотя бы об элементах AND с открытым коллектором и линиями шины, притянутыми резисторами
к потенциалу +5 В.
Складывается такое ощущение, что автор стремился рассказать доходчиво широкому кругу далёких от
электроники людей, и при этом совершенно не рассчитывал он, что кто-то надумает повторить его выкладки
в железе в виде конкретных микросхем.

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Fanat
- Posts: 87
- Joined: 18 Feb 2019 15:46
Re: Подборка процессоров на россыпухе
Lavr, если Вы уже прочли ВСЮ книгу, то ответьте, пожалуйста на заданный мной вопрос о возможности в этой схеме выставить 16-ти разрядный адрес.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Я не прочёл ВСЮ книгу, потому что более 50% книги - полная ерунда для совсем далёких от электроники людей.ra3qdp wrote:Lavr, если Вы уже прочли ВСЮ книгу, то ответьте, пожалуйста на заданный мной вопрос о возможности в этой схеме выставить 16-ти разрядный адрес.
Я просмотрел внимательно всё, что касалось схемотехники устройства, рисунок которого вы запостили в топик,
чем меня и заинтересовали отчасти.
На заданный вами вопрос конкретно ответ следующий: в устройстве, являющемся моделью самодельного
процессора, рисунок которого опубликован в этом топике, 16-ти разрядный адрес выставить принципиально невозможно.
Вот команда прямого безусловного перехода JMP ADDR для этого устройства: Очевидно, что адрес принципиально 8-ми разрядный.
Инструкций вызова подпрограмм и возврата из них типа CALL ADDR и RET в устройстве
также принципиально нет, как факт.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Подборка процессоров на россыпухе
Но довольно-таки несложно можно расширить адресную шину до 12 бит и адресовать уже 4096 байт памяти.Lavr wrote:На заданный вами вопрос конкретно ответ следующий: в устройстве, являющемся моделью самодельногоra3qdp wrote:Lavr, если Вы уже прочли ВСЮ книгу, то ответьте, пожалуйста на заданный мной вопрос о возможности в этой схеме выставить 16-ти разрядный адрес.
процессора, рисунок которого опубликован в этом топике, 16-ти разрядный адрес выставить принципиально невозможно.
Вот команда прямого безусловного перехода JMP ADDR для этого устройства:
Очевидно, что адрес принципиально 8-ми разрядный.
В инструкции не задействованы 4 бита - можно их использовать как адрес.
Я после своего 4-битника планировал по накатанной дороге 8-битник сделать на основе такой идеи: Идея, собственно, была почерпнута из КР1816ВЕ35/39/48/49.
Но от этой идеи я отказался: 8-битник с 4096 байтами памяти - это некомильфо...

Но тут-то и вовсе - 8-битник всего с 256 байтами оперативной памяти!

Это просто за гранью добра и зла, если учесть, что АЛУ - параллельное и 8-битное!

С 4096 байтами памяти - хоть что-то типа контроллера получится!

You do not have the required permissions to view the files attached to this post.
iLavr