Конфликты на шине и адресное пространство
В компьютере все устройства (ОЗУ, геймпад, экран) обычно сидят на одной общей информационной магистрали — системной шине данных. Но представь, что будет, если два человека попытаются одновременно говорить в один микрофон. Получится неразборчивый шум. В электронике это называется аппаратным конфликтом (bus collision): если два устройства одновременно выдадут на шину 1 и 0, произойдет короткое замыкание или данные превратятся в мусор.
Чтобы этого избежать, процессору нужен строгий регулировщик — Адресный дешифратор (Address Decoder). Он смотрит, к какому адресу сейчас обращается процессор. Если адрес попадает в диапазон оперативной памяти (например, от 0 до 223), дешифратор разрешает ОЗУ выдать данные на шину, а всем остальным устройствам приказывает «молчать» (отключает их выходы). Если адрес принадлежит внешнему устройству, ОЗУ блокируется. Благодаря этому правилу на шине всегда говорит только кто-то один, и процессор получает чистую информацию без искажений.
Практический пример. Без адресного дешифратора случилась бы катастрофа. Допустим, процессор читает адрес 100 (ОЗУ) и одновременно кто-то пытается читать адрес 254 (геймпад). Если обе микросхемы выдадут данные на общую шину, на одном проводе может оказаться и 0, и 1 одновременно — это короткое замыкание на уровне логики. Адресный дешифратор предотвращает это: он аппаратно отключает выходы всех устройств, кроме того, чей диапазон адресов совпал с запросом.