Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
Я для любой вменяемой системы команд могу адаптировать свои RASM (ассемблер) и RW1P2 (транслятор с си-подобного языка в ассемблер)
|
10 Mar 2011 05:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Shaos - тут уже дело просто в принципе. По прикидкам схемотехника самодельного ЦП,
совместимого с К580ВМ80, получается сложной и объёмной.
Я прицеливаюсь уместиться сугубо на двойной стандартной макетке.
При таком объёме хорош только проц со своей короткой системой команд.
Сейчас тупик в том - какой набор команд оставить. А схемотехника местами
прорисовывается весьма красивая.
|
10 Mar 2011 05:15 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
"А не посчитать-ли нам уважаемые кроты" (цитата из мультфильма Дюймовочка)
580ИК80 содержит около 5000 транзистров.
ЛА3 в одном элементе около 5-и транзистров, т.е. в одном корпусе
20 транзисторов.
5000/20=250 корпусов.
Если учесть, что в логике половина из 5-и транзистров не учавствует (для обеспечения выхода с заданной нагрузочной мощьностью), можно смело увеличить кол-во микросхем вдвое.
...
Используем регистры, счетчики двухпортовую память, АЛУ ...
примерно вдвое сокращается кол-во микросхем.
...
где-то как-то читал, что внутри ИК80 все регистры динамические (т.е. все теряется при тактовой частоте ~0Гц (проверьте пж-ста у кого есть такая возможность)) - 1 бит - 1 транзистртор, т.е. чтобы получилось ~5000 транзистров - придется увеличить кол-во корпусов...
---------------------
Конечно это прикидки, и я ошибаюсь примерно на пол-порядка/порядок...
Процессор Э60 на рассыпухе занимет примерно 0.5*0.5*0.3м.
|
10 Mar 2011 06:45 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Это действительно так и есть, проверять не надо. Об этом, в частности, Хоровиц и Хилл пишут, а я им верю.
Тоже излишне - здесь у нас была ссылка на 580-й на мелкой логике. Я её
скачивал и смотрел внимательно.
http://tech-systems-labs.com/booksdata/Signetics8080emulMan.pdf
Прежде чем изобрести велосипед, я по привычке просматриваю источники и
прототипы. Мне вполне уже понятно, что мой "велосипед" , пожалуй будет плох.
Остаётся только убедить себя, что в нём будет хоть какой-то смысл.
К примеру - я не леплю античных статуй just for fun, я в них и в реальных
не вижу смысла. А есть люди - лепят...
Last edited by Lavr on 10 Mar 2011 16:18, edited 1 time in total.
|
10 Mar 2011 07:45 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Что-то прям зацепило меня - где я уже что-то похожее слышал... А вот где оказывается: http://www.nedopc.org/forum/viewtopic.php?t=9177&postdays=0&postorder=asc&start=45
Не по кругу ли мы уже пошли?
|
10 Mar 2011 15:42 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А процессор 8080 на рассыпухе с 589-й серией занимает примерно вот столько:
|
10 Mar 2011 17:13 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
Вместо ПЗУ ставим статику ОЗУ и вперед...
|
10 Mar 2011 21:20 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Shaos, вот такой вопрос возник. Ты вроде работал с 6502 и Моторолами, как у них решается проблема, если команда не помещается в границу 256 байт озу
и как они сливают-читают секционированную по 256 байт программу в памяти к примеру на(с) магнитную ленту?
|
16 Mar 2011 15:47 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
да не - не работал
и к тому же у них память сплошная - при чём тут 256 байт?
|
16 Mar 2011 18:15 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я с ними вобще не работал, но везде читаю примерно вот такое:
Вот при этом, наверное, страницы по 256 байт...
|
16 Mar 2011 18:27 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
С этими процессорами не работал, но видимо идёт речь про релятивные переходы, типа jr в z80. С учётом того, что помимо релятивных переходов используются индексы, то скорее всего адрес на шине выставляется как сумма непосредственно указателя адреса и смещения. Т.е. адресная шина связана с регистрами через промежуточный 16бит сумматор. А про границы забей, там же не сегментированная модель по типу 8086. С другой стороны в 8086 точно также стоит сумматор, только на 20бит и сложение идет со смещением 4 бита для указателя сегмента.
|
16 Mar 2011 21:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Что-то все, кто сами не работали, мне дают прикольные советы. А между тем, если почитать систему команд 6502 на проблемы пересечения границ страниц явно указывается, и это я хочу чётко выяснить.
[url]http://www.emuverse.ru/wiki/MOS_Technology_6502/Система_команд[/url]
|
16 Mar 2011 21:39 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22730 Location: Silicon Valley
|
да - у оригинального 6502 есть такое дело
|
17 Mar 2011 05:51 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
А фигли нам остаётся делать?!
Значит сумматор стоит 8 бит. Только в одном случае перенос не учитывается, во втором к старшему разряду добавляется перенос, от того и такт лишний.
|
17 Mar 2011 19:49 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Не хочу сказать, что собираюсь что-то делать с 6502, просто его схемотехника,
отражается в его системе команд, а так как 6502 прост - схемотехника заимствуется
в различных самодельных ЦПУ. И суть вот в чем - регистровый пул схемотехнически
удобно сделать 8-разрядными. В этом случае программный счетчик получится как PC(Low)
и PC(Hi). Младший - указатель в странице 256 байт, старший - по сути перключатель
страниц (или банков - как в микроконтроллерах).
Команды удобно выровнять, скажем, на 2 байта. В этом случае PC(Low) и PC(Hi) загружаются
раздельно, а одновременно на шину выставляются только в случаях вызовов и переходов.
Не все команды дотягивают до 2-х байт. Однобайтные тоже приемлемы. Вот тут и возникает
вопрос - как поступать, если 2-байтная команда не выровняется на границу 256 байт.
|
17 Mar 2011 21:47 |
|
|