2011-10-12 6 views
2

나는 DMA 컨트롤러가 어떻게 작동하는지에 대해 이해하려고 노력하고있다.DMA 컨트롤러에 자체 레지스터가 있습니까?

8237 DMA 컨트롤러를보고 있습니다. 일부 정보 here에는 레지스터 값이있는 테이블이 있습니다.

DMA 자체 레지스터입니까, 아니면 CPU 레지스터입니까?

답변

4

DMA 컨트롤러 레지스터는 CPU 레지스터와 구별됩니다 (8237의 경우에는 실리콘이 다른 다른 칩입니다). 프로그래밍 할 때, 링크 된 페이지 ("I/O 포트"열)에서 설명한대로 CPU INOUT 명령어를 사용하여 DMA 컨트롤러 레지스터에 액세스 할 수 있습니다.

다른 하드웨어 아키텍처는 I/O 포트 대신 "메모리 맵핑"될 수있는 등 DMA 컨트롤러 레지스터에 액세스하는 다른 방법을 제공 할 수 있습니다.

+1

또한 "IO 포트"번호는 DMA 컨트롤러와 관련된 번호입니다. CPU에 관한 한 번호는 칩이 CPU의 I/O 공간에 어떻게 매핑되는지에 달려 있습니다. 따라서 칩이 400H에 매핑되면 칩 레지스터 87H는 CPU I/O 포트 487H가됩니다. –

+0

예, 좋은 지적입니다. –