Вы когда-нибудь задумывались, как работают чипы и алгоритмы, которые заставляли все эти хиты электронной музыки? Мы тоже!
В The Usual Suspects мы создаем эмуляции с открытым исходным кодом из известного музыкального оборудования, синтезаторов и ударных блоков. После выпуска некоторых эмуляций устройств вокруг чипа Motorola 563xx DSP мы сделали дальнейшие шаги в обратную инженерию пользовательских кремниевых чипов, чтобы достичь того, что никто не делал раньше: реальную низкоуровневую эмуляцию JP-8000. Этот знаменитый синтезатор показал специальный алгоритм осциллятора «SuperSaw», который определил целое поколение электронной и трансовой музыки. Основным препятствием была эмуляция 4 пользовательских чипов DSP, используемых устройством, которые запускали программное обеспечение, написанное с полностью недокументированным набором инструкций. В этом разговоре я расскажу историю о том, как мы преодолели это препятствие, используя смесь автоматизированного кремниевого обратного инжиниринга, зондирования чипа с помощью Arduino, статистического анализа кодов и размахивания. Наконец, я расскажу о том, как мы заставили эмулятор работать в режиме реального времени, используя JIT, и о том, что мы обнаружили, глядя на код SuperSaw.
Этот разговор является продолжением моего прошлогоднего выступления "Власть кремниевых ИС и сомнительные маркетинговые претензии? Давайте бороться с теми, у кого есть микроскоп!», где я показал, как я перепроектировал довольно старое устройство (1986), глядя на микроскопические кремниевые фотографии в одиночку, с ручным отслеживанием и некоторыми пользовательскими инструментами. Тогда я утверждал, что взглянуть на более современное устройство будет намного сложнее из-за возросшей сложности.
На этот раз, на самом деле, я перепроектировал гораздо более современный чип: пользовательский чип Roland/Toshiba TC170C140 ESP (1995). Выполнение этой задачи требует другого подхода, так как выполнение этого вручную потребовало бы слишком много времени. Мы использовали управляемый автоматизированный подход, который сочетает в себе умную микроскопию с компьютерным зрением, чтобы автоматически классифицировать стандартные ячейки в чипе, экономя большую часть ручной работы.
Самая большая победа пришла из непосредственного зондирования чипа: используя процедуры тестирования и отправляя случайные данные на чип, мы выяснили, как работают внутренние регистры, медленно давая нам представление о кодировании чипа ISA. Объединив эти два подхода, нам удалось создать немного точный эмулятор, который также способен работать в режиме реального времени с помощью JIT.
В этом выступлении я хочу затронуть следующие темы:
- Что я узнал с момента моего предыдущего выступления, глядя на более сложные чипсы
- На пути автоматизации кремниевого процесса обратного инжиниринга
Как найти и использовать тестовые режимы, чтобы понять, как работает материал
- Как мы обманули чипсы, чтобы раскрыть свои секреты
Как работает чип ESP, по сравнению с существующими чипами DSP
- Как оказался колсиллатор SuperSaw, чтобы работать
Лицензия для общественности в соответствии с
http://creativecommons.org/licenses/by/4.0
Have you ever wondered how the chips and algorithms that made all those electronic music hits work? Us too! At The Usual Suspects we cre...
media.ccc.de