Сообщения без ответов | Активные темы Текущее время: 29 мар 2024, 19:05



Ответить на тему  [ Сообщений: 305 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 16  След.
 64 квадратных миллиметров счастья 
Автор Сообщение
Сообщение 17 сен 2013, 11:03
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Аттачи смотреть снизу-вверх.

Методом сравнения мне удалось получить М1 для "херни с ушками".

У этой штуки два входа (помечены красным) и один выход (зеленый).

Инвертор, который находится над схемой иногда используется, иногда нет, я пока не выяснил как он подключается, поэтому оставил обрывы. (и подключается ли вообще).

Поскольку этот блок используется довольно часто, при этом именно в виде этих трёх ячеек, то есть предположение, что это RS-триггер. (2 входа - set/reset, 1 выход - текущее значение).

EDIT: ну во первых сразу узнаем, что верхняя шляпа - это демультиплексор.

EDIT: во вторых замечаем, что если MUX = 0, то нижняя часть отсоединяется, а верхняя просто выдает наружу текущее значение триггера. Напрашивается мысль, что это тактируемый RS-триггер, а вход MUX как раз заведен на CLK. Поэтому когда CLK = 0 - текущее значение не меняется. Разберем нижнюю часть.

-- 17 сен 2013, 11:47 --

Короче как оказалось это тактируемый D-триггер (триггер задержки).

состоит из двух защелок.

Во время T=0 защелка1 принимает значение D, а защелка2 выдает наружу старое значение Y
Во время Т=1 защелка1 выдает наружу D, которое поступает на защелку2 и выходит как Y.
во время следующего Т=0 на выходе Y также будет значение D.

потом опять заново.

http://wiki.psxdev.ru/index.php/CPU_DTRIG


Вложения:
dtrigger_T0.jpg
dtrigger_T0.jpg [ 99.41 КБ | Просмотров: 13613 ]
dtrigger_T1.jpg
dtrigger_T1.jpg [ 98.21 КБ | Просмотров: 13613 ]
mux0_out1.jpg
mux0_out1.jpg [ 98.99 КБ | Просмотров: 13616 ]
mux0_out0.jpg
mux0_out0.jpg [ 98.22 КБ | Просмотров: 13616 ]
latch_mux0.jpg
latch_mux0.jpg [ 93.53 КБ | Просмотров: 13617 ]
latch_mux1.jpg
latch_mux1.jpg [ 92.69 КБ | Просмотров: 13617 ]
hernja.jpg
hernja.jpg [ 74.66 КБ | Просмотров: 13618 ]
Сообщение 08 окт 2013, 19:51
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
В разработке онлайн-приложение для совместного реверса чипов - кодовое название Chiptunes

http://psxdev.ru/chiptunes/


Сообщение 09 окт 2013, 14:27
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Закачал на Google Drive все 2901 фотку, нижнего слоя PSX CPU:

https://plus.google.com/117266572649711 ... yYdXZFXqvW


Сообщение 16 окт 2013, 17:10
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
немного копнул кусок 02.

выяснилось что D-триггеры объединенные в связи по тактовой пуповине формируют своего рода регистры.

Выходы с этих регистров идут в квадратные блоки.

На картинке представлены 2 регистра - 16 и 32-битный.
что это за регистры пока не известно.

что делают квадратные блоки тоже по прежнему не известно.

+ бонус - распределение D-триггеров в моем куске )) их очень много


Вложения:
02.jpg
02.jpg [ 131.77 КБ | Просмотров: 13446 ]
registers.jpg
registers.jpg [ 346.2 КБ | Просмотров: 13446 ]
Сообщение 29 окт 2013, 17:43
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Андрей обнаружил ещё одну стандартную ячейку, которая проглядывает. Пытаемся восстановить. Пока сомнительное предположение что это 2-demux-4 (ab => 0001, 0010, 0100, 1000 )


Вложения:
24demux.jpg
24demux.jpg [ 41.67 КБ | Просмотров: 13375 ]
Сообщение 31 окт 2013, 14:11
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Второй американский декапер всё подготовил для фотографирования чипов. На картинке - лого GPU, который кстати ещё никто не вскрывал. Внутри GPU - не отличается от CPU.

