ARM cortex-M 시리즈에 TCM에 관한 내용이 나온다
캐시는 hit과 miss 시에 데이터 접근 시간이 다르기 때문에 동작 시간을 정확하게 예측해야하는 몇몇 임베디두 시스템에서는 캐시의 사용이 문제가 된다.
그래서 캐시 대신 TCM을 사용한다.

TCM은 fast sram으로 구성되어있다고 한다.
캐시와는 다르게 별도의 주소공간을 가지고 매핑되어있다. 빠른 접근이 필요한 데이터를 별도주소공간의 sram에다가 써서 사용하겠다는 것과 같은 의미인 것 같다. 결과적으로 보면 external주소에 외부 sram을 다는 것과 별 차이가 없어보인다. Fast sram이라고는 하지만 보통 1~2백MHz대의 클락에서 sram은 원래 한사이클만에 데이터를 받아올 수 있지 않나?
주로 인터럽트 처리 관련 데이터를 저장하는데 사용할 수 있다고 한다. 컴파일러랑 프로세서 자체가 알아서 잘 처리하므로 유저가 직접 건들필요는 없지 싶었은데 공식문서 설명하는걸 보면 사용자가 필요한 경우에 직접 작성해주어야 하는 부분인가?
dram을 붙이기도 하는 m7시리즈면 이해가 되기도 하지만 보통 메모리가 필요하면 외부에 sram을 달면 될텐데 외부 sram은 접근하는데 사이클이 더 필요한가봄

결론.
캐시 사용으로 인한 처리시간 불확정성 제거
캐시를 사용하지 않지만 주요 데이터를 내부 sram에 저장하므로 외부 메모리 접근으로 인한 성능 저하 감소

따져보면 캐시랑 비슷한 점이 별로 없다
외부메모리로 쓰지도 않고. 그냥 좀 느린 레지스터라고 해야.
cp. 스택오버플로 질답
ARM공식문서

+ Recent posts