단일 메모리 인터페이스가있는 경우 요청간에 중재 할 하드웨어가 있습니다. 일반적으로 프로세서는 I / O를 고갈시키지 않고 I / O보다 우선 순위를 갖지만 I / O는 항상 우선 순위를 갖더라도 I / O는 대역폭 요구가 적고 간헐적이므로 메모리에 액세스 할 수있는 기회가 있습니다.
또한 일반적으로 메모리에 대한 인터페이스가 둘 이상 있습니다. 고성능 프로세서에는 일반적으로 캐시가 있습니다 (DMA가 일관성이없는 경우 캐시를 스누핑 할 필요조차 없습니다. 스누핑을 사용하더라도 캐시와 기본 메모리 간의 대역폭 차이 또는 (DMA가 L3으로 전송 될 때) 오버 헤드는 일반적으로 작습니다. 메모리에 액세스하기위한 별도의 인터페이스를 제공합니다. 마이크로 컨트롤러는 종종 별도의 플래시 기반 메모리에서 명령에 액세스하여 DMA 동안 온칩 메모리로 가져 오기를 진행할 수 있으며 종종 독립적 인 인터페이스로 메모리를 밀접하게 결합합니다 (DMA 충돌을 피하기 위해 많은 데이터 액세스 허용).
단일 메모리 인터페이스를 사용하더라도 일반적으로 피크 대역폭은 일반적으로 사용되는 대역폭보다 높습니다. (명령 페치의 경우 메모리에서 평균 페치로드보다 넓은 작은 버퍼라도 다른 에이전트가 메모리 인터페이스를 사용하는 동안 버퍼에서 명령 페치를 허용하여 코드가 분기되지 않는 경향을 이용합니다.)
또한 프로세서가 데이터에 액세스하므로 단일 메모리 인터페이스가있는 경우 데이터 액세스와 명령 액세스 사이에 중재 메커니즘이 있어야합니다.
프로세서 (단일 메모리 인터페이스가있는)가 I / O 장치 버퍼에서 주 메모리로 복사를 구현해야한다면 복사를 수행하기 위해 명령어를 가져와야합니다. 이는 메모리 메모리 작업을 통해 ISA에서도 전송 된 단어 당 2 개의 메모리 액세스를 의미 할 수 있습니다 (사후 증가 메모리 주소 지정이 제공되지 않은 경우로드 저장소 ISA는 3 개 이상의 메모리 액세스가 필요할 수 있음). 이는 기존 시스템에서 주 메모리와 동일한 인터페이스를 공유 할 수있는 I / O 액세스에 추가됩니다. DMA 엔진은 메모리의 명령어에 액세스하지 않으므로이 오버 헤드를 피할 수 있습니다.