Ну а мы продоложаем мучать новый блок. С топологией разобрались и выяснили очень удивительные и непривычные вещи : оказывается входы CMOS могут идти на диффузию %)
Вначале подумали что это наш косяк, но после анализа схемы и перестройки мозга оказалось что это так и есть )))
Нижняя часть блока имеет 2 входа (in1, in2) и 2 внутренних выхода (b и с).
Логическая функция b = xor, c = xnor.

Значение xor/xnor идут на верхнюю часть, которая имеет три выхода.

Сами по себе эти блоки организуют цепочку, подозрительно похожую на carry chain. И очень похоже что carry предыдущей операции хранится на триггере и используется для текущей (то есть влияет на нижнюю часть схемы, где вычисляется xor / xnor )

Вообщем все факты намекают что это какой-то сумматор (или просто adder или full adder), но всё может поменяться :)

-- 31 окт 2013, 16:00 --

Ну вобщем разобрались.

out3 оказался на самом деле входом in3 (это видно по анализу транзисторной схемы - на него не подавалась земли/нагрузки изнутри)

Ну а сам элемент - это Full Adder.

Код:
in1 in2 bc                out1 out2
0   0   01   b = 0, c = 1    in2  in3
0   1   10   b = 1, c = 0    in3  !in3
1   0   10   b = 1, c = 0    in3  !in3
1   1   01   b = 0, c = 1    in2  in3

in1 in2 in3 |    out1 out2
0   0   0   |   0    0   
0   0   1   |   0    1
0   1   0   |   0    1
0   1   1   |   1    0
1   0   0   |   0    1
1   0   1   |   1    0
1   1   0   |   1    0
1   1   1   |   1    1


in1 = a
in2 = b
in3 = carry_in
out1 = carry_out
out2 = sum

:yahoo:


Вложения:
full_adder_truth_table.jpg
full_adder_truth_table.jpg [ 28.07 КБ | Просмотров: 13257 ]
full_adder.jpg
full_adder.jpg [ 72.52 КБ | Просмотров: 13257 ]
Комментарий к файлу: нижняя часть
flow_lowpart.jpg
flow_lowpart.jpg [ 175.9 КБ | Просмотров: 13271 ]
Комментарий к файлу: GPU
logo_mit20x.jpg
logo_mit20x.jpg [ 442.65 КБ | Просмотров: 13271 ]
Сообщение 05 ноя 2013, 14:43
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Half adder:

Изображение

http://wiki.psxdev.ru/index.php/CPU_HALF_ADDER


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

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

Изображение

http://wiki.psxdev.ru/index.php/CPU_MUX


Сообщение 06 ноя 2013, 16:07
Профиль ICQ WWW
Аватара пользователя

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

Предварительно - это либо двунаправленный регистр сдвига, либо Up/Down counter.
В любом случае - это какая-то 4-х разрядная херь (видно что она состоит из 4х одинаковых субюнитов, которые фидят друг друга по цепочке).

-- 06 ноя 2013, 17:22 --

Транзисторная схема восстановлена, и часть логики тоже.

Похоже это "обертка" для организации регистра сдвига.

Если принять что C1 = D1, а С2 = D2, при этом оба эти сигнала представляют собой полутакты CLK.
А если прикрепить к выходам 1/2/3 каждого каскада D-триггеры (при этом 1 и 2 идут с выхода !Q, а 3 - идёт на вход D), то по идее должен получиться 4-х разрядный регистр сдвига.

ЗЫ. На выходе 3 стоят инверторы, так что инвертированный выход !Q D-триггера становится прямым входом на D, при выходе с 3.


Вложения:
kolbasa_trans.jpg
kolbasa_trans.jpg [ 110.83 КБ | Просмотров: 13038 ]
kolbasa_flow.jpg
kolbasa_flow.jpg [ 42.01 КБ | Просмотров: 13038 ]
D1_D2_flow.jpg
D1_D2_flow.jpg [ 139.77 КБ | Просмотров: 13038 ]
C1_C2_flow.jpg
C1_C2_flow.jpg [ 91.57 КБ | Просмотров: 13038 ]
kolbasa.jpg
kolbasa.jpg [ 141.53 КБ | Просмотров: 13049 ]
Сообщение 07 ноя 2013, 09:20
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Выяснилось, что контакты 1-2-3 соединяются с чем попало (аддеры, другие такие же колбасы), а выходы in-out могут организовывать цепочки из таких колбас.

