Comments 95
%)
Вы маньяки!
Вы маньяки!
Скорее это сделано в рамках импортозамещения!
Ну нет, такое старье уже не импортозамещают. Хотя старья в программах импортозамещения хватает, это факт.
Ну по современным тех процессам можно и частоту поднять и подобных «ядер» сотню накидать. Чем не замещение? )
А зачем нужно сто таких ядер? Это же не увеличит производительность в сто раз. Сделать-то можно что угодно, вопрос в том, зачем.
Использованик старого кода, который работает десятилетиями уже. Чтобы заново не переписывать.
не, 8080 — ну его нафиг
архитектура ЖУТКО неудобная
особенно для компиляторов
мало регистров
хреново с индексной адресацией…
архитектура ЖУТКО неудобная
особенно для компиляторов
мало регистров
хреново с индексной адресацией…
Некоторые личности с эпохальной ветки на IXBT, которая как раз в тему этой статьи, и x86 называют жутко неудобной архитектурой :)
В наше время нет проблем сделать 8080++ с расширенной архитектурой, регистрами, песнями и плясками, способный выполнять старый код в режиме совместимости, по аналогии с тем же х86. Только кому это нужно? :)
В наше время нет проблем сделать 8080++ с расширенной архитектурой, регистрами, песнями и плясками, способный выполнять старый код в режиме совместимости, по аналогии с тем же х86. Только кому это нужно? :)
А в 64kb есть gcc? forth, и то не всякий :)
А что, где-то были системы, в которых таких машинок стояли сотни, и которые до сих пр востребованы? Мне кажется, что намного проще и дешевле переписать тот старый код, чем городить огород с созданием из «сотни ядер» системы на кристалле. А еще эти ядра надо будет чем-то связывать между собой…
Помимо ядер нужен будет еще и арбитр шины, чтобы ядра могли сосуществовать друг с другом и не ломится одновременно к одной шине.
В такой архитектуре как ВМ80 ядра не смогут эффективно работать параллельно на одну шину — большую часть времени они будут ожидать когда второе ядро освободит шину. Смысл увеличивать ядерность есть только когда соотношение времени выборки инструкций/данных и время обработки этих данных превышает количество ядер. ВМ80 практически постоянно требует доступ к шине и соответственно ядра постоянно будут блокировать друг друга и вынужденно простаивать.
В современных процессорах эта проблема решена за счет кеширования на уровне ядра(L1 кеш) и конвеера команд. Преимущество получают только на обработке больших порций данных.
В такой архитектуре как ВМ80 ядра не смогут эффективно работать параллельно на одну шину — большую часть времени они будут ожидать когда второе ядро освободит шину. Смысл увеличивать ядерность есть только когда соотношение времени выборки инструкций/данных и время обработки этих данных превышает количество ядер. ВМ80 практически постоянно требует доступ к шине и соответственно ядра постоянно будут блокировать друг друга и вынужденно простаивать.
В современных процессорах эта проблема решена за счет кеширования на уровне ядра(L1 кеш) и конвеера команд. Преимущество получают только на обработке больших порций данных.
А если сильно всем миров попросить, Intel в опенсорс схемы не отдаст?
Что-то мне подсказывает что они утеряны уже, как и много схем других замечательных микросхем.
Шансов крайне мало… Тогда схем особо и не было в нынешнем представлении, i8080 рисовали еще руками — и получение исходных масок Intel-а сэкономило бы лишь 10-20% работы. Как разрабатывали 386 — вопрос, но он точно не синтезирован из HDL — т.е. все равно много работы останется…
Ну не факт, афаик, в интеле начинали синтезировать схемы на HDL'e еще в конце 70х.
Наверняка что-то автоматизировали, но это точно не был привычный нам ныне синтезируемый верилог… Нормальный синтез — это вроде 90-е и позднее… А ранее только верификация lvs, симулятор кусочков…
Я сейчас навскидку источник не вспомню, но помню, что HDL и прочие плюшки были применены в «настоящем будущем» Intel'а — iAPX432. Отделу создававшему 8086 ничего не досталось (это ж была просто «заглушка для сокета» пока iAPX432 подоспеет) и потому это был последний CPU, нарисованный руками.
Вот после того, как iAPX432 с треском провалился — там да, уже начали автоматизацию использовать. Начиная с 80286 — там да, с разработкой на листах бумаги было покончено.
Вот после того, как iAPX432 с треском провалился — там да, уже начали автоматизацию использовать. Начиная с 80286 — там да, с разработкой на листах бумаги было покончено.
Да, я про него.
И 432, и наследник — 960, BiiN использовали довольно продвинутые техники генерации.
Мне рассказывали, что между изменениями ISA и тестированием в силиконе проходили буквально часы.
И 432, и наследник — 960, BiiN использовали довольно продвинутые техники генерации.
Мне рассказывали, что между изменениями ISA и тестированием в силиконе проходили буквально часы.
Во-первых, кремний, а не силикон. Кремний — silicon, силикон — silicone. Не надо путать.
Во-вторых, технологический процесс изготовления даже самой простой микросхемы — это недели и месяцы, так что ни о каких «между изменениями ISA и тестированием в силиконе проходили буквально часы» даже речи быть не могло на самом деле.
Во-вторых, технологический процесс изготовления даже самой простой микросхемы — это недели и месяцы, так что ни о каких «между изменениями ISA и тестированием в силиконе проходили буквально часы» даже речи быть не могло на самом деле.
Я имел в виду «in silico», да «в кремнии» более корректно. Речь не идёт о готовой микросхеме, это-то понятно. Я про другое несколько, не про генерацию масок, а про PLA-логику. Дабы не возникала путаница, процитирую пару фрагментов из писем:
Часы упоминались в другом месте, не могу найти сейчас в архиве своём, может даже в беседе, а не через мыло.
Because we had a fairly general purpose instruction decoder programmed largely with PLA logic and some helper circuits, the instruction set could change easily. The initial ISA formatting and addressing modes were designed early, along with an initial set of required instructions. That was enough to generate a simulator, compiler and do initial programming for the chip – esp. including the OS. Once that was settled a bit, we (hardware engineers) had enough info to know:
— functional elements likely to be needed (like arbitrary bit-width extract/insert)
— where flexibility was needed (i.e. use µcode and PLAs)
Hardware development proceeded in parallel with OS, compiler and application programming. Useful new instructions for added OS capabilities, new OS data structures and the like:
--often appeared initially,
— quickly settled down to near nothing, and
— rarely changed the fundamental hardware design – it just required new PLA code.
Occasionally, we had to add some other structures in hardware – or signals between the chips – but it was rare enough to be “an interesting design problem” rather than “a disaster”. The set of instructions was well settled down about half-way through the design process, but the bit-encoding of them changed regularly – almost until the chip taped out (was committed to manufacturing masks).
the ISA could — and did — change several times a week depending on statistical analysis of code generated «to date», and
the compiler was updated in minutes to generate the new instruction set
The iAPX432 was a very good learning exercise for subsequent work with object-oriented languages
Very innovative structures were used on-chip: barrel shifters, bus-integrated ALU and address generation logic, folded PLAs, etc.
It was one of the 1st implementations of IEEE conformant 32-, 64- and 80-bit floating point
— we did LOTS of simulations of operations to minimize ULP (units-in-last-place) errors
It was the 1st chip at Intel that was fully register-transfer-level simulated, and mixed-level logic+RTL simulated
The IC layout design was fully connectivity extracted, and compared to the logic design for errors
— this procedure/process was hand validated by crawling around on a 30m x 30m chip plot tracing circuits
— we found the computer connectivity validation found many times more errors than the humans did
Часы упоминались в другом месте, не могу найти сейчас в архиве своём, может даже в беседе, а не через мыло.
PLA это уже вообще совсем другое дело, от изменения набора инструкций до создания новой зашивки тестовой ПЛИС (а PLA — это предтечи ПЛИС в их современном понимании) вполне могли пройти считанные часы.
А про IAX у вас есть что-нить? (один из вариантов 64битной арихтектуры Intel в конце 90х)
Дело скорее не в технологии, а в применимости — эти процессоры скорее всего до сих пор применяются в военщине и космосе, по крайней мере в эксплуотации. И по этому врядли будут публиковать такую информацию вот так вот сразу.
Наверное, главный результат это то что вы научились реверсинженерить процессоры. Сколько процентов ручного труда в этом? Вот в схеме 4758 транзистров. Вы вручную переносили каждый на схему со снимка, или возможно это как то сделать в полуавтоматическом режиме?
Схему надо руками разбирать, оно даже при наличии очень качественных снимков довольно плохо автоматизируется. Я видел софт, помогающий в такого рода вещах, но он только облегчает ручную работу, не более того.
Ага, руками ;)
Почитайте в треде на zx.pk.ru
Сначала послойно отрисовали «картинку»
а после восстановили по ней схему
после — верилог, гоняли модель с тестами
на нем уже искали мелкие баги
у VSLAV уже есть беты верилога 1801вм1…
VSLAV — маньяк (в хорошем смысле этого слова)
Почитайте в треде на zx.pk.ru
Сначала послойно отрисовали «картинку»
а после восстановили по ней схему
после — верилог, гоняли модель с тестами
на нем уже искали мелкие баги
у VSLAV уже есть беты верилога 1801вм1…
VSLAV — маньяк (в хорошем смысле этого слова)
А почему вручную, а не экстракцией?
Она не работает на той технологии?
Она не работает на той технологии?
А какие отличия в топологии от i8080? И с чем они связаны?
моё имхо — (т.к. нет картинки ВСЕХ версий/ревизий i8080, а их было достаточно много)
взяли за основу одну из них, а потом уже под свой техпроцесс подпиливали
вот сравните визуально
zeptobars.ru/en/read/kr580vm80a
zeptobars.ru/en/read/kr580ik80a
а вот фото кристалы 8080
regmedia.co.uk/2011/11/14/8080_die_small.jpg
homes.cs.washington.edu/~lazowska/faculty.lecture/chips/8080.gif
i1.wp.com/alt1040.hipertextual.com/files/2012/08/Intel-8080-layout-690x600.jpg
кстати из подписи «Intel 8080, 1975, 4,500 transistors „
явно видно что это близкие родственики.
а вобще visual6502.org/
это реверс 6502 и эмулятор на джаваскрипте ;)
взяли за основу одну из них, а потом уже под свой техпроцесс подпиливали
вот сравните визуально
zeptobars.ru/en/read/kr580vm80a
zeptobars.ru/en/read/kr580ik80a
а вот фото кристалы 8080
regmedia.co.uk/2011/11/14/8080_die_small.jpg
homes.cs.washington.edu/~lazowska/faculty.lecture/chips/8080.gif
i1.wp.com/alt1040.hipertextual.com/files/2012/08/Intel-8080-layout-690x600.jpg
кстати из подписи «Intel 8080, 1975, 4,500 transistors „
явно видно что это близкие родственики.
а вобще visual6502.org/
это реверс 6502 и эмулятор на джаваскрипте ;)
В советском 8080 было исправлено около 40 ошибок интел. И это был единственный случай, когда сам интел делал снятие топологии — в последних вариантах процессора ошибки исправлены были именно нашим способом. В начале 80-х я как раз еще студентом попал в группу технологов по 1810ВМ86, в которую входили и топологи, делавшие 580ВМ80 и весь набор обвязки. И видел это все в кремнии.
т.е. таки копия? ;)
«около 40 ошибок интел»
в инете не встречались «ошибки интел в кристале»
к сожалению похожих историй я слышал МНОГО :(
один «участник событий» доказывал что ВМ80 «100% наша разработака» :(
«сам интел делал снятие топологии» — вот уж совсем не верю, зачем им это?
я собственно про то что у интела была далеко не одна «исправленная»версия кристала
и думаю если взять их всех то можно найти «родословное дерево»
от какой именно редакции отпочковалось.
i8080 зарубежному миру очень мало интересен, на нём почти небыло машин
он достаточно быстро «проскочил» на горизонте
8085 — гораздо более распространён.
вышедшие 6502 & Z80 его сделали как стоячего, и их много копают.
«около 40 ошибок интел»
в инете не встречались «ошибки интел в кристале»
к сожалению похожих историй я слышал МНОГО :(
один «участник событий» доказывал что ВМ80 «100% наша разработака» :(
«сам интел делал снятие топологии» — вот уж совсем не верю, зачем им это?
я собственно про то что у интела была далеко не одна «исправленная»версия кристала
и думаю если взять их всех то можно найти «родословное дерево»
от какой именно редакции отпочковалось.
i8080 зарубежному миру очень мало интересен, на нём почти небыло машин
он достаточно быстро «проскочил» на горизонте
8085 — гораздо более распространён.
вышедшие 6502 & Z80 его сделали как стоячего, и их много копают.
Копия, копия. Не волнуйтесь. 100% «отечественная» разработка — это 1815ВМ85 (он же 8085), разработанный в Новосибирске по КМОП-технологии (оригинал на тот момент был МОП).
Отечественных версий 8080 только на моей памяти было не меньше 5. Из них один вариант был точно полностью «перетрассированный» с уменьшением площади кристалла.
Отечественных версий 8080 только на моей памяти было не меньше 5. Из них один вариант был точно полностью «перетрассированный» с уменьшением площади кристалла.
Спасибо, ого!
5 версий!
в смысле в 5 разных местах делали реверсы?
ну про полность перетрассированный — понятно, когда есть «исходник», его можно и оптимизировать.
5 версий!
в смысле в 5 разных местах делали реверсы?
ну про полность перетрассированный — понятно, когда есть «исходник», его можно и оптимизировать.
Меня могут поправить, сказав, что был 8085 КМОП от Harris, но реально — Новосибирск сделал практически оригинальную разработку.
Так так, самое интересное упущено… и какие же секретные команды есть?
нет, i8080 изучен уже на 100%
отличий нет ;)
отличий нет ;)
может только у военного исполнения были секретные команды MISSLE OUT / SELF DESTRUCT?
«Секретные» команды были в i8085 и однокристалках 8048 и 8051.
Спецкоманды технологические были в 8086/8088, 80186/80189. А в более поздних процессора уже использовалась другая технология тестирования ALU.
Спецкоманды технологические были в 8086/8088, 80186/80189. А в более поздних процессора уже использовалась другая технология тестирования ALU.
Мне бы ваши усидчивость, терпение и внимательность.
Вам нужен чип 580ВМ1?
Нужен конечно
Где-то их у нас было. Нужно копать в кладовке. Обидно, если выкинул. И 80286 оно эмулировало преотвратно — имел удовольствие щупать. Кстати, где-то валяется оригинальный i80286 первых серий — был закуплен в СССР для изучения и создания клона. Материнская плата была вязанная (!!!) — т.е. трёхмерная структура проводников (причём, именно проводов в изоляции!), залитая в какой-то полимер.
Где-то, кстати, ещё и отечественный аналог Z80 ещё должен быть (в трёх ипостасях — оригинальный Zliog, отечественный КР1858ВМ1 и U880, корпусированный где-то в восточной Европе).
Всё, пошёл предаваться ностальгии и копаться в кладовке.
Где-то, кстати, ещё и отечественный аналог Z80 ещё должен быть (в трёх ипостасях — оригинальный Zliog, отечественный КР1858ВМ1 и U880, корпусированный где-то в восточной Европе).
Всё, пошёл предаваться ностальгии и копаться в кладовке.
U880, корпусированный где-то в восточной Европе
U это самое настоящее немецкое качество (в смысле ГДР).
Судя по всему он не совсем «отечественный»
похоже ГДР поделилась
ибо
смотрим у топикастера ;)
zeptobars.ru/ru/read/KR1858VM1-Z80-MME-Angstrem
ну и легендарный Т34
zeptobars.ru/ru/read/t34vm1-z80-angstrem-mme
похоже ГДР поделилась
ибо
смотрим у топикастера ;)
zeptobars.ru/ru/read/KR1858VM1-Z80-MME-Angstrem
КР1858ВМ1 — серийный Z80-совместимый процессор, производившийся в СССР. Надпись на кристалле «U880/6» подсказывает, что разрабатывался он также в восточной Германии в VEB Mikroelektronik «Karl Marx» in Erfurt (MME). По сравнению с Т34ВМ1 — площадь кристалла уменьшена в 1.6 раза, немного переработана периферия
ну и легендарный Т34
zeptobars.ru/ru/read/t34vm1-z80-angstrem-mme
Надпись на кристалле «U880/5» подсказывает, что он вероятно был произведен из комплекта масок, полученных от восточно-германской компании VEB Mikroelektronik «Karl Marx» in Erfurt (MME).
Да
О, в «Векторе-06Ц» этот процессор был
У меня тоже нахлынули, хотя у меня вживую никогда компа на нём не было. Но в колледже на «микропроцессорных системах» нам приходилось работать на чемоданах с 16-ричной клавиатурой и 8 семисегментными индикаторами вместо экрана. И я решил сделать свой эмуль, на котором ассемблировать можно не в машинных кодах, а хотя бы мнемоническими командами. И где посмотреть все данные можно сразу. И где есть отладчик.
В общем, благодаря этому эмулю я разобрался с внутренним устройством этой системы куда лучше, чем сделал бы это, просто прослушав курс этих лекций.
P.S. Решив не останавливаться на достигнутом, планировал делать эмуль вплоть до уровня железа (о верилоге тогда не слышал вообще). Но досадный баг с GDI в Windows меня задолбал настолько, что я забросил его, так и не дописав графическую часть (задолбался перезагружать комп после каждой третьей отладки).
P.P.S. было приятно узнать, что этот эмуль (без «железного» уровня) использовался в колледже весьма долго и после моего окончания.
В общем, благодаря этому эмулю я разобрался с внутренним устройством этой системы куда лучше, чем сделал бы это, просто прослушав курс этих лекций.
P.S. Решив не останавливаться на достигнутом, планировал делать эмуль вплоть до уровня железа (о верилоге тогда не слышал вообще). Но досадный баг с GDI в Windows меня задолбал настолько, что я забросил его, так и не дописав графическую часть (задолбался перезагружать комп после каждой третьей отладки).
P.P.S. было приятно узнать, что этот эмуль (без «железного» уровня) использовался в колледже весьма долго и после моего окончания.
Приходите к нам zx-pk.ru/forumdisplay.php?f=65
форум по Корвету ;)
форум по Корвету ;)
Довольно гордо смотрится:
Молодцы, очень интересная тема
Молодцы, очень интересная тема
ну когда уже i8086!
А затем… чем чёрт не шутит, и i7 в качестве импортозамещения освоите…
А затем… чем чёрт не шутит, и i7 в качестве импортозамещения освоите…
Туннельно сканирующий микроскоп обеспечите?
i7 уже дешевле сделать с нуля, чем ковырять… :)
Как минимум, стырить интересные инженерные решения/оптимизации, которые не один год обдумывали и совершенствовали.
Видел советский Поиск-2 внутри. Впечатлил тогда.
Сейчас погуглил — есть отчего впечатлиться и сейчас www.epos.ua/view.php/pubs_computer_history_Ukraine_generationS4
Сейчас погуглил — есть отчего впечатлиться и сейчас www.epos.ua/view.php/pubs_computer_history_Ukraine_generationS4
Скажите, а реально было бы отреверсить какую-нибудь современную вкусную микросхему? Не обязательно такой уж супер высокой степени интеграции, но, например, быструю? Какой-нибудь LVDS-Serdes или микроконтроллер серии PIC10/PIC12 с микропотреблением мощности?
Очень ламерский вопрос и, на 90% уверен, что — «да» но коли 8080 сделали, то нет ли верилог-модели более близкого нам z80?
на сколько я знаю реверса z80 еще нет, но вроде есть в планах
но на верелиоге есть коры z80 совместимых…
но на верелиоге есть коры z80 совместимых…
Как бы эта. С чего бы? Z80 — это существенно переработанная, улучшенная и, главное, усложнённая версия 8080. Понятно, что они близки, но ясно, что реверс проще завершить у более простого оригинала…
Потому что z80 имеет устойчиво большое сообщество спектрумистов, в частности. В сети довольно много всевозможных ПЛИС-версий Спектрумов и подобных 8-битных компов. Понятно, что потранзисторная реплика z80 им ни к чему… В общем, вопрос родился из таких вот соображений.
А нет желания/возможности декапнуть/реверснуть Холли из Дримкаста? Ту часть, которая контроллер шины.
Мне казалось или я видел статью о реверсе Playstation 1 — PSX? И правда! habrahabr.ru/company/zeptobars/blog/182286/
Дело не стоит на месте psxdev.ru/
Дело не стоит на месте psxdev.ru/
386 камней вроде не завалялось, совершенно точно есть 2 387 сопроцессора, вроде даже от разных производителей.
Нужно?
Нужно?
Вот были времена. Как вспоминаю, так за душу берёт. Тепло на душе становится, но как-то в то же время и грустно.
А как проводят сам реверсинженеринг, фотографию кристалла через прогу прогоняют или в ручную каждый транзистор переписывают?
Есть небольшой вопрос — сколько LE занимает процессор в FPGA?
Может быть вопрос запоздалый.
А зачем три источника питания +5V, -5V, +12V?
Знаю, что вроде бы как -5V подается на подложку.
Подозреваю, что бы запереть паразитные диоды Шоттки образованные на границе подложка-металлизация. Так?
А +12-то зачем? Неужели ядро работает на таком напряжении?
А зачем три источника питания +5V, -5V, +12V?
Знаю, что вроде бы как -5V подается на подложку.
Подозреваю, что бы запереть паразитные диоды Шоттки образованные на границе подложка-металлизация. Так?
А +12-то зачем? Неужели ядро работает на таком напряжении?
Этот вопрос никогда не поздно задать — сам его задавал в прошлом :-)
-5V действительно подается на подложку, чтобы напряжение открытия транзисторов не уехало ниже нуля из-за загрязнения кремния ионами щелочных металлов (в самых ранних процессорах была такая проблема). Позже технология улучшилась, и все работало и при подложке на нуле.
12V — открывает транзисторы в верхнем ключе, т.к.PMOS транзисторов нет, вместо верхнего PMOS — всегда открытый NMOS. А гарантированно открыть его во всех ситуациях можно от 10-12V на затворе. Вместо этих постоянно открытых транзисторов можно было бы просто поставить резисторы — но транзисторы меньше по площади.
-5V действительно подается на подложку, чтобы напряжение открытия транзисторов не уехало ниже нуля из-за загрязнения кремния ионами щелочных металлов (в самых ранних процессорах была такая проблема). Позже технология улучшилась, и все работало и при подложке на нуле.
12V — открывает транзисторы в верхнем ключе, т.к.PMOS транзисторов нет, вместо верхнего PMOS — всегда открытый NMOS. А гарантированно открыть его во всех ситуациях можно от 10-12V на затворе. Вместо этих постоянно открытых транзисторов можно было бы просто поставить резисторы — но транзисторы меньше по площади.
Вчера обнаружился 386sx вроде, и пара 286 amd. Может пригодятся?
То что вы делаете — это круто!
Но я никак не понимаю зачем?
Это голый энтузиазм или изощрённый пиар, который помогает найти клиентов с заказами на взлом реальных кристаллов и прошивок?
Но я никак не понимаю зачем?
Это голый энтузиазм или изощрённый пиар, который помогает найти клиентов с заказами на взлом реальных кристаллов и прошивок?
Мы просто любим колупаться в старом железе, а запасы деталей для них понемногу исчерпываются, вот и сидим, эмулируем в ПЛИС. А особо упоротыеувлеченные личности ковыряют кристаллы, выявляя их функционал для 100% эмуляции работы.
PS: У меня у самого под десяток спектрумов валяется, из которых с половину рабочие ;)
PS: У меня у самого под десяток спектрумов валяется, из которых с половину рабочие ;)
just for fun ;)
UFO just landed and posted this here
Sign up to leave a comment.
Реверс-инжениринг КР580ВМ80А / i8080 завершен