Сообщения без ответов | Активные темы Текущее время: 28 мар 2024, 16:22



Ответить на тему  [ Сообщений: 305 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 16  След.
 64 квадратных миллиметров счастья 
Автор Сообщение
Сообщение 26 дек 2013, 02:58
Отличная работа, org. Но иногда складывается ощущение, что ты не человек и вместо половины лица у тебя металл ^_^
Пройдя курс электроники в универе ооочень отдаленно понимаю, как ты все это делаешь. И масштабы действия удивляют


Сообщение 28 дек 2013, 19:21
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Новейшие находки:

Мы уже почти со 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


Сообщение 03 янв 2014, 05:15
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Изображение Контакт шины данных DD.


Сообщение 03 янв 2014, 20:38
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Сбацал небольшой мануал, который поможет понять суть происходящего.

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


Сообщение 05 янв 2014, 01:48
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
В раздел Скачать (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


Сообщение 10 янв 2014, 01:32
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Разобрана схема очередного блока памяти - 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 КБ | Просмотров: 13020 ]
unit00_logisim.png
unit00_logisim.png [ 236.08 КБ | Просмотров: 13020 ]
unit00_gap.jpg
unit00_gap.jpg [ 70.83 КБ | Просмотров: 13020 ]
unit00_io_enable.jpg
unit00_io_enable.jpg [ 121.95 КБ | Просмотров: 13020 ]
unit00_decoder2.jpg
unit00_decoder2.jpg [ 49.97 КБ | Просмотров: 13020 ]
unit00_decoder1_logisim.png
unit00_decoder1_logisim.png [ 11.48 КБ | Просмотров: 13020 ]
unit00_decoder1.jpg
unit00_decoder1.jpg [ 122.38 КБ | Просмотров: 13020 ]
unit00_cell.jpg
unit00_cell.jpg [ 115.79 КБ | Просмотров: 13020 ]
Сообщение 10 янв 2014, 10:09
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Кажется я нашёл алгоритм, по которому производился роутинг М1/M2 :

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

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


Вложения:
yacr2.zip [31.39 КБ]
Скачиваний: 324
Сообщение 10 янв 2014, 23:02
Профиль

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


Сообщение 11 янв 2014, 01:04
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
А мы и не будем обратно, прямым перебором можно попробовать) Заданная сеть связей - это контакты ячеек.


Сообщение 11 янв 2014, 18:03
Профиль

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


Сообщение 12 янв 2014, 22:50
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
В общих чертах разобрались как работает 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 бит со знаком.

Изображение


Сообщение 14 янв 2014, 12:45
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Очередной блок, на этот раз Unit-01.

Изображение

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

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

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


Сообщение 02 фев 2014, 11:04
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Прошло уже 2 месяца с тех пор как я начал разбирать ячейки в MDEC угле чипа. Исследованная область сейчас примерно такая:

Изображение

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

Изображение


Сообщение 11 фев 2014, 01:11
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Доступ к информации по стандартным ячейкам в обновленном формате:

http://psxdev.ru/cells

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


Вложения:
cells_module.jpg
cells_module.jpg [ 117.84 КБ | Просмотров: 12719 ]
Сообщение 14 фев 2014, 13:44
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Набросал куда идут разные сигналы на моем куске

Изображение


Сообщение 03 мар 2014, 19:13
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Прошло уже 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 КБ | Просмотров: 12542 ]
part4.jpg
part4.jpg [ 296.13 КБ | Просмотров: 12542 ]
part3.jpg
part3.jpg [ 425.29 КБ | Просмотров: 12542 ]
part2.jpg
part2.jpg [ 374.65 КБ | Просмотров: 12542 ]
part1.jpg
part1.jpg [ 406.99 КБ | Просмотров: 12542 ]
Сообщение 08 мар 2014, 07:58
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Закончил очередной ряд выходных элементов с юнита 03. На этот раз это были тристейты.
Изображение

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


Вложения:
UNIT_03.jpg
UNIT_03.jpg [ 68.55 КБ | Просмотров: 12474 ]
Сообщение 08 мар 2014, 19:04
Профиль

Зарегистрирован:
19 июн 2013, 10:59
Сообщения: 30
А сайт почините?


Сообщение 10 мар 2014, 15:22
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Gloval писал(а):
А сайт почините?


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


Сообщение 18 мар 2014, 15:36
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Закончил переход на новый принцип работы с картинками и закончил трассировать входы на юниты 00 и 04 с матрицей скейла. Все в основном сосредоточено в 04 куске, который расположен справа от юнита 03, назначение которого пока неизвестно.

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

Изображение

Изображение


Вложения:
part4_2.jpg
part4_2.jpg [ 380.96 КБ | Просмотров: 12365 ]
STMU_IN_2.jpg
STMU_IN_2.jpg [ 254.68 КБ | Просмотров: 12365 ]
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 305 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 16  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB