안구괴물축산업협동조합...ㅡㅅㅡa....

atmel.egloos.com

포토로그



Apple7 64bit AP 출시에 즈음하여 다시 한 번 돌아보는 ARM64bit... 모바일/전기전자



A32에서 A64가 추가되면서 발생한 변경점들....

1. 명령어 사이즈는 32bit를 유지. (A32에서는 32bit, T32는 16bit) :  명령어 사이즈가 유지됨으로 인해 64bit로 컴파일시 실행파일 크기 증가는 최소한으로 억제 가능.


2. A32와 A64명령어셋은 64bit모드에서 섞어 쓸 수 없고 독립적으로 사용해야 함. -물론 App단계에서의 A32호환모드는 그대로 유지-
    - x86과 x64의 경우 64bit모드에서 동작할 때에도 32bit에서 쓰는 명령어를 그대로 인식할 수 있으므로 섞어쓰는 게 가능하지만 A32와 A64는 혼용 불가.
    - 그렇게 설계된 이유는 양쪽 명령어를 동시에 디코딩 하도록 설계할 경우 유발되는 디코더 설계의 복잡성을 회피하기 위함이며 (디코더의 복잡화==전력소모 증가) 결국 A32전용 디코더와 A64전용 디코더가 나란히 들어감.


3. GPR과 FP/SIMD 레지스터가 확장.
    - GPR은 31개,  FP/SIMD 레지스터는 32개로 확장.
    - SIMD는 기존 단정도실수 뿐만 아니라 배정도실수도 다룰 수 있음.


4. 기존 ARM 명령어의 많은 특징들이 사라짐.
    - 명령어의 조건실행 플래그가 대부분 삭제됨.
        = 기존 A32에서는 대부분의 명령어가 조건부 실행이 가능 ==> A64에서는 분기 명령어에서만 가능.
    - 뱅크 방식의 동작 모드가 삭제되고 대신 4개의 Exception Level  방식이 새로 도입.
        = 보다 일반적인 방식으로 변경.
    - PC, SP레지스터가 GPR에서 SPR로 분리됨.
    - 다중 LD/ST 명령어가 삭제됨.

    == 기존 ARM의 명령어를 복잡하게 만들었던 부분들이 대부분 삭제되면서 명령어셋 구조가 보다 단순명료하(고 재미없)게 변경됨. 


5. 그외.
    - Virtual Adress 공간은 2개의 48bit영역으로 제한(1개는 커널용 공간, 1개는 애플리케이션용 공간)
    - 암호화 명령 추가.
    - TBL모드가 4kB, 64kB모드로 두 개가 됨.  64kB모드에서는 TLB변환이 한단계 줄어들면서 메모리 액세스 지연이 줄어듬.




덧글

  • RuBisCO 2013/09/15 12:50 #

    그건 그렇고 베이트레일의 64비트 전환은 올해 안에 못한다는군요. M$가 아직 윈도우 8.1에서도 64비트는 커넥티드 스탠바이를 지원하지 못하고 있다고 합니다.
    인텔이 자랑하는 하즈웰의 전력관리도 마찬가지로 발목이 묶인 상태. 분명 인텔이랑 같이 추진한 양반들인데 어째 애플도 하고 있는데 아직도 ㅡㅡ;;
  • Ya펭귄 2013/09/15 12:37 #

    발머훃이 M$내부를 그동안 꽤 조져놓은 결과인지도 모르겠다는 생각이 듭니다.....

  • EE 2013/09/15 15:48 # 삭제

    여러번의 포스팅에 연달아서 언급하신 걸 보니 5S의 64비트를 호의적으로 보시는 것 같은데, 맞나요? 애플 제품에 관해서 그동안 별로 좋지 않았던 시선을 유지하신 것 같아서 말입니다.

    그리고 오늘은 태그가....
  • Ya펭귄 2013/09/15 16:30 #

    이번 5S의 64비트 도입이 애플의 개발능력의 신속함을 보여준다는 측면에서 긍정적입니다... 그리고 오랜만에 스펙질에서 1등을 따먹어봤다는 측면에서도 긍정적이지요.


    태그는 추가했습니다.
  • 수치해석 2013/09/15 16:15 # 삭제

    A32전용 디코더와 A64전용 디코더가 나란히 들어감.
    //

    구현에 따라 다를 수 있을 겁니다. ARM 구현은 따로 들어가도 애플,퀄컴은 합쳐버릴 수도 있습니다.
  • Ya펭귄 2013/09/15 16:32 #

    다를 수도 있죠... 하지만 애초에 명령어셋을 그렇게 '디코더 분리'를 가정해서 구성해놓은 이상 마이크로아키텍처를 구현하는 측도 그걸 엎어가면서까지 구현을 하는 게 쉽지는 않겠죠...
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.