Короче услышал я тут что когда-то давно в лахматые годы для адрессации 1 мб было 20 (0-19) ног у памяти (рам). В последствии кол-во ног увеличилось. Но было время, когда добавили специально 20 ногу (20 от нуля) для адрессации ещё 640кб что ли. (над первым метром). И в последствии эту ногу юзать перестали, т.к. уже появилась 32-битная адрессация и ног вообще стало больше. эта 20 как бы осталась, но на ней всегда 0. (сейчас) Интел её оставил для совместимости. (оставил баг для совместимости )) лол) Но вот я слышал, что есть механизмы позволяющие поменять её состояние и использовать в своих целях. Что-то там было про шаманство чуть ли не про то что это как-то связано с клавиатурой или что-то в роде. Вобщем я плохо понял, сейчас капаю Гука в поисках зацепок. Может кто использовал это??
ну вот нашел что бит есть один в порту контроллера клавы. который: 0 - A20 обнулён 1 - управляется выводом процессора. и что же это такое ?? "вывод процессора" ? 8)))
Arisu Все не так. Ног было 20 - один 1Мегабайт адресатного пространства. Но адресация у нас сегмент+смещение Максимальный адрес выходит 0FFFFh*10h+0FFFFh=10FFEFh отсюда Видно что максимальный адрес превышает 1МБ на 64КБ-16Байт. Так вот когда память увеличилась число линий возросло, и получилась возможность адресовать к дополнительным 64КБ. Но были старые программы которые были сделанные под старые компьютеры в которых 1МБ. И у них адрес 0FFFFh*10h+0FFFFh=0FFEFh Интел ввила A20 gate которая позволяла разблокировать ноги от A20 и более. Тем самым получила совместимость с обоями архитектурами. Это значит что если бит A20 gate равен 0, то все начиная с A20 линии принудительно выставляются в 0 Если бит A20 gate равен 1, то тот какой сигнал на выводе(ноге/ проводе) установлен такой адрес и будет.