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

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

Автор:  Гость [ 26 дек 2013, 02:58 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Отличная работа, org. Но иногда складывается ощущение, что ты не человек и вместо половины лица у тебя металл ^_^
Пройдя курс электроники в универе ооочень отдаленно понимаю, как ты все это делаешь. И масштабы действия удивляют

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

Новейшие находки:

Мы уже почти со 100% уверенностью можем сказать что мой кусок это часть MDEC декодера.

1) Scale Table Matrix хранится в нулевом Юните. Она хранится в виде 32 записей по 26 бит. После выхода данные попарно поступают на мультиплексоры где выбирается какие 13 бит использовать. (внизу картинки).

2) Результат всех этих вычислений 17битный. Он снова подается на эту же схему вычислений справа. Паралельно 13 бит этог8о результата сохраняются в первый юнит. Это единственный результат вычислений который покидает пределы схемы.

3) Помимо Scale Table Matrix и результат вычислений есть еще 6 входных бит. Но откуда они берутся пока неясно.

4) Выходы нулевого юнита помимо этой схемы идут куда-то еще. Пока непонятно куда

Изображение

Full version are here http://wiki.psxdev.ru/images/4/4f/Circuit002_logic.jpg

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

Изображение Контакт шины данных DD.

Автор:  org [ 03 янв 2014, 20:38 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Сбацал небольшой мануал, который поможет понять суть происходящего.

http://wiki.psxdev.ru/index.php/%D0%9F% ... 1%80%D1%8B

Автор:  org [ 05 янв 2014, 01:48 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

В раздел Скачать (http://psxdev.ru/download) выложены склееные фотографии активного слоя PSX CPU. Исходные 9 ГБ ужались до 220 МБ :D

Теперь работать со стандартными ячейками стало гораздо удобнее.

Следующей задачей является идентификация всех ячеек, параллельно ведется подсчёт их количества. В результате всего массив данных ужмется ещё сильнее и составит каких-то 100 КБ текста (тип ячейки + координаты) из которого можно будет сгенерировать любой участок процессора.

Пример идентификации ячеек можно посмотреть тут : http://psxdev.ru/files/IC103/psxcpu_active_03_06.svg (загружается не сразу!). Видно, что не все области хорошо просматриваются за пятнами грязи, эти участки мы восстановим потом, на базе фотографий М1 (которые тоже ещё предстоит сшить).

PS. По стандартным ячейкам прогресс можно смотреть тут : http://wiki.psxdev.ru/index.php/CPU_CELLS

Автор:  org [ 10 янв 2014, 01:32 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Разобрана схема очередного блока памяти - Unit-00.

Этот блок содержит таблицу IDCT Scale Table в виде 64 спаренных 13-разрядных слов.

Схема не просто получена, но ещё и просимулирована в симуляторе Logisim.

-- 10 янв 2014, 00:33 --



-- 10 янв 2014, 00:33 --



-- 10 янв 2014, 00:35 --



Вложения:
unit00_tristate.jpg
unit00_tristate.jpg [ 88.77 КБ | Просмотров: 13104 ]
unit00_logisim.png
unit00_logisim.png [ 236.08 КБ | Просмотров: 13104 ]
unit00_gap.jpg
unit00_gap.jpg [ 70.83 КБ | Просмотров: 13104 ]
unit00_io_enable.jpg
unit00_io_enable.jpg [ 121.95 КБ | Просмотров: 13104 ]
unit00_decoder2.jpg
unit00_decoder2.jpg [ 49.97 КБ | Просмотров: 13104 ]
unit00_decoder1_logisim.png
unit00_decoder1_logisim.png [ 11.48 КБ | Просмотров: 13104 ]
unit00_decoder1.jpg
unit00_decoder1.jpg [ 122.38 КБ | Просмотров: 13104 ]
unit00_cell.jpg
unit00_cell.jpg [ 115.79 КБ | Просмотров: 13104 ]

Автор:  org [ 10 янв 2014, 10:09 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Кажется я нашёл алгоритм, по которому производился роутинг М1/M2 :

http://en.wikipedia.org/wiki/Channel_router

И даже исходники роутера нашёл. Возможно что даже не придётся трассировать роутинг, а просто хакнуть алгоритм трассировки и можно будет пересобрать все ячейки)

Вложения:
yacr2.zip [31.39 КБ]
Скачиваний: 330

Автор:  Gloval [ 10 янв 2014, 23:02 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Обратный процесс трассировки невозможен, как невозможно по сумме узнать слагаемые. Перед трассировкой у трассировщика уже есть заданная сеть связей. На нее он опирается раскладывая дорожки, без нее он просто не разложит ничего, плюсп путей из А в Б много возможных.

Автор:  org [ 11 янв 2014, 01:04 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

А мы и не будем обратно, прямым перебором можно попробовать) Заданная сеть связей - это контакты ячеек.

Автор:  Gloval [ 11 янв 2014, 18:03 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

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

Автор:  Akari [ 12 янв 2014, 22:50 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

В общих чертах разобрались как работает IDCT преобразование в MDEC. Матричное умножение еще предстоит симулировать чтобы понять его досконально. но кое какие результаты уже есть.

Преобразование осуществляется за 2 прохода:

1) На первом проходе осуществляется умножение результата RLE декомпрессии и Scale Table Matrix хранящейся в UNIT 00. Она хранится в виде 32 записей по 26 бит. После выхода данные попарно поступают на мультиплексоры где выбирается какие 13 бит использовать.

Изображение

Входы:
- RLE вход: 12 бит
- Scale Table Matrix вход: 13 бит
- Сумма предыдущего этапа вычисления: 17 бит

Схема сразу умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

В конце вычисления старшие 13 бит результата сохраняются в UNIT 01, который, по всей видимости, представляет из себя двухпортовую память. то есть на вход и выход которой могут подаватся разные значения.

2) На втором проходе перемножается уже 13 бит результата первого прохода и 12 верхних бит Scale Table Matrix.

Изображение

Входы:
- Результат первого прохода: 13 бит
- Scale Table Matrix вход: верхние 12 бит
- Сумма предыдущего этапа вычисления: 17 бит

Схема вновь умножает 2 входа и суммирует умножение с результатом предыдущего шага вычисления. 17 бит результата вновь подается на схему.

В конце вычисления старшие 10 бит результата передаются на схему знакового деления на 2 с клампингом -128, 127. На выходе мы получаем 8 бит со знаком.

Изображение

Автор:  org [ 14 янв 2014, 12:45 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Очередной блок, на этот раз Unit-01.

Изображение

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

Это обычная память, организованная в виде 16 13-разрядных слов, но с одной особенностью: ячейки имеют разделенный ввод/вывод. То есть для входа может быть выбрана одна ячейка, а для выхода - другая. Это нужно для того чтобы организовать распределенное умножение IDCT в 2 прохода. Пока один проход использует один промежуточный результат (8 значений), второй проход использует другой (другие 8 значений).

Поэтому используется 2 декодера 4-в-16: один для выходного значения, другой для входного.

Автор:  Akari [ 02 фев 2014, 11:04 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Прошло уже 2 месяца с тех пор как я начал разбирать ячейки в MDEC угле чипа. Исследованная область сейчас примерно такая:

Изображение

На данный момент происходит разбор схемы управления IDCT преобразованием:

Изображение

Автор:  org [ 11 фев 2014, 01:11 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Доступ к информации по стандартным ячейкам в обновленном формате:

http://psxdev.ru/cells

Мы выбрали удобную схему для идентификации ячеек по их cell features, также дополнительно все ячейки будут обновлены каркасными картинками М1.
Информация будет потихоньку перетаскиваться из разных мест (вики, SVN итп.) на эту страничку.

Вложения:
cells_module.jpg
cells_module.jpg [ 117.84 КБ | Просмотров: 12803 ]

Автор:  Akari [ 14 фев 2014, 13:44 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Набросал куда идут разные сигналы на моем куске

Изображение

Автор:  Akari [ 03 мар 2014, 19:13 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Прошло уже 3 месяца с тех пор как я начал разбор своего куска 00, на котором расположен MDEC. Пришла пора показать насколько далеко я продвинулся.

На данный момент весь фронт работ занимает 5 отдельных кусков жопегов, по которым я расставляю исследуемые оргом ячейки. Практически полностью удалось завершить IDCT преобразование и сейчас я направился вниз, к юниту 03 и 04, к участкам, которые видимо выполняют RLE.

Итак, отчет оп датам:
1) За декабрь удалось сделать первый проход IDCT.

Изображение

Кроме IDCT по схеме еще ползут линии для пинов данных.

2) Весь январь ушел на второй проход IDCT и на начало разбора контроля этим преобразованием.

Изображение

Была сделана попытка просимулировать оба прохода умножения, но пока не особо удачная. Логическая схема IDCT представляет из себя что-то вроде этого

Изображение

3) Февраль был проведен за попыткой симуляции контроля и дальнейшим его разбиранием. Очень много линий контроля уходят куда-то вдаль и пока их назначение остается неизвестным.

Изображение

Сейчас я решил двинутся вниз и разобрать ячейки возле юнита 03, который пока не связан напрямую с MDEC, но я полагаю что он является частью RLE и скоро мы увидим как из него данные пойдут в IDCT.

Изображение

Вложения:
IDCT.jpg
IDCT.jpg [ 168.96 КБ | Просмотров: 12626 ]
part4.jpg
part4.jpg [ 296.13 КБ | Просмотров: 12626 ]
part3.jpg
part3.jpg [ 425.29 КБ | Просмотров: 12626 ]
part2.jpg
part2.jpg [ 374.65 КБ | Просмотров: 12626 ]
part1.jpg
part1.jpg [ 406.99 КБ | Просмотров: 12626 ]

Автор:  Akari [ 08 мар 2014, 07:58 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Закончил очередной ряд выходных элементов с юнита 03. На этот раз это были тристейты.
Изображение

Выходы с этих тристейтов идут сразу в 2 направления. На триггера чуть вверху и куда-то шибко влево, в еще неизведанные области чипа.

Вложения:
UNIT_03.jpg
UNIT_03.jpg [ 68.55 КБ | Просмотров: 12558 ]

Автор:  Gloval [ 08 мар 2014, 19:04 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

А сайт почините?

Автор:  Akari [ 10 мар 2014, 15:22 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Gloval писал(а):
А сайт почините?


Все заработало.

Автор:  Akari [ 18 мар 2014, 15:36 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Закончил переход на новый принцип работы с картинками и закончил трассировать входы на юниты 00 и 04 с матрицей скейла. Все в основном сосредоточено в 04 куске, который расположен справа от юнита 03, назначение которого пока неизвестно.

В ячейках матрицы 00, которая используется непоследственно в умножении всего 13 бит на число, в то время как в ячейках матрицы в 04 - 16 бит на число. Видимо в 04 юните происходит финальное вычисление матрицы, которая потом передается в юнит 00.

Изображение

Изображение

Вложения:
part4_2.jpg
part4_2.jpg [ 380.96 КБ | Просмотров: 12449 ]
STMU_IN_2.jpg
STMU_IN_2.jpg [ 254.68 КБ | Просмотров: 12449 ]

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