Comments 47
Характеристики компьютера очень высокие — сложность будет очень высока. Может лучше начать с 8 бит?
Вот это автор видел: разные конструкции самодельных компьютеров?
Вот это автор видел: разные конструкции самодельных компьютеров?
Я проектировал 16-битный компьютер на логических елементах (схема состоит из 8900 елементов), схему тестировал в Logic Circuit. К компьютеру написал ассемблер. Он может исполнять 75 ассемблерных инструкций (204 мнемоники).
А сейчас хочу сделать 32 битный.
А сейчас хочу сделать 32 битный.
Если вы уже делали 16- ти битный на рассыпухе, то зачем так же делать и 32-х битный? В чем смысл делать тоже самое только в большем обьеме?
Почему бы не сделать 32-х битный на FPGA? Суть то таже самая. Хочется на логических элементах пожалуйста, только они будут внутри и вместо пайки их будет соединять между собой прошивка FPGA. Как бонус получите и большую скорость и дополнительне фишки в виде ROM/RAM и т.д.
Заодно получите опыт в области, которая сейчас очень актуальна.
Почему бы не сделать 32-х битный на FPGA? Суть то таже самая. Хочется на логических элементах пожалуйста, только они будут внутри и вместо пайки их будет соединять между собой прошивка FPGA. Как бонус получите и большую скорость и дополнительне фишки в виде ROM/RAM и т.д.
Заодно получите опыт в области, которая сейчас очень актуальна.
Плюс, программирование на verilog — довольно интересная штука)
Хочется отработать некоторые моменты, например прерывания.
А FPGA — хорошая идея!
А FPGA — хорошая идея!
Ну так чтобы отработать любые моменты не обязательно паять логику руками.
Если хочется работать на уровне схемы и логических элементов в IDE для FPGA можно делать тоже самое. Т.е. основной способ это конечно написание кода на HDL, но никто не мешает вам самому накидать схему из логики и IDE ее реализует в чипе.
Еще приятный момент, что там можно сразу запускать симуляцию и видеть чего вы там насоздавали в схеме.
Собрав процессор на рассыпухе, единственный скил, который в итоге окажется максимально прокачан — это пайка. Сомневаюсь, что ваша мечта работать монтажником :-)
Если хочется работать на уровне схемы и логических элементов в IDE для FPGA можно делать тоже самое. Т.е. основной способ это конечно написание кода на HDL, но никто не мешает вам самому накидать схему из логики и IDE ее реализует в чипе.
Еще приятный момент, что там можно сразу запускать симуляцию и видеть чего вы там насоздавали в схеме.
Собрав процессор на рассыпухе, единственный скил, который в итоге окажется максимально прокачан — это пайка. Сомневаюсь, что ваша мечта работать монтажником :-)
А какую IDE вы можете мне посоветовать?
В мире FPGA так вопрос не ставится.
Там выбирается производитель чипов и он поставляет IDE для разработки под свои чипы.Обычно базавая версия бесплатная и она покрывает практически все потребности начинающих. Наверно существуют пакеты и от сторонних разработчиков, но не думаю, что они легко доступны.
Самыми популярными производителями являются Xilinx и Altera. Выбор между ними — это один большой холивар. Номенклатуоа выпускаемых чипов практически один в один совпадает, особенно в нижнем сегменте. IDE у них следующие:
Xilinx — ISE
Altera — Quartus
Я пользуюсь только Xilinx, мне хватает. Про Altera ничего сказать не могу т.к. даже в руках их продукцию не держал.
На старте думаю лучше выбирать того производителя, с которым работает ближайший к вам человек, у которого вы сможете спросить совет.
Там выбирается производитель чипов и он поставляет IDE для разработки под свои чипы.Обычно базавая версия бесплатная и она покрывает практически все потребности начинающих. Наверно существуют пакеты и от сторонних разработчиков, но не думаю, что они легко доступны.
Самыми популярными производителями являются Xilinx и Altera. Выбор между ними — это один большой холивар. Номенклатуоа выпускаемых чипов практически один в один совпадает, особенно в нижнем сегменте. IDE у них следующие:
Xilinx — ISE
Altera — Quartus
Я пользуюсь только Xilinx, мне хватает. Про Altera ничего сказать не могу т.к. даже в руках их продукцию не держал.
На старте думаю лучше выбирать того производителя, с которым работает ближайший к вам человек, у которого вы сможете спросить совет.
Ещё нет :) Сейчас у меня на первом месте поступление в университет. Начну воплощать в жизнь летом, после сдачи экзаменов.
Я пробовал реализовать 32-х битный ORISC в Portal2 во встроенном редакторе, но карта оказалась слишком сложной и я не собрал даже нужное количество регистров памяти(
А я дальше теории не ушёл в детстве. Изучал схемы разных вариантов спектрума, потом рисовал свою с максимальным приближением в совместимости с реальным спектрумом. Потом попалась книжка про микропроцессоры. Пытался нарисовать комп с какой-то моторолой. Эх. Не понимал я тогда, что компьютер — это не только железо, но и ПО. Хотя, теоретически, то, что было нарисовано, могло работать. Разве что видеовывод вряд ли я тогда нарисовал. Я и на спектруме слабо понимал как там видеосигнал телевизионный формируется.
Собрать 4 триггера на дискретке — это, конечно, круто. Однако вы вообще представляете себе масштаб задачи, за который взялись? Тем более с разрядностью в 32 бита? Допустим нам нужно реализовать 32-ух битный регистр. На RS-триггерах нам понадобится 32 триггера. Каждый триггер — 3 транзистора. Т.е. 96 транзисторов только на один регистр. Которых нужно несколько.
Да и, ко всему прочему, компьютер состоит не только из процессора. Нужно где-то хранить программу(память программ) и ее данные(память данных). Плюс организовать обмен данными с пользователем(система ввода-вывода).
Для простейших программ можно обойтись без памяти данных, используя для этой цели регистры процессора. Православный Z80 имеет этих регистров(8-ми битных) аж 17 штук, что позволяло создавать конструкции на базе этого процессора совсем без памяти данных.
Да и, ко всему прочему, компьютер состоит не только из процессора. Нужно где-то хранить программу(память программ) и ее данные(память данных). Плюс организовать обмен данными с пользователем(система ввода-вывода).
Для простейших программ можно обойтись без памяти данных, используя для этой цели регистры процессора. Православный Z80 имеет этих регистров(8-ми битных) аж 17 штук, что позволяло создавать конструкции на базе этого процессора совсем без памяти данных.
Вот бы собрать систему для высокопроизводительного вычисления SHA256
Решена то решена, но я говорю о том чтоб самому такую собрать и желательно чтоб не очень дорого вышло. А системы на ASIC во первых не дешего стоят, а во вторых их еще толком в глаза некто не видел, первые кто их заказывал получат их только в начале лета, и вообще получат ли они их еще вопрос, на некоторых bitcoin форумах ходят слухи что все эти чипы на ASIC это фейк и лохотрон, такое же как и это интервью чувака из Butterfly Labs на CES (смотреть с сабами) www.youtube.com/watch?v=C4SnUObMd0o :)
А откуда тогда довольные отзывы, что мол купил 3 ASIC, окупились за неделю?
Мне кажется, они вполне реальны, только их создатели уже хорошенько ими отфармили, а когда курс взлетел, они обогатились.
Мне кажется, они вполне реальны, только их создатели уже хорошенько ими отфармили, а когда курс взлетел, они обогатились.
Но в любом случае это задача не для рассыпухи. Там у 74 серии предел всего лишь считанные мегагерцы (чуть ли не один, не помню). Слишком медленно получится.
Собирать компьютер из «рассыпухи» — сомнительное занятие. Считаю его нецелесообразным даже с академической точки зрения. На транзисторах можно ради интереса сделать парочку логических элементов, но не более того.
В плане проработки архитектуры микропроцессорной системы гораздо более интересно создать систему на ПЛИС. Или — если хотите жёсткую логику — на, собственно, стандартной логике (западная 74 серия или наша К1564 и др.). И паять меньше, и процесс интересней.
В плане проработки архитектуры микропроцессорной системы гораздо более интересно создать систему на ПЛИС. Или — если хотите жёсткую логику — на, собственно, стандартной логике (западная 74 серия или наша К1564 и др.). И паять меньше, и процесс интересней.
1. Не совсем понял, какое собственно назначение компьютера?
2. 32 и 24 бита? Это же 4294967296 и 16777216 зачем столько много комбинаций? Вы разоритесь на покупке составляющих
3. Почему не пользуетесь K-maps для упрощения составляющих цепи? Описывать уравнения исходя просто из таблицы не эффективно
4. Почему не используете VHDL программирование (ModelSIM отличный софт)
2. 32 и 24 бита? Это же 4294967296 и 16777216 зачем столько много комбинаций? Вы разоритесь на покупке составляющих
3. Почему не пользуетесь K-maps для упрощения составляющих цепи? Описывать уравнения исходя просто из таблицы не эффективно
4. Почему не используете VHDL программирование (ModelSIM отличный софт)
Статья хорошая, но можнО пишется через «о», причём в каждом из 7 случаев
О построении компьютера на транзисторах думал и я.
Но конечно тут нужны неортодоксальные архитектуры, понятно что делать в лоб схему на 15тыс транзисторов нельзя.
Я все еще эту идею не оставляю, и рассчитываю уложиться менее чем в 1000 транзисторов.
Тестовые логические элементы — работают с фронтами в 10-20нс после всех трюков, т.е. на уровне быстрой TTL логики.
После некоторого гемора заработали и 2-х транзисторные T-триггеры.
Но конечно тут нужны неортодоксальные архитектуры, понятно что делать в лоб схему на 15тыс транзисторов нельзя.
Я все еще эту идею не оставляю, и рассчитываю уложиться менее чем в 1000 транзисторов.
Тестовые логические элементы — работают с фронтами в 10-20нс после всех трюков, т.е. на уровне быстрой TTL логики.
После некоторого гемора заработали и 2-х транзисторные T-триггеры.
Т-триггер на 2-х транзисторах? Может быть RS?
Именно T ;-)
Но схема очень капризная, требует тщательного выбора элементов.
Но схема очень капризная, требует тщательного выбора элементов.
Схема очень заинтересовала!
А он синхронный? :)
А он синхронный? :)
Проблема достать полевые SMD транзисторы в Украине;
Хм… странные у вас проблемы.
Лучше сразу понять какие шишки вы набёте
1. Паяние транзисторов и резисторов — ну почитайте историю компьютеров и спросите себя способны Вы иметь пару шкафов у себя дома — оцените сколько они кушают?
2. Создание схем на дискретных логических элементах — уже прогресс но Вам скорее всего захочется выжать максимум мегагерц — на сегодняшний день есть быстродействуюшие КМОП — 20 --30 Мгц может даже 100 Мгц — но тогда вам придётся очень качественно делать монтаж и продумывать средства для защиты схем от наводок, помех и «звона». У вас есть осцилограф?
3. Использование ПЛИС и прочих микросхем памяти — уже интереснее — это позволяет Вам купив плату творить что угодно — посмотрите на проект марсоход. Проект посвещён созданию первой версии арм процессоров, а также там есть очень много других примеров. Также взгляните на opencores
В любом случае, советую Вам написать что-нибудь на HDL языке, затем это эмулировать и уж затем паять или прошивать если вам это интересно.
Также необходимо почитать чего-нибудь по теории автоматов — уверен вы уже что-либо сделали.
Если вы выберете набор микросхем какой нибудь фирмы и ваши заметки приобретут популярность, то Вам представители этой фирмы чего-нибудь бесплатно пришлют.
Меня всегда интересовало, а какой минимально-аппаратный набор комманд и регистров нужен для процессора чтобы он был хоть как-то пригоден для использования. То есть можете вы сделать процессор из 16 транзисторов? а из 256? а из 1024?.. Создайте ЭВМ =процессор + SD карта + RS232 порт — тогда вы сможете выполнять достаточно много программ — это потенциальный кандидат на то чтобы другие повторили Ваш опыт на маленьких ПЛИС.
Повторите первый исторический intel4004 процессор
повторите z80 или i8080(та ещё дурацкая микросхема)
1. Паяние транзисторов и резисторов — ну почитайте историю компьютеров и спросите себя способны Вы иметь пару шкафов у себя дома — оцените сколько они кушают?
2. Создание схем на дискретных логических элементах — уже прогресс но Вам скорее всего захочется выжать максимум мегагерц — на сегодняшний день есть быстродействуюшие КМОП — 20 --30 Мгц может даже 100 Мгц — но тогда вам придётся очень качественно делать монтаж и продумывать средства для защиты схем от наводок, помех и «звона». У вас есть осцилограф?
3. Использование ПЛИС и прочих микросхем памяти — уже интереснее — это позволяет Вам купив плату творить что угодно — посмотрите на проект марсоход. Проект посвещён созданию первой версии арм процессоров, а также там есть очень много других примеров. Также взгляните на opencores
В любом случае, советую Вам написать что-нибудь на HDL языке, затем это эмулировать и уж затем паять или прошивать если вам это интересно.
Также необходимо почитать чего-нибудь по теории автоматов — уверен вы уже что-либо сделали.
Если вы выберете набор микросхем какой нибудь фирмы и ваши заметки приобретут популярность, то Вам представители этой фирмы чего-нибудь бесплатно пришлют.
Меня всегда интересовало, а какой минимально-аппаратный набор комманд и регистров нужен для процессора чтобы он был хоть как-то пригоден для использования. То есть можете вы сделать процессор из 16 транзисторов? а из 256? а из 1024?.. Создайте ЭВМ =процессор + SD карта + RS232 порт — тогда вы сможете выполнять достаточно много программ — это потенциальный кандидат на то чтобы другие повторили Ваш опыт на маленьких ПЛИС.
Повторите первый исторический intel4004 процессор
повторите z80 или i8080(та ещё дурацкая микросхема)
Sign up to leave a comment.
Проектирование собственного компьютера. Часть 1