Pandaboard에서 DMA가 정확히 작동하는지 알고 싶습니다. 나는 Pandaboard에서 사용되는 OMPA4460의 TRM을 읽었으며 DMA 시스템은 한 번에 총 128 개의 요청을 처리 할 수 있으며 최대 32 개의 논리 채널과 4 개의 인터럽트 요청을 관리 할 수 있습니다. DMA가 진행 중일 때 CPU가 한 번에 다른 작업을 수행 할 수있는 가능성이 있습니까?OMAP 4460에서 여러 DMA 전송이 진행되는 동안 CPU가 차단 되었습니까?
3
A
답변
1
하지만 DMA가 작동 중일 때 팬더 보드의 CPU에 어떤 기회가있을 때 한 번에 다른 작업을 수행 할 수 있는지 알고 싶습니까 ???
DMA의 목적은 I/O 장치와 주 메모리간에 데이터를 구체적으로 전송하는 것입니다. 의도적으로 이것은 프로그래밍 된 I/O으로 알려진이 전송을 수행하는 CPU를 완화하기위한 것입니다. 일단 CPU가이 데이터 전송을 수행하도록 DMA 컨트롤러를 설정하면 CPU는 자유롭게 다른 목적으로 명령을 실행할 수 있습니다. 그래서 대답은 "예, 100 % 기회"입니다.
PandaBoard의 SoC에는 다중 채널이있는 DMA 컨트롤러가 있으므로 여러 I/O 작업을 동시에 수행 할 수 있습니다. 성능 & 처리량에 대한 제약은 메모리 대역폭입니다. 최신 CPU는 명령어 및 데이터 캐시로 인해 메모리 대역폭을 덜 사용하는 경향이 있거나 메모리를 더 많이 사용하는 경향이 있습니다. 일반적으로 CPU와 DMA 컨트롤러가 메모리를 위해 경쟁 할 때 CPU는 메모리에 대한 우선 순위 액세스 권한이 부여됩니다.
이러한 특성은 PandaBoard에만 적용되지 않습니다.
관련 문제
- 1. Java TCP 클라이언트 전송이 차단 되었습니까?
- 2. 왜 networkstream.write가 차단 되었습니까?
- 3. 인스턴스에서 인터페이스로 전송이 금지 되었습니까? 시험
- 4. 왜 glClear가 OpenGLES에서 차단 되었습니까?
- 5. 스크립트가 진행되는 동안 PHP 출력 메시지
- 6. 팬 제스처가 진행되는 동안 선택기가 변경됩니다.
- 7. 스플래시가 진행되는 동안 무엇인가 할 수 있습니까?
- 8. 화면 요소가지도에 의해 차단 되었습니까?
- 9. Facebook 댓글이 로컬에서 차단 되었습니까?
- 10. java.lang.Readable.read에 대한 호출이 차단 되었습니까?
- 11. Flash + Chrome = 키보드가 차단 되었습니까?
- 12. OMAP : ltrace 빌드 및 설치
- 13. FTP에서 업로드하는 동안 파일 차단
- 14. xCode4 스크롤이 진행되는 동안 눈 깜박임을 멈추기 위해
- 15. Internet Explorer URL이 파이썬으로 차단 되었습니까?
- 16. AJAX 서비스가 Google에 의해 차단 되었습니까?
- 17. DMA 컨트롤러가 선택되면 어떻게됩니까?
- 18. splice()의 DMA 사본
- 19. 동시 DMA 사용자 메모리
- 20. DMA 전송 데이터 속도
- 21. DMA 대 캐시 차이
- 22. 효율적인 리눅스 소켓 (DMA/zero-copy)
- 23. ontouch가 진행되는 동안 notifacation bar와 title bar를 보여줄 수 있습니까?
- 24. jquery에서 프로세스가 진행되는 동안 로딩 이미지를 표시하는 방법
- 25. 반복적 인 배포가 진행되는 동안 통합 된 웹 서버가 느려짐
- 26. ROR이 매우 느리며 개발이 진행되는 동안 생산이 원활합니다.
- 27. 처리가 진행되는 동안 브라우저가 더 많은 콘텐츠를 기다리지 않도록 지시합니다.
- 28. 있는 UIWebView - 요청이 진행되는 동안 모달 뷰 컨트롤러를 기각 충돌
- 29. 백그라운드 작업이 진행되는 동안 일부 처리 방법을 표시하는 방법은 무엇입니까?
- 30. 애니메이션이 진행되는 동안 UITableView와 상호 작용할 수 없습니다.
안녕하세요 sawdust.and 감사합니다. 답을 알려 주셔서 대단히 감사합니다. DMA 컨트롤러를 설정 한 후 CPU가 100 % 활용되었음을 이해합니다. –
한 가지는 어떻게하면 CPU의 대역폭 사용률을 찾을 수 있습니까 ??? –
CPU 사용률은 일반적으로 * 유휴 * 루프에서 경과 시간보다 오래 걸리지 않고 "사용중"비율로 계산됩니다. 커널은 스케줄러의 유휴 작업/루프에 모니터를 가지고 있어야하고 경과 된 시간 간격을 기록하는 다른 모니터가 있어야합니다. – sawdust