|
Timing
Растактовка, частоты, тайминги.
Основной циклФункционирование эмулятора основано на периодическом вызове метода CMotherboard::SystemFrame(), который управляет выполнением одного фрейма. За секунду метод должен вызываться 25 раз -- тогда мы получим скорость реальной машины 1:1. Каждый фрейм равен 1/25 секунды = 40 мс = 20000 тиков, 1 тик = 2 мкс. За каждый фрейм происходит:
ПроцессорПримерное время выполнения команд БК-0010 приведено в статье Зальцмана, №1 за 1995-й год: http://bk0010.narod.ru/docs/BK_Magazine/bk-1995.1.djvu -- по-видимому, эти данные получены экспериментально. Тайминг из ОСТ 11 348.918-83 приведен здесь: http://bk0010.org/forum/?id=3012&page= Те же данные также здесь: http://vak.ru/doku.php/proj/bk/1801vm-series ВидеоБК использует бытовой телевизор в качестве монитора, поэтому согласно стандарту SECAM:
Верхнее поле над первой видимой строкой - 40 строк. Гибкий дискВращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными -- 250 килобит в секунду = 250000 бит в секунду = 31250 байт в секунду = 6250 байт за оборот = 3125 слов за оборот. За фрейм (1/25 секунды) -- 1250 байт = 625 слов. Гибкий диск БК имеет 80 дорожек на 2-х сторонах. Каждая дорожка имеет 10 секторов по 512 байт каждый. Итого: 80 x 2 x 10 x 512 = 819200 байт = 800 килобайт. |