'네트워크dma'에 해당되는 글 1건

  1. 2007/08/25 DMA정리

DMA정리

2007/08/25 13:05
 

* 비동기 데이터 전송


: 비동기적인 데이터의 전송을 이루기 위해서는 데이터가 전송될 시각을 알리기 위하여 두 장치 사이에 제어 신호가 교환되어야 한다. 이러한 제어 신호의 교환 방법에는 스트로브와 핸드셰이킹이 있다.


① 스트로브 제어 : CPU와 메모리의 정보 교환시 볼 수 있는 것으로 하나의 데이터라인과 하나의 제어라인을 가지고 동작한다.





발신지

장치


목적지

장치








발신지

장치


목적지

장치






 


 

  DATA


Valid Data





  Strobe







                    <발신지 개시>                   

   




발신지

장치


목적지

장치






  DATA


Valid Data







  Strobe







 <목적지 개시>


② 핸드셰이킹 : 인터페이스와 I/O 장치와의 데이터 전송에서 볼 수 있으며 하나의 데이터라인과 두 개의 제어라인으로 이루어져 있다.





발신지

장치


목적지

장치






Data


Valid Data





Data valid







Data accepted







                  <발신지 개시>     




발신지

장치


목적지

장치





Ready for data







Data valid







Data


Valid Data





          <목적지 개시>

                      

* 직접 메모리 접근(DMA : direct memory access)


: 자기디스크와 같은 고속의 저장 장치와 메모리 사이의 데이터 전송은 CPU에 의해 속도가 제한될 수 있다. 따라서 이 데이터 전송 경로에서 CPU를 제거하고 주변 장치가 직접 메모리 버스를 관리하도록 한다면 전송 속도가 훨씬 증가 될 것이다. 이러한 전송 방식을 직접 메모리 접근이라고 한다.


* 동작과정


① 주변장치가 DMA 요구 전송

② DMA제어기가 BR(버스요구)라인 활성화

③ CPU는 실행을 마저 마친 후 주소버스, 데이터 버스, 읽기, 쓰기 제어 라인을 고저항        상태로 만든 후 BG(버스포기)라인을 통해 버스포기를 알린다.

DMA제어기는 주소레지스터 값을 주소버스로 출력하고 읽기와 쓰기 제어 라인을 활성화

⑤ 주변장치에 DMA 승낙

⑥ 주변장치는 데이터 버스를 통해 메모리에 전송

  (한 위드 전송 시마다 주소레지스터의 값은 ‘1’ 증가, 워드 카운트 레지스터의 값이 ‘0’이 될   때까지 ‘1’감소시킨 후 ‘0’이 되면 DMA제어기는 전송을 중단하고 버스요구를 제거한다.
만약
  DMA과정중에 다른 장치가 DMA를 원하였다면 그 장치가 다시 DMA를 사용한다.)
⑦ 인터럽트를 이용하여 CPU에 전송 끝을 알리고 CPU는 인터럽트에 응답하여 워트 카운트 레지스터의 내용을 읽어와 전송의 성공여부를 확인

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ★The fox★

BLOG main image
Happiness isn't far from here. It exists within you. by ★The fox★

카테고리

viewall (73)
Daily Life (17)
English (2)
Computer (13)
Artists (5)
Movie (1)
Tourism (12)
Scribbling (7)
Temp (2)
Neoguerilla (2)
calendar (12)
Total : 44,965
Today : 0 Yesterday : 13