DMA의 정의 CPU를 대신하여 I/O 장치와 메모리 사이의 데이터 전송을 담당하는 장치 CPU의 개입 없이 주변 장치와 주기억 장치간의 데이터 전송이 이루어지는 방법 DMA의 전송 방식인 사이클 스틸링 DMA가 메모리에 접근하려면 버스를 사용하여야 함 버스의 사용권은 CPU가 관장 DMA가 작업하는 동안 CPU는 다른 작업을 수행 CPU와 DMA가 동시에 버스를 사용하고자 하는 경우, 속도가 빠른 CPU가 느린 DMA에게 한 메모리 사이클 동안 버스 사용권을 먼저 주는 것
정의 DMA가 메모리 데이터 전송을 위해 CPU의 한 메모리 사이클 동안 버스 사용권을 우선하여 갖게 하는 것 사용 목적 DMA가 메모리에 접근하려면 버스를 사용해야 하는데, CPU가 우선하여 사용하게 됨으로써, DMA는 사용할 수 없는 상태가 지속되는 자원 부족(Starvation) 현상의 문제를 해결하기 위함 사이클 스틸링을 이용한 DMA의 문제점 데이터를 전송할 때마다 시스템 버스를 두 번 이용하므로 성능이 저하 Read/Write의 경우 데이터 블록이 512바이트 보다 클 경우 데이터를 버퍼링하는 내부 기억 장치가 필요 해결책으로, I/O 프로세서(Channel)를 사용하여 프로세서와 독립적으로 입.출력만을 제어 사이클 스틸링의 구현 방법 DMA 제어기가 메모리 사이클을 요청 메모리 제어기(CPU..
DMA의 동작 주변 장치가 DMA 요청 DMA는 CPU에 인터럽트를 발생 CPU는 인터럽트를 받아 콘솔 정보를 데이터 버스를 통해 보냄 I/O 장치의 주소, I/O 모드, 메모리 시작 주소, 전송될 데이터 단어들의 수 DMA는 주변 장치에 ACK를 보냄 주변 장치는 ACK를 받고 버스에 데이터를 보냄 DMA가 메모리를 사용하고자 할 때, CPU는 속도가 느린 DMA에게 버스 사용권을 부여 DMA의 특징 프로그램 수행 중 입.출력을 위한 인터럽트의 발생 횟수를 최소화하여 컴퓨터의 효율을 높임 CPU는 DMA와 상태 정보 및 제어 정보만 주고 받음 속도가 빠른 디스크, 테이프 드라이버에서 사용됨 메모리 사상 I/O(Memory Mapped I/O) 주기억 장치의 주소 공간을 입.출력 포트에 할당 메모리의 특..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.