CAFE

Nios Q&A

Re:flat register file 가르쳐주세요

작성자준호아빠[Glen]|작성시간07.06.26|조회수140 목록 댓글 1

엄.. 이것는 Nios를 좀더 이전 버젼으로 올라가야 하는뎅...

 

초기에 Nios 3.2x까지는 Window register file을 이용했고, 이것에 register는 128부텅...

512개 까지 있었습니다..

이미지를 클릭하면 원본을 보실 수 있습니다.

위와 같은 구조로 되어있었고,,

이것이 각각 Main program과 각각의 subroutine이 적절하게 할당이 되어서 (512개중 32개씩할당)

CPU가 일을 하는것이었지요..

 

하지만 Nios II로 오면서 이러한 register 구조에서 flat register file 구조, 즉

그냥.. 위와는 다르게 일반적인 목적의 register 몇개만 가지고 있는 구조로 바뀐거죠..

이러한 방식을 그러니까.. windows 방식이 아니,, 그냥 말 그대로 flat방식을

Flat Register File architecture라 합니다.

 

일반적으로 embedded processor에서 register는 processor가 어떻한 작업을 수행할때

data를 storage로 사용되거나, 몇몇 특별한 용도로 사용됩니다.

이렇한 것을 Nios II에서는 General Purpose register라 하고,, 아래와 같이 제공하고 있습니다.

이미지를 클릭하면 원본을 보실 수 있습니다.

또한 아래와 같이 CPU의 어떠한 control에 연관된 (예를 들면, interrupt같은것덜) 관련된

Control register들이 있습니다.


이미지를 클릭하면 원본을 보실 수 있습니다.

 

뭐 결론적으로 씨잘데 없는 말을 많이 늘어놓은것 같으나..

Windowed Register File하고,, Flat Register File하고 생긴 모양이 위에서 보신것 처럼 약간 다르죠..

모든 routine들이 32개의 Generl Register들을 잘 할당 해서 쓰는것이 Flat Register File이고,

각각의 routine별로 전혀 다른 32개의 register를 어떤 windows로 나누어서 잘 할당받아서

쓰는것이 windowed register file이죠...

 

또한 Windowed Register File과 Flat Register File과의 차이점은 Flat Register File이 Interrupt

latency는 약간 더 길어집니다.. 왜냐하면,, 다른 routine들을 호출할때에 이전에 쓰고 있던 것들을

external memory같은곳에 save를 하고 필요한 register를 써야 하기 때문이지요..

 

Windowed Register File같은 경우는 Register의 windows만 간단하게 바꾸면 되기 때문에

이러한 save가 특별히 필요가 없지요..

 

하지만 이러한 Flat Register File 구조가 항상 일정한 시간을 가지기 때문에

worst case에 대한 예측이 가능한 것이 특징이 되겠지요..

 

 

 

일반적으로 Embedded CPU들은 거의 Flat Register File을 쓰고 있습니다.

 

좀 이해가 되나..

 

>register file, register는 알겠는데

>앞에 왜 flat 이 붙는건지 모르겠어.

>왜 flat register file이라고 부르는건지 가르쳐주삼~

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자Claire | 작성시간 07.07.02 음.. 대충은 알겠어.. 설명 고마워요~~
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