Форум Эму-Россия
http://forum.emu-russia.net/

64 квадратных миллиметров счастья
http://forum.emu-russia.net/viewtopic.php?f=13&t=4106
Страница 2 из 16

Автор:  org [ 27 май 2013, 09:31 ]
Заголовок сообщения:  Re: Как я процессор PSX разбирал

Спасибо за фотки!

Правильность расположения фотографии я не гарантирую )) Когда разламывал свой процессор - запутался где верх, а где низ, так что моя фотка на самом деле может быть вверх ногами или "на боку" ) Но это не страшно.

Главное - разобраться как тут формируются транзисторы. Как я понимаю слоев металла - 2. И не понятно как они соединяются с полисиликоном. Например такое впечатление, что тоненькие провода в логике просто "намазаны" сверху без всяких контактов.

-- 27 май 2013, 10:49 --

Михаил прислал пример фото на 20x, я немного покопал там.
Чип сделан по принципу CBIC (cell-based IC). То есть в некой среде (подозреваю что в SPICE) на базе "стандартных клеток" (standard cells) организованы ряды логических элементов с межсоединениями.
То есть задача разбора значительно упрощается тем, что достаточно разобрать стандартные блоки и узнать где у них хвост, где грива.

Естественно блоки памяти сделаны кастомно, вот тут написано как делается это на пальцах:
http://pdfsb.com/readonline/5a565241656 ... 68566b593d

Вложения:
1.jpg
1.jpg [ 273.04 КБ | Просмотров: 13993 ]

Автор:  org [ 27 май 2013, 15:56 ]
Заголовок сообщения:  Re: Процессор PSX

Сделал первичную разводку питания + обозначил контакты.
В первом приближении чип даже проще, чем 6502. Потому что разработка велась не руками, а в CAD. Соответственно и обратная разработка должна быть проще в плане восстановления блоков.

Изображение
(Картинка по ссылке 15 метров)

Территориально чип разделен на 4 большие части. По середине снизу-вверх идёт какой-то неидентифицированный толстый провод, похоже на RESET.

Автор:  edgbla [ 27 май 2013, 17:49 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Круто! :)
org, а пользу-то какую-нибудь получится извлечь?

