Google에서 작은 검색을합니다. 그러나 나는 왜 모든 것을 발견하지 못했습니다. 모든 것을 가능하게하는 방법에 관한 것입니다. 내 질문은, 왜 A20 라인 키보드 컨트롤러에 무엇입니까?A20 라인이 키보드 컨트롤러에있는 이유
답변
simple google search 귀하의 질문에 대한 답변을 얻었을 것입니다.
구글의 top result는 말한다 :
이가능 A20 라인에 대한 기존의 방법은 직접 키보드 컨트롤러를 조사하는 것입니다. 그 이유는 인텔의 8042 keyboard controller에는 A20 라인을 연결하기로 결정한 예비 핀이 있기 때문입니다. 이것은 무관 한 성격 때문에 지금 어리석은 것처럼 보입니다. 그러나 당시 컴퓨터는 그렇게 표준화되지 않았습니다. 키보드 컨트롤러는 일반적으로 8042 칩의 파생물입니다. 이 칩을 정확하게 프로그래밍하면 주소 버스에서 비트 # 20을 활성화 또는 비활성화 할 수 있습니다.
PC가 부팅 될 때 A20 게이트는 항상 비활성화되지만 일부 메모리 관리자 (HIMEM.SYS) 또는 부트 로더 (GRUB)처럼 일부 BIOS가이를 활성화합니다.
기본적으로 대답은 8042에 약간의 여유 용량이 있고 엔지니어가 빠르고 저렴한 해킹으로 사용했습니다. 또한 모든 컴퓨터에는 키보드가 있어야하므로 항상 키보드 컨트롤러가 있어야한다고 가정합니다.
최신 CPU (Haswell 게시)에는 항상 A20 이 활성화되어 있고이 활성화되어 있으며 비활성화되어 있지 않습니다.
물론 이것은 64 비트 시대에서 의미가 있습니다. 1970 년대의 깨진 소프트웨어를 깨뜨린 것은 아마도 좋은 일일 것입니다.
A20이 항상 활성화되어 있습니까? 대부분의 운영 체제 개발 자습서에서는 A20을 활성화하는 방법에 대해 설명합니다. 아마도 가상 머신에서 작업하고 있을까요? 그리고 왜 downvote? –
최신 CPU의 A20은 항상 사용 가능합니다. Post Haswell은 2014 년에 판매를 시작했습니다. OS 튜토리얼에서 아직이를 고려하지 않은 것은 당연합니다. – Johan
답변 해 주셔서 감사합니다! 나는 내 CPU가 항상 A20을 사용할 수 있다고 생각하지 않는다. 그것의 Amd Fx4100. 운영 체제 개발에 적합한 기사/도서가 있습니까? –
키보드 컨트롤러에 예비 핀이 있었기 때문에? – EOF
알겠습니다. 나는 그들이이 일을 위해이 핀을 사용하지 않을 것이라고 확신했다 :) –
@YahyaGedik 다른 해결책은 추가적인 구성 요소를 필요로했을 것이다. A20 라인을 키보드 컨트롤러에두면 트레이스와 낸드 게이트 만 필요했습니다 (어쨌든 필요합니다). – fuz