DMA: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:운영체제]][[분류:정보처리기사]] | |||
;Direct Memory Access | ;Direct Memory Access | ||
;[[입출력 장치]]가 [[중앙처리장치|CPU 레지스터]]를 경유하지 않고 직접 [[주기억장치]]에 접근하여 입출력을 수행하는 방식 | ;[[입출력 장치]]가 [[중앙처리장치|CPU 레지스터]]를 경유하지 않고 직접 [[주기억장치]]에 접근하여 입출력을 수행하는 방식 | ||
Line 5: | Line 6: | ||
* 블록으로 대용량의 데이터를 전송할 수 있다. | * 블록으로 대용량의 데이터를 전송할 수 있다. | ||
* CPU레지스터를 거치지 않아 CPU의 부하가 적고 속도가 빠르다. | * CPU레지스터를 거치지 않아 CPU의 부하가 적고 속도가 빠르다. | ||
* [[ | * [[사이클 스틸|사이클 스틸(Cycle Steal)]] 방식을 이용하여 데이터를 전송한다, | ||
== 구성 요소 == | == 구성 요소 == | ||
Line 17: | Line 18: | ||
* I/O 장치의 주소 | * I/O 장치의 주소 | ||
* 연산(쓰기 혹은 읽기)지정자 | * 연산(쓰기 혹은 읽기)지정자 | ||
* 데이터가 있는 | * 데이터가 있는 주기억장치 주소 | ||
* 전송될 데이터 단어들의 수 | * 전송될 데이터 단어들의 수 | ||
Latest revision as of 05:12, 8 June 2019
특징[edit | edit source]
- 블록으로 대용량의 데이터를 전송할 수 있다.
- CPU레지스터를 거치지 않아 CPU의 부하가 적고 속도가 빠르다.
- 사이클 스틸(Cycle Steal) 방식을 이용하여 데이터를 전송한다,
구성 요소[edit | edit source]
- 주소 레지스터(Address Register)
- 주소 라인(Address Line)
- 워드 카운트 레지스터(Word Count Register)
- 데이터 레지스터(Data Register)
입력 정보[edit | edit source]
- 일반적으로 CPU가 DMA 제어기로 보내는 정보
- I/O 장치의 주소
- 연산(쓰기 혹은 읽기)지정자
- 데이터가 있는 주기억장치 주소
- 전송될 데이터 단어들의 수
전송 절차[edit | edit source]
- 버스 사용 요구(bus request)
- 버스 사용 허가(bus grant)
- 데이터 전송(data transfer)
- 인터럽트(interrupt)