Симулятор

Эффективные методы реализации моделей ИИ

Constantine Korikov
Константин Кориков
PhD, AI Research Engineer
Результаты планирования 10 мин
Симулятор 20 мин
Ассемблерная эстафета 30 мин

Результаты планирования

Лекция 01

Симулятор

От числа к векторному представлению

Чтобы понять квантизацию — нужно понимать биты.
Чтобы понять Flash Attention — нужно понимать память.
Чтобы понять оптимизацию — нужно считать руками.

Путь: 8-bit CPU → арифметика → матрицы → нейронные сети

CPU

8-bit, 4 регистра (A, B, C, D), SP, DP, флаги Zero, Carry и Fault

Память

64 КБ (256 страниц × 256 байт), консоль на 0xE8–0xFF (24 символа)

Полная спецификация

Первая программа

CALL/RET — вызов подпрограммы и возврат. PUSH/POP — сохранение регистров на стеке.

Консоль начинается с адреса 0xE8 (232). Запись байта в этот диапазон выводит символ.

DB — директива данных, размещает строку прямо в памяти программы.

Web Simulator

Веб-симулятор

Браузер, без установки

pysim8 TUI

pysim8

Терминал, Python 3.13+ / uv

Ассемблерная эстафета

3 раунда · 2 команды · 30 минут

Обратный отсчёт

Выведите в консоль: 5 4 3 2 1 0

Подсказка: ASCII код символа '0' = 48. Чтобы превратить цифру в символ — прибавьте 48.

Сумма массива

Массив из 5 чисел: 10, 20, 30, 15, 25

Посчитайте сумму (= 100) и выведите результат в консоль.

Скалярное произведение

Два вектора: [3, 5, 2] и [4, 1, 6]

Вычислите скалярное произведение и выведите результат (= 29).

MUL умножает A на операнд, результат остаётся в A.