2013-07-12 3 views
2

DMA가 메모리로 데이터를 전송하는 특정 크기가 있습니까? 예를 들어, 데이터가 물리적 메모리 (DRAM)에서 읽히거나 쓰여질 때 CPU 쪽에서는 일반적으로 64 바이트 (캐시 블록 크기)의 입도에 있습니다. 내 질문은 : 장치가 DMA를 사용하여 메모리에 쓸 때 컨트롤러가 실제 데이터 전송에 비슷한 고정 크기를 사용한다는 것인가?DMA 전송 크기

더 큰 패킷은 항상 고정 된 크기의 블록으로 분리 될 수 있기 때문에 DMA 트랜잭션을위한 다른 크기의 전송이 가능한지 여부는 묻지 않습니다.

감사 ARKA는

+0

왜 알고 싶습니까? – Nemo

답변

2

이 매우 플랫폼에 따라 다릅니다. this information sheet on PCI-E에 따르면 인텔 서버 칩셋은 최대 128 바이트의 최대 페이로드를 지원하면서

인텔 데스크탑 칩셋은 많아야 64 바이트의 최대 페이로드를 지원합니다. 이 주된 이유는 앞면 버스의 스누핑 에 대한 캐시 라인 크기를 일치시키는 데 있습니다. ... 이외의 공급 업체가 생산 한 칩셋 인텔은 높은 가치를 지원합니다. 512 바이트는 일반적으로 서버 North Bridge의 최대 페이로드 값인 입니다.

는 PCI-E에 대해 이야기하고 가정에서 원하는 검색어는 'PCI 익스프레스'와 '페이로드 크기 "입니다.