직접 메모리 접근: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Hs0207 (토론 | 기여)
Hs0207 (토론 | 기여)
11번째 줄:
== 이론 ==
=== Third-party ===
표준 DMA(Third-party DMA)는 DMA 컨트롤러를 사용한다. DMA 컨트롤러는 메모리 주소를 생성하고 메모리 읽기 또는 쓰기 사이클을 초기화할 수 있다. 여기에는 일부 [[하드웨어 레지스터]]들이 포함된다. 이것들은 메모리 주소 레지스터, 바이트 카운트 레지스터와 하나 이상의 레지스터들을 포함한다. DMA 컨트롤러의 특징에 따라 컨트롤 레지스터들은 원본, 대상, 전송 방향, 전송 크기 단위, 버스트 당 전송 파이트 수의 조합을 지정할 수 있다.<ref name=Osborne80>{{cite book |first=Adam |last=Osborne |title=An Introduction to Microcomputers: Volume 1: Basic Concepts |edition=2nd |publisher=Osborne McGraw Hill |year=1980 |isbn=0931988349 |pages=[https://archive.org/details/introductiontomi00adam/page/5 5–64 through 5–93] |url=https://archive.org/details/introductiontomi00adam/page/5 }}</ref>
 
=== 버스 마스터링 ===
버스 마스터링 시스템(First-party DMA System)에서 CPU와 주변 기기는장치는 각각 메모리 버스 통제권을 얻을 수 있다. 주변 장치가 버스 마스터가 될 수있는 경우, 필요에 따라 메모리 주소와 제어 신호를 제공하는 것으로 CPU와 관련없이 시스템 메모리에 직접 쓸 수 있다.
 
=== 전송 유형들 ===
DMA 전송은 한번에 하나의 바이트를 전송하거나 버스트 방식으로 전체를 한번에 전송할 수 있다.
== 동작 모드 ==
=== 버스트 모드 (Burst mode) ===