Идея хорошая, если не довести ее до абсурда. Но вообще можно попробовать разработать 1-битный сигнальный процессор. Программами для него будут матрицы переходов. Хотя с другой стороны, где бы был Форд, если бы не коммерциализировал производство автомобилей, а ограничился бы катушкой из под ниток, спичкой и резинкой. Тогда бы маскимум про него написали бы один раз в ЮТ.
-- для начала учим verilog/vhdl (verilog более интуитивен имхо) по "языки vhdl и verilog в проектировании цифровой аппаратуры" Поляков А.К. (очень многословно и сумбурно имхо, но лучшее на русском имхо), а лучше по мультимедиа-тутуорам от Aldec. -- Затем, после получения минимальных представлений о ланге, сливаем себе ISE с xilinx-а и разбираемся с ним (verilog в изе поддержан лучше чем в квантурусе). разбираемся со средой. разбираемся со штатными примерами начиная с самых простых. -- читаем что люди по теме пишут (алгосы для копипаста шукаем). напр тут: http://www.opencores.org/ (есть описание проца на кплд 64, но найти его сложно. у мя был гдето архив) http://www.fpga4fun.com/ http://iosifk.narod.ru/ (на русском) ... итд их есть немало -- продумываем концепцию/идею, требования, ограничения, цели вашего проекта итд. Пишем. Критикуем. Снова думаем. Снова пишем. Снова, снова. Не надоело? Пробуем позаверилогить упрощенный до дальше немогу вар. Добиваемся рабочести. Усложняем. Итд. Авось удивите. А если не удивите, то толковым fpga разрабом шанс стать поимеете. Тоже хлеб. Немного о полезности такой работы. Сейчас виртех5 с 200000 (?) макроячейкам, 2-мя powerPC, кучей аппаратных умножителей, разнообразными ИО, системами защиты итд (см спец.) на борту и пашущая на 600Мгц стоит порядка 40$ партиями от 25 штук. Есть очень смыл включать их в разрабоки, тем более что макеток на любой вкус и цвет за вполне разумные деньги. Folk Acid где был-бы форд если-бы он рассуждал так - машины уже лепят уже лет 50 и красивые и бренды, а я вот в гараже слеплю вид - "пан сам склэпав", имя ?? (а форд это имя?). Вобще начинать работу с мысли - я никто == проиграть однозначно. Впрочем, с "я безмерно крут" - аналогично.
интерпретируемые языки программирования выполняющиеся на виртуальных машинах.... микропроцессоры реализованные на плис...
Как мне кажется сделать микропроцессор в домашних условиях это по сути изобретение велосипеда с квадратными колесами. Теоретически проехать немного можно - но толку никакого. Такой велик никому не нужен. Есть уже кучу компаний которые делают эти "велосипеды". Есть господствующие компании которые выпускают самые лучшие "велосипеды". Помечтаем и порассуждаем. Вот например был когда-то паровоз. То есть по сути "железный конь" который работал на воде и угле. Разные компании делали разные паровозы. Выделились и свои лидеры которые делали самые лучшие паровозы. Потом шла гонка за скоростью. Чей паровоз шустрее будет ехать. Но всему есть предел... и паровая сила имела тоже свое ограничение и недостатки. Тогда придумали тепловозы и может не сразу но тепловоз перегнал паровоз и показал свои преимущества. Так произойдет и с современными процессорами. Пусть не завтра и не через год, но это произойдет! Всему есть предел. Пределы диктует время. 30 лет назад 2 ГГц процессора было просто ошеломляющее и тому времени такой процессор просто не нужен был- о нем могли только мечтать. А сейчас? и 3ГГц мало будет. Время просит более крутых технологий. И та дорога по которой идут современные процессоры подходит к концу. Нужен новый переход, на новую технологию " с паровой тяги на жидкое топливо". Вот если придумать и реализовать хотя-бы теоретически новую технологию - вот это я понимаю удивишь! и не только препода, но и весь мир. Только самые безумные мечты и теоретические глупости при должной настойчивости реализовывались в серьезнейшие проекты, научные работы и перспективные технологии. Кто знает, а может среди участников форума проскользнет парочка Эйнштейнов которые и придумают новый процессор по новой технологии!
Значит пускай автор начнет. Пусть начнет и поймет как это. А потом уже будете критиковать велик это или табуретка. Я посоветую 1) Все книги по схемотехники, справочники. 2) Скачать Proteus. Научиться его использовать. 3) Скачать найти книгу по теории автоматов. Пока этого хватит.
А чего смешного. Я разрабатывал процессор. Тока у нас это было как курсовая, а не как диплом И кстати не только процессор но и память, чтоб можно было туда записывать простейшую программу, и выдавать результат. Адресация была в 4 разряда. Команды были - сложение 4 х разрядных чисел. И умножение 4х разрядных чисел. Умножение в обратном коде (хотя у каждого свое). Был 1 тактовый генератор (счетчик) Сложение выполнялось гдето за 4 такта , а умножение тактов за 10-13 (точно не помню). Но работа была довольно интересной. Вначале выбирали элементы. Строили регистры \ сумматоры \ генераторы. Потом соединяли это все, Делали логику работы на элементах И-ИЛИ-НЕ. В общем там не мало надо литературы поднять. Как минимум по элементной базе. Ну а Proteus просто удобный, умеет отлаживать прохождение сигналов. Но там микрухи зарубежные. Так что смотришь наши, а потом ищешь зарубежный аналог
ну дык, я и имею в виду, что чтобы критиковать и скептицировать по поводу проблемы желательно ее представлять почетче
TermoSINteZ А можно поподробнее? Где брать, с чем его есть, какие микрухи он поддерживает, можно ли добавлять свои? А то, когда я подобными вещами занимался, всё "моделирование" выполнялось в голове или проверкой в железе. У буржуинов системы уже были, но не каждый имел к ним доступ.
http://www.labcenter.co.uk/download/prodemo_download.cfm#professional Здесь посл версия. У меня старее. В инете есть даже учебники. Тут всякая фигня: http://proteus123.narod.ru/01.htm Микросхем там много. Надо только привыкнуть к интерфейсу. Ну и вообще там шины поддерживаются, даже микрухи памяти, AVR. Можно создавать свои микрухи, и потом использовать как компонент в более крупной схеме.
_basmp_ Ну да. Попутал с изобретением Конвейера тем же Фордом. А первым по памяти коммерциализировал авто-строение Бенц, хотя в википедии написано что он вообще его изобрел. [updated] Даже не попутал Просто имел в виду что Форд начинал в гараже с таких же ламерских поделок.
Имхо, тут речь должна идти не о протеусе или прочих микрокапах, а об ХДЛ интерпрере/диагрампросмотрщике. Лучше напрямки от альтеры или, снова лучше, Хилинх-а. Насчет примеров, например такой: http://www.fpgacpu.org/gr/ там еще есть. Есть очень интересные, в кплд 64 влазящие например. Аналоги известных. Итд. Кроме того, имхо, за этим будущее. Снова например, грубо, не писать эмуль, а походу, программно, заменить х86 железо на альфа железо простой перезаливкой прошивок. Folk Acid Ну так и я о том. Кто боится выглядеть дураком и лохом, тот никогда ничего стоящего не достигает (разве только если до этого имел еще более стоящее (она его сделала миллионером, а до знакомства он был миллиардером (с) задорнов)). ЗЫ сам ламерю временами по каталкам. Увлекательное это дело..
_basmp_ "Простая замена прошивок" не поможет: изрядная часть работы выполняется на чисто аппаратном, а не микропрограммном уровне. Например, преобразование адресов и защита памяти, выборка и дешифровка команд и т.п.
SII плисы - проганье на аппаратном уровне. на уровне соединений между логическими элементами/выводами. Щас и более крупные вставляют: дсп блоки, память, интерфейсные блоки, синтезаторы частот, вплоть до встроеных процов. если прошивка у них заливается в озу, то перезаливать можно скоко хочешь и отлаживать, отлаживать, отлаживать.
_basmp_ А, о них речь... Я-то подумал насчёт обычных микропрограмм. У а на ПЛИСах действительно реально такое реализовать. Однако рекордных скоростей, понятное дело, не будет: для рекордов всё ж затачивать под конкретику надо, минимизируя одновременно число транзисторов, чтобы уменьшить тепловыделение и поднять частоты.
SII у последних виртексов > 700Мгц частота, до 200к регистров, аппаратные умножители (к), сдвиги, встроеная срам, скоростные приемопередатчики итд. Конкретная задача + парраллельные вычисления потоков в 100. Не думаю, что так уж сильно тормозить будет. А для мелочей - 2 ppc встроено.
_basmp_ А не просветите идиота (а то умные книги читать долго), существуют ли ПЛИСы без всяких заранее встроенных блоков, а просто с туевой хучей логических элементов и возможностью устанавливать офигительное количество связей между ними? Или же имеются лишь конструкции вида "готовое процессорное ядро + ещё какие-то готовые крупные блоки + сравнительно небольшое число свободной логики для собственного творчества"?
Автор , не хочешь троичную логику разрабатывать , делай тогда нейропроцессор ... перспективное направление , опять же делай эмуль на компе , собирай проц эмулированный делай прогу под него и дашь жару всем =)
SII не думаю, что вы идиот. ну, кроме 2х ппс там еще 200к (200 000) регистров (вобщето я имел ввиду макроячейки. В фпга и современных кплд макроячеек как таковых - нет) с программируемыми соединениями . Есть некие логические элементы. Просто считать в макроячейках - удобнее. Например: ядро АРМ7 занимает ~1.5k макроячеек. Есть и более тонкие (от 64) и более толстые. Кроме того в микрухе есть и другие примитивы. Изя сам задействует внутреннюю срам и умножители где это возможно, подключит интерфейсные блоки итд. Ну а ппс.. Не хотите - не используйте. Хотя, если вы например лепите свой гпу или дсп, их можно посадить на внешний интерфейс или вывод сообщений буквами и другие малосущественные, медленные и сложные операции. По вопросу. фпга с нормальным объемом и без процов. spartan-3a или 3an старших серий (макетки: HW-SD1800A-DSP- SB-UNI-G $300, NEXYS2 $120), виртехи младших серий. У альтеры тоже есть, но хилинх - емчее.