Моделирование уровня транзистора 6502


Возьми процессор. Срежьте с упаковки верхнюю часть. Сфотографируйте голый чип через микроскоп. Оцифруйте результат. На основе этого создайте моделирование компонентов и запустите некоторое программное обеспечение. Это имитация транзисторного уровня.

Если вы думали, что наша предыдущая новость о создании программируемой модели компьютера Cray (Home Brew Cray) была немного сумасшедшей, эта следующая идея может заставить вас отказаться от «чуть-чуть».

Идея потрясающая, но трудно поверить, что она работает.

Моделирование в Javascript

Ребята из Visual6502 взяли микропроцессор 6502, сняли верх упаковки с помощью кислоты, сделали точные фотографии чипа с высоким разрешением и затем оцифровали результат.

Фотографировать

Из оцифрованного изображения они создали векторную модель с использованием многоугольников. Там, где многоугольники перекрываются, у нас есть транзисторы и другие компоненты — около 20 000 из них для 6502. Следующий шаг — самый удивительный. На основе этой геометрической модели они реализовали рабочую симуляцию чипа. Утверждается, что симуляция является точной на 100%, и доказательством этого является то, что она может запускать машинный код 6502.

Также утверждается, что это простой метод. Вместо того, чтобы писать симуляцию с большим количеством сложного кода, вам нужен только простой и фиксированный код для интерпретации многоугольной модели. Это также довольно быстрый процесс — команда приступила к работе над 6502 в ноябре 2009 года и закончила симуляцию в конце декабря.

Микрофотография в полигональную модель

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

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

Что они сделали с симуляцией?

Если вы используете браузер, поддерживающий HTML5, вы можете увидеть моделирование в действии. Он был реализован как отрисовка приложения Javascript для объекта Canvas. Существует также реализация Python, но она еще не в сети. Вы можете скачать Javascript с github.

Слайды из презентации SigGraph также заслуживают внимания, если вам интересен процесс. Это также иллюстрирует другой этап проекта — моделирование нескольких микросхем. Путем реверс-инжиниринга чипа TIA (Television Interface Adapter) в игровой системе Atari 2600 они смогли собрать его вместе с 6502 и запустить настоящие программы, а точнее, Space Invaders!

Космические захватчики

Есть ли у этой техники практическое применение?

Чтобы быть полезной в качестве библиотеки старого оборудования, способной запускать любую древнюю программу, ее необходимо ускорить. В принципе, нет причин, по которым этого не может быть. Думайте о векторной модели как о базовом языке для эмулятора общего назначения и теперь используйте параллельное оборудование и умную оптимизацию, чтобы ускорить процесс.

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


Добавить комментарий