|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 9, 2003 20:08:00 · Поправил: Безпощадный даос Что такое - шина А20, и с чем ее едят ??? Поясните чайнику !!!!!!!!!!!! |
|
|
Дата: Июл 9, 2003 21:43:53 У компа к процу есть две шины - шина данных и шина адреса. Термин "шина" применительно к A20 некорректен. А20 - это, всего лишь, разьем на шине данных, с которым связан забавный глюк, которому мы обязаны защищенным режимом и кучей приятных частностей в реальном. Более подробно - возьми Михаила Гука. |
|
|
Дата: Июл 10, 2003 18:30:34 буду конкретней ... если ты переключишся в защищенный режим и не "откроеш эту линию"( хм ... - или "не закроеш" :), то попытка записи по физическому адресу, предположим 04010002, приведет реально к записи по адресу 00000002. Т.е. адресные линии выше 20-той игнорируются. Эта линия открывается установкой не помню какого бита в порту 92h ... ... - хотя я могу и наврать ;) ... |
|
|
Дата: Июл 11, 2003 14:44:06 Попытаюсь быт еще поконкретнее. У первых процессоров I8086/88 и их клонов, для адресации памяти было(и осталось :-)) всего 20 ножек. Имена от A0 до А19. При складывании если при складывании сегментного адреса и смещения получалось число больше FFFFF, то обращение шло ниже. Переворот или заворот адреса по простому. При выпуске процессора i80286, изменили корпус и добавили еще 4 ножки, A20..A23. И появился защищенный режим. Для совместимости, новый процессор работал в реальном режиме, так же как старый. И должен был адресовать память только 20 ножками. Но по не понятным причинам, то ли не доглядели, то ли специально оставили разработчики за задержку зарплаты. Перенос из старшего разряда(А19) попадал в А20 и заворота адреса не происходило. IBM приняла решение, разрешать переключать адрес с помощью процессора системной поддержки I8042, обычно называемый контроллер клавиатуры. То есть по включению питания, линия А20(шиной можно называть не менее двух проводов) принудительно сброшена в "0" при любых обращениях к памяти. Для доступа к 64K выше 1M памяти из реального режима использовалось включение A20 и переключение страниц для доступа еще выше. В этом случае ошибку(не полное соответсвие i8086) можно гордо назвать специальной возможность, фичей(feature) или гениальным предвидением инженеров Intel что стоимость одного мегабайта оперативной памяти упадет ниже $1000 и поднимать цены на процессоры :-) Так как контролер клавиатуры мог быть занят, то приходилось ожидать переключения долго. Для ускорения этого процесса придумали быстрое переключение, мимо контроллера. (Но старые программы об этом не знали :-)) Не соответствующее стандартному(придуманному IBM) переключение подвигло создателей BIOS на новый пункт в SETUP BIOS. Для новой совместимости с исправленнием старой не совместимости( как закрутил ;-)) в BIOS SETUP ввели пункт разрешить/запретить быстрое переключение. Для углубленного разжевывания вопроса, пристегну текст из исходника BIOS, для Intel 430TX. Если MiniBB 1.6 его не съест. Процедуры называются A20_OFF и A20_ON. Теперь резюме: При переключении в защищенный режим из реального A20 нужно включить, при движении в обратном направлении отключить. В сети есть примеры на эту тему. Если моя легенда вам не понравилась, прошу слюной не брызжать. Не подобает воинам Дзена, не верить на слово. В нашей местности такие легенды рассказывают. 782785095__atorgs.rar |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.053 |