После некоторых раздумий я пришёл к выводу что скорее всего это pipeline - конвеер операций, чтобы разделить по тактам очередность действий.
(не тот pipeline, который лежит в основе RISC, а вообще генерализованная структура, для обработки вычислений, которые занимают больше 1 такта).

Контакты C1/C2 и D1/D2 к сожалению уходят в необозримые дали, поэтому проверить - соединяется ли C1+D1 и C2+D2 пока нет возможности.

Поэтому стандартная ячейка пока получает метку "PIPELINE", до разбирательств )

http://wiki.psxdev.ru/index.php/CPU_PIPELINE


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

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
- Получили в hires фотку SUB-CPU

Изображение

- Получили слайды GPU (старой версии)

- открылся наш англоговорящий форум http://board.psxdev.ru/

+ много чего ещё, см. http://psxdev.ru :)


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

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Код:
in1 in2 in3    out1 out2
0   0   0      0    0
0   0   1      0    0
0   1   0      1    0
0   1   1      0    1
1   0   0      0    0
1   0   1      0    1
1   1   0      0    1
1   1   1      1    1


кто знает что это за функция? всю голову сломал))

-- 23 ноя 2013, 05:41 --

отбой, надо поспать)))


Сообщение 23 ноя 2013, 10:02
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
out1 = not(int 1 xor int3) and int2
out2 = (int1 and int2) or (int1 and int3) or (int2 and int3)
:3

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


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

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Целая пачка стандартных ячеек (и ещё намечаются) :

BUF: Изображение
BUF2X: Изображение
NOT2: Изображение
NOT3: Изображение
XNOR: Изображение

http://wiki.psxdev.ru/index.php/CPU_CELLS

Общее количество найденных ячеек на данный момент составляет 72 :

Изображение

Такое больше количество обусловлено тем, что одна ячейка может иметь разное количество "лошадиных сил" (drive strength).
Это достигается наращиванием количества транзисторов в выходном инверторе.


Сообщение 27 ноя 2013, 16:16
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
D latch : Изображение

Регистр сдвига : Изображение

-- 27 ноя 2013, 15:18 --

Начат тайлмаповый реверсинг : http://psxdev.ru/files/IC103/cpu_tilemap.htm


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

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
первая схема :

http://wiki.psxdev.ru/index.php/CPU_CIRCUIT_000


Сообщение 02 дек 2013, 15:13
Профиль

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

Я сейчас перерисовываю по новому. поэтому пока только большая вязь фрипфлопов нанизаных на тактовый сигнал )

Все нарисованные входы идут с полных сумматоров.


Вложения:
psxcpu_part01-03-04_part.jpg
psxcpu_part01-03-04_part.jpg [ 614.24 КБ | Просмотров: 11837 ]
Сообщение 02 дек 2013, 17:27
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
У меня такая же история приключилась в правом нижнем углу куска 02 :)

http://psxdev.ru/files/IC103/svg/c0010_r0005.svg


Сообщение 06 дек 2013, 00:21
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Количество ячеек перевалило за 100 (всего их 105 уже).

Запустил проект на Google Code, чтобы хранить там векторные данные : https://code.google.com/p/psxdev/

Небольшой прогресс в изучении схемы SIO, обнаружился выходной регистр сдвига, с которого уходит значение TX, а также провод-отсекатель, очень похожий на сигнал TXEN (TX enable), который обнуляет выход регистра сдвига, если TXEN = 0.

Андрюха, думаю за себя отпишет :crazy:


Вложения:
cells.png
cells.png [ 1.11 МБ | Просмотров: 12095 ]
TXD1_001.jpg
TXD1_001.jpg [ 73.3 КБ | Просмотров: 12095 ]
Сообщение 06 дек 2013, 14:55
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Угу, отпишусь )

У меня творится ад и содомия. Без нижнего металла нет 100%ной уверенности в том что все провода отслежены правильно. Определенная логика в расположении элементов есть, но в целом мрак. Видно что схема состоит из 2х частей, связанных только клоком и пайплайнами. Есмть подозрение что это какая-то операция с матрицей (то ли перемножение из. толи умножение на вектор, то ли еще что).


Вложения:
1.png
1.png [ 105.75 КБ | Просмотров: 11731 ]
psxcpu_part01-03-04_part.jpg
psxcpu_part01-03-04_part.jpg [ 1.19 МБ | Просмотров: 11731 ]
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 305 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 16  След.

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

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


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

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