Автор:  org [ 27 май 2013, 18:08 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Если получиться аккуратно снять по очереди два слоя металла, при этом не повредив полисиликон и добраться до слоя диффузии, то узнаем как работает проц. Верхний слой металла уже можно трассировать без проблем. Ждём фотки в 20x.
Меня интересует как работает GTE, остальное смотреть пока не планирую, ещё есть незаконченные дела с NES.

Автор:  Akari [ 27 май 2013, 18:47 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

edgbla писал(а):
Круто! :)
org, а пользу-то какую-нибудь получится извлечь?


Я, как главный затеватель декапа чипов PS1 хочу восстановить всю логическую схему, понять как он работает и, возможно, написать самый медленный эмулятор PSX из всех возможных =D

Главная цель - восстановить логическую схему.

Автор:  edgbla [ 27 май 2013, 19:14 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Отлично, частично нам значит по пути. :)

Автор:  Akari [ 28 май 2013, 12:24 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

edgbla писал(а):
Отлично, частично нам значит по пути. :)


А есть какой-нибуть список того что сейчас осталось спорного и непонятного в устройстве PS1? Чтобы в эту сторону копать в первую очередь?

Автор:  org [ 28 май 2013, 17:36 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Практически всё.
Особенно неизвестно назначение регистров тайминга и прочих регистров конфигруации, которые инициализируются при загрузке BIOS (так называемые "delay"-регистры).
Неизвестно назначение непонятного регистра 0xFFFE0130 (или как-то так), есть предположения что он управляет работой кеша.
Точные алгоритмы декодирования MDEC тоже неизвестны (таблица квантизации в частности).
Есть вопросы по root counters (хотя edgbla провёл исследование, всё равно интересно как они на самом деле работают).
Много пробелов в системном сопроцессоре (CP0). Ну и естественно GTE.
Поле для деятельности необъятное.

Автор:  Akari [ 03 июн 2013, 18:48 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Склейка процессора идет полным ходом. С моей стороны на данный момент склеено 106 картинок из 831 (примерно 1/8 чипа). Размер получается около 30000 пикселей на сторону.

Изображение

Орг разбил весь чип на 19 кусков и сейчас занят трассировкой куска 2-4. Ну думаю он сам лучше отпишется, когда будет что показать.

Изображение

Вложения:
7B10F9943EADC4671603A6BCC0D3CE34.jpg
7B10F9943EADC4671603A6BCC0D3CE34.jpg [ 178.54 КБ | Просмотров: 14126 ]
psxcpu.jpg
psxcpu.jpg [ 48.46 КБ | Просмотров: 14126 ]

Автор:  org [ 05 июн 2013, 15:41 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Рапортую о первых результатах трассировки подопечного кусочка 2-4, в левом-нижнем углу:

Изображение

Высокое разрешение : http://breaknes.com/files/PSX/24_trans.jpg

Трассировка ведется непринужденно, практически все провода - прямые. Небольшие проблемы вносят искажения после склейки, особенно коряво получились места помеченные белой волнистой линией - там беда.
Качество фотографии позволяет даже трассировать полисиликоновые межсоединения.
Прикол в том, что металл и полисиликон соединяются исключительно под прямым углом, поэтому разобраться куда ведет шланг не составляет труда.

4 больших квадратных блока - идентичные по структуре. Структурно каждый из этих 4 блоков поделен на 4 части : входная, контроль, логика и выходная. На входную логику поступает 16 x 4 входов, на выходе - 16 разрядов результата.
На контроль поступает ещё 4 шланга, при этом на одних блоках эти шланги отсоединены, а на одном - 2 шланга подведены на VCC.
_Очень_ похоже что это full adders x 4, если принять 4 контрольных входа за входные разряды переноса (carry)

Также я пометил ячейки с логикой, всего я насчитал порядка 230 штук. После того, как я пометил границы ячеек, стало понятней что с чем соединяется. Ячейки на самом деле не совсем "стандартные", а являются миксом CMOS-топологии, оптимизированной в ручную. То есть наверняка используются стандартные приемы, но в целом эти ячейки состоят из нескольких вентилей, объединенных в один блок. По крайней мере 2-х одинаковых ячеек я не нашёл.

Теперь стало совершенно понятно, что у процессора нет четких границ между функциональными блоками и схема равномерно "размазана" между ячейками, которые соединены между собой металл/полисиликоновыми межсоединениями.

Кстати, если примерно масштабировать количество ячеек на весь процессор, то получается около 10000 ячеек.
Если примерно прикинуть, что на каждую ячейку приходится по 5-6 логических вентилей, а в каждом вентиле - по 4-5 транзисторов, то получается что вся логика процессора составляет примерно 250к транзисторов (сравнить с 3500 транзисторами MOS 6502).

Автор:  BarsMonster [ 05 июн 2013, 15:45 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Для того, чтобы было меньше искажений на стыке кадров, и нужно было запрещать поворот картинок при оптимизации в Hugin-е.

-- 05 Jun 2013, 15:47 --

org писал(а):
4 больших квадратных блока - идентичные по структуре. Структурно каждый из этих 4 блоков поделен на 4 части : входная, контроль, логика и выходная. На входную логику поступает 16 x 4 входов, на выходе - 16 разрядов результата.
На контроль поступает ещё 4 шланга, при этом на одних блоках эти шланги отсоединены, а на одном - 2 шланга подведены на VCC.
_Очень_ похоже что это full adders x 4, если принять 4 контрольных входа за входные разряды переноса (carry)


Я бы скорее сказал, что это регистровые файлы какие-то или многопортовая память.
Full-adder-ы гораздо меньше по площади должны быть.

Автор:  org [ 05 июн 2013, 16:09 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Было подозрение что это 16 x 4 регистра GTE, но тогда зачем столько входов ?
У регистра обычно один вход, один выход и 2 управляющих провода (Get/Set).
К тому же я имею ввиду что это не обычные full addres Z = A + B + carry , а full addres x 4 : Z = A + B + C + D + carry1 + carry2 + carry3 + carry4.
Дело в том, что у GTE частенько используется умножение матрицы на вектор : MAC1=A1[TRX + R11*VX0 + R12*VY0 + R13*VZ0]

Хотя тогда должны быть Carry out выходы ещё.

Цитата:
Для того, чтобы было меньше искажений на стыке кадров, и нужно было запрещать поворот картинок при оптимизации в Hugin-е.
Без поворота ещё хуже получалось :(

Автор:  BarsMonster [ 05 июн 2013, 16:17 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Цитата:
Без поворота ещё хуже получалось :(

В таком случае возникнут серьёзные проблемы с совмещением последующих слоев - там ведь тоже будут нестыковки, но уже другие...

Автор:  org [ 05 июн 2013, 17:37 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Если делать по кусочкам, то все будет хорошо. Практической пользы в полноразмерной фотке всего кристалла нет. Ибо при рисовании транзисторных схем всё равно приходится дробить картинку на более мелкие части.
Так же и с нижним слоем - ищем подходящий кусок под верхний, склеиваем, вставляем в фотошоп и трансформированием примерно подгоняем нижний слой под верхний.

PS. Не забывайте что логика идёт стройными рядами, это дополнительная подсказка, чтобы найти нужную ячейку.

Топология это только верхушка айсберга.

Автор:  EvGS [ 05 июн 2013, 18:39 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

org, а не отправить ли на декап дендевские 6527P и 6538?
HardWareMan думаю без проблем сможет их выслать к zeptobars, если получит согласие.
У меня на текущий момент нет свободных 6538, а те что есть - битые

Автор:  HardWareMan [ 05 июн 2013, 19:13 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Меня интересует весь дендик (именно дендик, т.е 6527 и 6538), но ППУ (6538) меня интересует вперед.

Автор:  Гость [ 06 июн 2013, 00:31 ]
Заголовок сообщения:  Re: Как я процессор PSX разбирал

задача в принципе понятна и осуществима.
org писал(а):
Главное - разобраться как тут формируются транзисторы. Как я понимаю слоев металла - 2. И не понятно как они соединяются с полисиликоном. Например такое впечатление, что тоненькие провода в логике просто "намазаны" сверху без всяких контактов.

нужна бОльшая детализация для распознавания транзисторов, их размеров, связей и т.д.
если будут фотографии, готов помочь с участками логики.

Комментарий к этой фотке download/file.php?id=782&mode=view
1. В техпроцессах нумерация металлов происходим снизу вверх:
самый нижний - металл 1 - М1
выше - металл 2 - М2 и т.д.
В данной фотке: M1 - положили горизонтально, М2 - вертикально.
2. Твои розовые полоски - это тоже металл, М1.
Потому что расположены параллельно с линиями VCC, GND. И соединяются сразу с верхним металлом М2.
3. Надо различать контакты между "M1 и poly" и "M1 и M2". Пока-что у тебя все черными "виасами" соединяется.

Автор:  org [ 06 июн 2013, 10:27 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Цитата:
2. Твои розовые полоски - это тоже металл, М1.
Потому что расположены параллельно с линиями VCC, GND. И соединяются сразу с верхним металлом М2.

Было подозрение что это металл 1, но уверенности не было. Исправить в фотошопе можно быстро. Тогда и виасы черного цвета будут только между M1 и M2.

Обозначение M1/M2 не принципиально для наших целей) Но будем тогда придерживаться общепринятому обществом стандарту.

Автор:  kampaster [ 06 июн 2013, 12:34 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Добрый день!
Я попал на этот форум с хабра, точнее после прочтения этой новости: http://habrahabr.ru/post/182286/
Там написано что Вам нужны лишние руки.
Цитата:
Тем не менее — работы ожидается очень много — и дополнительные руки очень не помешают. Если вам этот проект интересен, вы усидчивы, и у вашего компьютера больше 2Гб памяти — вы также можете поучаствовать.

По критериям подхожу =)
Проект мне интересен, хочу помочь.

Автор:  Amber de Black [ 06 июн 2013, 13:51 ]
Заголовок сообщения:  Re: 8 квадратных миллиметров счастья

Здравствуйте, я тоже хабра, хочу помочь.

PS: Кстати у меня на руках должна быть уже нерабочая PS1 96-го года выпуска (надо порыться в шкафу). Если это как-то поможет, могу её отдать на растерзание.

Страница 2 из 16 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/