Как стать автором
Обновить

Комментарии 4

Небольшое дополнение: в архитектуре предусмотрена возможность атомарно прочитать показания интервального таймера и установить новое значение. Для этого слова по адресам 4C и 54 оставлены неиспользуемыми процессором; считывание и установка выполняются одной командой

MVC 76(8),80

Ну, про это я писать не стал, поскольку сие касается программирования, а не внутреннего устройства конкретной модели.

немного про историю разработки системы прерываний, - сама идея прерываний появилась очень рано, на UNIVAC 1103 (1953) были прерывания по переполнению, DYSEAC (1954) использовал I/O interrupts + DMA, кстати одна из первых мобильных машин, MIT TX-2 (1957) имела многоуровневую систему прерываний, IBM 7030 (1961) Stretch типа объединяла все что было разработано вместе, имела векторную систему - 64 битовый регистр прерываний, 28 битов которого могли быть маскированы, 19 битовый таймер+36 битовые часы с разрешением 1 msec, возможность прерывания по чтению данных, архитектура 360 делалась на основе 7030, т.е. типа развитие + упрощение IBM Stretch, одним из главных разработчиков системы прерываний как для Stretch так и для 360 был Brooks, автор известной книги "мифический человеко-месяц", ему принадлежат патент 1962 года на систему прерываний (US №3048332)

Физическая частота обновления значения таймера зависит от модели, однако логически уменьшение производится путём вычитания шестнадцатеричного значения 00000100 с частотой 300 Гц (или, что то же самое с точки зрения частоты формирования прерываний, путём вычитания единицы с частотой 76800 Гц). 

Тут, на мой взгляд, не совсем аккуратно сформулировано. Значение интервального таймера обновляется в среднем на столько же, как если бы из него вычиталась единица с частотой 76800 Гц. Но фактическая частота прерываний (и, соответственно, величина декремента) может быть любой и зависит от модели.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории