[UNИX] HSE - ArchitectureASM - 08 - Polling and MMIO

preview_player
Показать описание
11.12.2019
Lecture by George Kouryachy
---
Рекомендации по теме
Комментарии
Автор

25:04 (polling vs interrupt). Преимущество прерываний не в удобстве, а в скорости реакции. Дело в том, что прерывания возникают асинхронно, то есть в неудобное время, и приходится городить систему синхронизации. А опрос наоборот, проводится в основном цикле программы, то есть совершенно точно не в середине какого-то вычисления. Но именно из-за этого можно не успеть отреагировать на какое-то событие - скажем, прием байта по быстрому интерфейсу пока не пришел новый.
35:52 (о распиновке семисегментного индикатора). В эмуляторе биты хотя бы подряд идут. В реальности мало того что сегмент A может соответствовать 6-му биту, а C - третьему, так еще и по разным адресам находиться. Грубо говоря, сегменты A, B, E, G в 0xFFFF0010, сегменты D, F, H в 0xFFFF007F, а сегмент C в 0xFFFF00C1. Просто потому что так было проще плату развести. Ах да, мало этого! В реальности семисегментники еще часто управляются динамической индикацией, то есть недостаточно вывести байты и забыть о них - надо каждые 10 мс просыпаться и обновлять их.
тут же (про клавиатуру). Стоило добавить в лекцию электрическую схему, чтобы нагляднее было
42:57 (про запись чего-то кроме маски битов). Вот это странное поведение. Обычно вернется что-то вроде OR по выбранным строкам. Возможно, решили не усложнять эмулятор либо поберечь психику программистов...

COKPOWEHEU