도와주세요!!
글 수 15,339
2010.07.26 14:17:20 (*.153.65.155)
30252
안녕하세요,
Memory bus bandwidth를 계산하려고 하는데 도움을 요청하고자 글을 올립니다.
제가 사용하고 있는 환경은
EZ-X5 보드 위에 귀사에 주문 제작한 FRAM (Ramtron) 도터보드와 16MB 짜리 FRAM 모듈을 꽂아서 사용하고 있습니다.
구체적으로 제가 하고자 하는 일은
도터보드에 연결되어 있는 FRAM에서 EZ-X5에 내장된 DRAM으로 15MB를 copy하는데 약 2초,
DRAM에서 FRAM으로 copy하는데 약 1초가 걸렸는데
왜 이런 (오랜) 시간이 걸리게 되는지 분석하기 위해서입니다.
혹시 관련 스펙이 있으면 자료 부탁드립니다.
저에게는 중요하고 응급한 일이기도 하니 빠른 답변 주시면 너무 감사드리겠습니다.
2010.07.27 19:58:17 (*.82.68.231)
윗분 말씀처럼 CS 타이밍을 보셔야 할듯 합니다.
15MB 라면 16bit 라고 할때 7.5M 번의 access 가 필요하겠죠
1M = 1000ns 이므로
1000/7.5 = 133ns 입니다.
로컬 버스에 연결되어 있다면 외부 io clock 이 50M 로만 본다면 1cycle 에 20ns 이므로
대략 7 cycle 이 소요되는 세팅일 경우 1초가 걸립니다.
계산 시간이 2초라 하셨으니 순수히 FRAM 에서 읽어오는데에 위와 같은 시간이므로
시스템이 동작하는데 필요한 시간을 고려하면
세팅에 따라 충분히 가능한 시간으로 보여집니다.
X5 면 아마도 외부 IO 타이밍이 최대 cycle 이 15 cycle 인가로 알고 있습니다.
자세한 것은 직접 확인을....
1. fram access를 위한 CS타이밍을 확인해보아야 하지 않을까요.
2. Kernel이 가동되기위한 시간
3. memory copy 수행 process이외의 다른 process들도 linux kernel은 자원을 할당하므로 그 시간들..
즉. memory copy 시작 시켰다고 그것만 끝까지 하는것 같지는 않은데요.
이상 허접의견이었습니다.