|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
ra3qdp
Fanat
Joined: 18 Feb 2019 15:46 Posts: 64
|
Не знаю - в какую ветку написать. Вроде эта соответствует. Попалась схема процессора: может кто-нибудь знает что это и где найти инфо ?
|
16 Mar 2022 03:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну это не совсем "схема процессора"... это что-то типа блок-схемы с элементами схемы... Либо это какой-то учебный материал, типа иллюстрации работы процессора, либо это - скриншот опять же какой-то учебной программы-симулятора простого процессора.
_________________ iLavr
|
17 Mar 2022 01:24 |
|
|
ra3qdp
Fanat
Joined: 18 Feb 2019 15:46 Posts: 64
|
почему Вы решили, что это не полная схема ?
Я не вижу возможности в этой схеме выставить 16-ти разрядный адрес (за 2 раза, а 256 адресов как-то маловато), а Вы видите ?
|
17 Mar 2022 02:59 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Потому что я знаю, как выглядит полная схема. А здесь такой возможности, судя по всему, и нет. Это что-то такое демонстрационно-учебное, насколько я вижу...
_________________ iLavr
|
17 Mar 2022 04:59 |
|
|
ra3qdp
Fanat
Joined: 18 Feb 2019 15:46 Posts: 64
|
жаль, что про приведенной схеме никто так и не опознал - что это.
|
17 Mar 2022 05:40 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Почему же, опознали: это не схема, и сделать это по этой картинке возможности нет. Потому как отдельные части этого рисунка - просто коробки с названиями, а не элементы. Чтобы было понятно, в чем дело, это рисунок вот такого типа.
_________________ iLavr
|
17 Mar 2022 06:58 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Но сама блок-схема весьма неглупая, человек, сведущий в схемотехнике, по ней нарисовать схему принципиальную электрическую задуманного автором учебного 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По крайней мере из видео с этого сайта я вновь вытащил искомую схему в черно-белом виде: ТО САМОЕ ВИДЕО ПРО DIY-CPU Есть у меня предположение, что на следующей странице эта книга или часть её есть в формате .pdfhttps://pdfroom.com/books/but-how-do-it-know-the-basic-principles-of-computers-for-everyone/zk2AqOee2PJНо у меня какие-то траблы с открытием этого ресурса... Возможно, Shaos нам сможет помочь эту, судя по всему, интересную книжечку скачать и полистать?
_________________ iLavr
|
12 Sep 2022 12:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22702 Location: Silicon Valley
|
У меня в Firefox качнулось в 2 щелчка мыши
|
13 Sep 2022 22:07 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Пока не было книжки, я прикидывал, как бы я заполнил некоторые "коробочки" этой блок схемы... В частности, вот эта коробочка, названная автором "stepper" ("шаговик" ) у меня сомнений практически не вызывала: Я бы впихнул туда счетчик со сбросом и дешифратор, как чаще всего и делают. В частности, в EDUC-8 в этой позиции стоит счетчик, совмещенный с дешифратором. Но автор этой конструкции решил иначе: "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
_________________ iLavr
|
14 Sep 2022 05:28 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это потому что я решил не ждать, когда (и если) ты поможешь, а просто упорно поискал её сам и вставил сюда прямую ссылку, откуда скачать... Но возбудило меня на активные действия вот что: автора книги позиционируют в различных анонсах как разработчика процессоров с многолетним стажем, вот и стало мне интересно - что он такого необычного о схемотехнике DIY-процессоров может поведать! Разработчик ведь должен " уметь много гитик!" Но пока он меня удивляет в совершенно обратную сторону... В АЛУ он вытащил весьма корректно два флага - Z и C причем само АЛУ совершенно без затей сделал самым тривиальным способом:"каждой твари по 8 штук" Я, когда делал в древние года АЛУ на NAND, хотя бы пытался ужаться и сэкономить корпуса, учитывая хотя бы факт, что в сумматоре уже есть XOR и NAND... Но это ладно... а вот дальше начинается самое удивительное! Известно, и я надеюсь, что не только мне, что флагов Z и C достаточно, чтобы определить любое отношение между двумя аргументами А и В на входе АЛУ. Но автор книги совершенно непонятно с какой целью вводит в и так "жырное" АЛУ еще два флага: А = В ( Equal) и А > В ( A larger)! Причем делает это вокруг функции XOR и подсыпает в схему 8-разрядного АЛУ немало вентилей! И называет он всё это "компаратор"... Ну еще о полезности флага А > В ( A larger) можно спорить, возможно, он отчасти полезен... Но вот флаг А = В ( Equal) - это просто непонятно... У автора есть нормальная, неразрушающая команда CMP A,B - тут уж если А = В, то мгновенно флаг Z сработает! Ну и если присмотреться к авторской конструкции этого узла под названием "компаратор", он и в него, на мой взгляд, сыпанул вентилей излишне щедро... В архиве - авторский вариант "компаратора" и вариант попроще:
_________________ iLavr
|
16 Sep 2022 15:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Но некоторые рациональные зёрна у автора почерпнуть всё же можно... Мне лично очень понравилось решение, которое автор ввёл сразу, поскольку об этот момент я сам очень спотыкался, когда конструировал свой собственный 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 позволяет совершенно не мучиться с выбором регистров: они могут быть как с записью по фронту, по срезу, так и по уровню. Если регистр без тристабильного выхода, можно поставить связку регистр+шинный буфер. Опять же, кто знает схемотехнику... потому как именно с регистрами у автора - самая большая засада в этой книге, для всех, кто решит, что всё понял, но со схемотехникой не знаком.
_________________ iLavr
|
20 Sep 2022 05:39 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
И засада эта вот какая. Поскольку автор популяризатор, он доходчиво показывает, как сделан параллельный регистр: где М - это D-триггер со статическим управлением, я показал его в постах выше. На мой взгляд, автор не заморочил бы никому голову, если бы назвал вещи своими именами: D-триггер или прозрачный "флип-флоп", как принято в западной литературе. Но автор упрямо придерживается своей терминологии: М - это Мemory - элемент памяти, объёмом в 1 бит. Ну ладно... То, что на картинке выше из 8 элементов М - собственно, и есть параллельный регистр, но автор решил назвать его B - Byte, понятно, байт. Ну и это ещё не страшно... Далее автор рассказывает, что нужно уметь выключать " байты" по выходу, и вводит 8 штук элементов AND: Эту сборку он называет E - Enable, " разрешатель" по выходу, если хотите... В итоге автор соединяет вместе B и E, получив, по его мнению, R - Register. С точки зрения понимания для людей, далёких от схемотехники, - всё логично и понятно. Но дальше автор вот эти самые регистры вешает на общую шину и начинает конструировать свой CPU! Ни слова о тристабильном состоянии выходов или о шинных буферах у автора просто НИГДЕ НЕТ! Ну или хотя бы об элементах AND с открытым коллектором и линиями шины, притянутыми резисторами к потенциалу +5 В. Складывается такое ощущение, что автор стремился рассказать доходчиво широкому кругу далёких от электроники людей, и при этом совершенно не рассчитывал он, что кто-то надумает повторить его выкладки в железе в виде конкретных микросхем.
_________________ iLavr
|
20 Sep 2022 06:23 |
|
|
ra3qdp
Fanat
Joined: 18 Feb 2019 15:46 Posts: 64
|
Lavr, если Вы уже прочли ВСЮ книгу, то ответьте, пожалуйста на заданный мной вопрос о возможности в этой схеме выставить 16-ти разрядный адрес.
|
20 Sep 2022 09:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я не прочёл ВСЮ книгу, потому что более 50% книги - полная ерунда для совсем далёких от электроники людей. Я просмотрел внимательно всё, что касалось схемотехники устройства, рисунок которого вы запостили в топик, чем меня и заинтересовали отчасти. На заданный вами вопрос конкретно ответ следующий: в устройстве, являющемся моделью самодельного процессора, рисунок которого опубликован в этом топике, 16-ти разрядный адрес выставить принципиально невозможно. Вот команда прямого безусловного перехода JMP ADDR для этого устройства: Очевидно, что адрес принципиально 8-ми разрядный. Инструкций вызова подпрограмм и возврата из них типа CALL ADDR и RET в устройстве также принципиально нет, как факт.
_________________ iLavr
|
20 Sep 2022 10:31 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
| | | | Lavr wrote: На заданный вами вопрос конкретно ответ следующий: в устройстве, являющемся моделью самодельного процессора, рисунок которого опубликован в этом топике, 16-ти разрядный адрес выставить принципиально невозможно. Вот команда прямого безусловного перехода JMP ADDR для этого устройства: Очевидно, что адрес принципиально 8-ми разрядный. | | | | |
Но довольно-таки несложно можно расширить адресную шину до 12 бит и адресовать уже 4096 байт памяти. В инструкции не задействованы 4 бита - можно их использовать как адрес. Я после своего 4-битника планировал по накатанной дороге 8-битник сделать на основе такой идеи: Идея, собственно, была почерпнута из КР1816ВЕ35/39/48/49. Но от этой идеи я отказался: 8-битник с 4096 байтами памяти - это некомильфо... Но тут-то и вовсе - 8-битник всего с 256 байтами оперативной памяти! Это просто за гранью добра и зла, если учесть, что АЛУ - параллельное и 8-битное! С 4096 байтами памяти - хоть что-то типа контроллера получится!
_________________ iLavr
|
13 Oct 2022 12:54 |
|
|
Who is online |
Users browsing this forum: Сергей76 and 16 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|