Interrupt System

자 이제 가장 중요한 인터럽트의 시작이다

얘네는 또 지들만의 고유한 용어를 사용한다.

Service Request Nodes(SRNs) 

Service Request는 특이하게도 interrupt request 혹은 DMA request로 정의 된다.

 

Conventional architectures generally take a long time to service interrupt requests, and they are normally handled by loading a new Program Status (PS) from a vector table in data memory. In the TriCore architecture, service requests jump to vectors in code memory to reduce response time. The entry code for the ISR is a block within a vector of code blocks. Each code block provides an entry for one interrupt source.

이 부분 잘 이해가 안가는데?

인터럽트 핸들러 들어가는 prologue/epilogue쪽 코드가 단순한 branch로 구성되어 있고 program status는 변경되지 않는다는 의미일까? 이건 타겟보드 혹은 컴파일된 바이너리의 어셈레벨 진행되는 코드를 보고 내용을 추가해야 할 것 같다.

 

이전 내용에서는 CSA(Context Save Areas)가 있어서 save/restore context를 할 수 있다고 했는데 여기에 interrupt가 포함되는 거 아닌가? 그러면 기존의 conventional architecture랑 동일한 게 아닌감?

 

이 부분관련해서는 내용 추가가 필요할 것 같다.

 

Interrupt Priority

중요한  부분이다. 당연히 interrupt의 nested를 지원한다.

ICU(Interrupt Control Unit) 은 어떤 인터럽트 소스가 승리할 지(처리될지) arbitration 을 하는데 이건 당연히 prioriryt number based로 진행 된단다.

 

각 인터럽트 타입들은(Service Request) 당연히 Priority Number랑(SRPN) assign이 되어있다.

interrupt pirority는 255 level

 

너무 졸려서 더이상 진행 불가

나머지 내용은 다음에 이어서 추가 작성하는 걸로......

 

Figure 5-1 Block Diagram of a Typical TriCore Interrupt System 관한 내용을 리뷰하고 있었음

 

 

Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함