임베디드 애플리케이션용 프로세서 ARM Coretex™-R4 ②

Cortex-R4 프로세서는 여러 가지 시간 설정 옵션의 조합을 제공함으로써 기존의 ARM946E-S, ARM966E-S와 ARM968E-S 프로세서가 처리하던 애플리케이션은 물론 보다 많은 애플리케이션으로 적용범위를 확대하고 있다. 여기서 ARM9E 프로세서 제품군과 Cortex-R4 프로세서의 주요 차이점에 대해 알아보고자 한다.성능 및 효율성파이프라인(Pipeline)Cortex-R4 프로세서의 파이프라인 길이는 ARM9E 프로세서 제품군에서 사용된 5단계 파이프라인에서 8단계로 늘어났다. 이는 각 단계별로 필요한 로직의 양적 감소를 통해 해당 프로세서와 라이브러리에 보다 높은 동작 주파수(Operating Frequency)를 가능하게 한다.다양한 프로세서에서 사용되는 각 코어의 최대 주파수에 대한 정보는 http://www.arm.com/products/CPUs에서 확인할 수 있다.파이프라인의 길이가 길어진 것 외에도 파이프라인의 뒤 단계는 4개의 병렬 파이프라인으로 분리되어 각기 다른 종류의 명령어를 처리한다(일부 경우에는 동시에 처리한다).쪾로드 스토어(Load Store): 이 파이프라인은 모든 메모리 액세스를 처리한다. 메모리 액세스는 두 단계의 파이프라인으로 분리되어 대역폭 손실 없이 RAM 액세스 시간을 연장할 수 있다.쪾MAC: 곱셈 연산은 세 단계의 파이프라인으로 분리되며, 이 중 마지막 단계에서는 레지스터 뱅크(Register Bank)도 업데이트한다.쪾ALU: 산술연산이 기본 ALU 연산 단계인 오퍼랜드 프리-쉬프트(Operand Pre-shift) 단계를 사용하고 레지스터 뱅크(Register Bank)를 업데이트하기 전에 선택적으로 포화 상태를 만든다.쪾디바이더: 디바이더는 Radix-4 알고리즘을 사용하며 일반적인 32비트 분할은 단일 파이프라인 단계에서 6개의 사이클을 차지한다.이는 다섯 개의 파이프라인 단계가 한 번에 하나의 명령어만 처리하는 ARM9E 프로세서 파이프라인과 대조된다.디바이더를 제외한 독립된 파이프라인들은 함께 진행된다. 이는 명령 실행의 순서를 유지해주고, 비순차적인 완료와 관련된 복잡한 로직이 발생하지 않도록 막아준다. 그러나 분할이 완료되는 동안 다른 파이프라인에 의해 지체되는 것을 막기 위해 디바이더는 분리된다. 다른 파이프라인들이 아직 완료되지 않은 디바이드 연산으로부터 결과를 요구하는 경우 지체가 발생하며, 데이터 위험이 발견된다.로드-스토어(Load-store) 파이프라인은 이슈 단계에서 어드레스 생성을 실행함으로써 기타 파이프라인과 상대적으로 비대칭이 된다. 이는 로드-유즈 페널티(Load-use Penalty)를 일반 로드 중 하나에 유지시킨다. 이러한 특징은 ARM9E 프로세서 제품군에서도 마찬가지로 나타난다.로드-유즈 페널티(Load-use Penalty)는 뒤따르는 명령어들로 인하여 즉시 로드된 데이터가 필요할 때 발생된 지연을 의미한다.듀얼 이슈(Dual Issue)Cortex-R4 파이프라인 구조는 실행 단계를 이중으로 실시하지 않고도 듀얼 이슈를 제한적인 수준으로 하도록 지원한다. 두 번째의 제한적 디코드 유닛이 제공되어 특정 명령어 세트가 병렬구조로 디코딩 되고 이슈된다. 가령 ‘add’ 명령에 이어 ‘load’ 명령어가 따라오면 ‘add’ 명령어가 ALU 파이프라인에 이슈되는 것과 동시에 로드-스토어(Load-store) 파이프라인으로 로드 명령을 이슈하는 것이 가능할 수도 있다. 그 결과로 아주 적은 추가 실리콘 오버헤드만으로 CPI가 크게 향상된다. 듀얼 이슈 능력에 대해서는 참고자료 [1]에 보다 자세히 나와 있다.이러한 특징들의 결과로 드라이스톤(Dhrystone) 성능이 ARM946E-S 프로세서일 때 1.14DMIPS/MHz이던 것이 Cortex-R4 프로세서에서는 1.62DMIPS/MHz로 증가되었다. 이로써 주어진 주파수에서 42%의 성능 향상을 보이거나 주어진 작업부하에서 주파수의 감소의 효과를 가져 오고 이는 곧 전력 소모의 감소로 이어진다.실리콘 면적 (Silicon Area)Cortex-R4 프로세서 파이프라인의 증가된 복잡성은 실리콘 면적을 증가시킬 가능성이 있고 비용도 따라서 증가될 수 있다. 그러나 면밀한 설계를 실시함으로써 이와 같은 증가를 최소화했다. 실제로 ARM946E-S 프로세서의 가장 높은 범위에 가까운 목표 주파수대에서 Cortex-R4 프로세서가 사실상 더 작게 나타나는데 이는 합성 툴이 타이밍 제약을 해소하는 것을 보다 쉽게 하고 더 많은 면적 최적화를 수행하였기 때문이다. 다양한 프로세서의 면적에 관한 보다 자세한 최신 정보는 http://www. arm.com/products/CPUs에 나와 있다.분기 예측 (Branch Prediction)파이프라인이 길어지면 데이터 의존성으로 인해 인터록(interlock)이 (하나의 명령어가 기존 명령어에 대한 결과가 나오기 전에는 진행할 수 없는 경우) 증가하고 분기 페널티(분기 이후에 파이프라인을 다시 채우기 위해 소요되는 시간)가 증가하기 때문에 프로세서의 CPI(Cycle Per Instruction) 증가의 효과가 발생한다. 이러한 효과를 상쇄하기 위해 광범위한 데이터 전달과 분기 예측 등 다양한 방법이 사용되고 있다. 분기 예측은 각 분기 명령어가 파이프라인에서 초기에 실행될 것인지 여부를 예측함으로써 필요한 파이프라인 플러시(Pipeline Flush)의 수를 줄인다. 이 예측이 정확한 경우 코어가 분기 이후에 정확한 위치로부터 명령어를 가져올 수 있기 때문에 분기가 실행된 후에 파이프라인을 플러시 할 필요가 없게 된다. 함수 반환 주소(Function Return Address)의 정확한 예측을 위해 리턴 스택(Return Stack)을 사용하는 것 외에도 8비트 글로벌 분기 히스토리 방법(8bit Global Branch History Scheme)이 사용된다. 이 방식은 기존 분기 결과에 대한 대규모 캐시가 없어도 정확한 결과를 제공한다. ARM9E 프로세서군은 분기 예측을 실시하지 않으므로 분기가 취해질 때마다 파이프라인 플러시가 발생한다.AMBA 3 AXICortex-R4는 ARM946E-S 프로세서에서 사용되는 32비트 AMBA AHB 인터페이스와는 달리 64비트 AMBA 3 AXI 메모리 인터페이스를 탑재하고 있다. AMBA 3 AXI로 전환함으로써 다수의 남아 있는 주소의 이슈와 비순차적으로 리턴 될 데이터에 대한 지원 등, 여러 가지 성능상의 장점을 얻을 수 있다. 많은 애플리케이션에서 활용할 수 있는 가장 중요한 장점은 느린 메모리 또는 주변장치가 7ㅈ액세스를 하는 동안 버스를 블록 하지 않기 때문에 코어가 오랜 시간이 소요되는 액세스가 완료될 때까지 기다릴 필요 없이 더 많은 수의 액세스를 수행할 수 있다는 점이다. 버스를 64비트로 확대한 것도 사용 가능한 대역폭을 증가시키므로 여덟 번의 액세스 대신 네 번의 액세스만으로도 캐시 라인필(8words)이 완료될 수 있도록 지원한다.인터럽트 지연시간 (Interrupt latency)Cortex-R4 프로세서 시스템의 최악의 경우와 평균 인터럽트 지연시간을 둘 다 향상하기 위한 기능이 몇 가지 있는데, 로드 멀티플(Load Multiple) 명령이 시작된 후에도 이를 버릴 수 있는 능력과 인터럽트 핸들러(Interrupt Handler)가 시작될 때 프로세서 상태를 저장하고 변경하기 위한 새로운 명령어의 사용, 그리고 막힘 현상이 없는 AMBA 3 AXI 버스 등이 바로 이에 해당한다.ARM946E-S 프로세서에서 FIQ(Fast Interrupt) 최악의 지연 상황에서는 16words로 LDM(Load Multiple) 명령어가 시작된 직후에 FIQ 시그널이 발생한다. ARM946E-S 프로세서는 이러한 명령어를 중도에 버릴 수 없고, 그 명령어가 완료될 때까지는 인터럽트 처리 또한 할 수 없다. 10words는 3개의 캐시 행(각각 8words)을 확대할 수 있으므로 24words가 AMBA AHB 버스 상에서 로드 되게 만든다. 또한 각 캐시 행은 양측 절반에 잘못된 데이터를 가질 수 있으므로 이러한 행들(24words)이 메모리에 다시 써야 한다. 기록할 수 있는 버퍼가 가득 찬 경우 이 또한 비워야 하기 때문에 8AHB 쓰기가 추가적으로 필요하게 된다. 최종 로드는 데이터 중단을 야기할 수 있어 응답 시간에 3개의 사이클을 추가로 더한다. 2:1 코어가 AMBA AHB 클록 비율이라고 가정하면, 대기 상태가 없는 메모리(Zero Wait State Memory)를 사용하는 경우일지라도 118사이클이 소요된다. 이와 같은 상황이 자주 발생될 가능성은 별로 없지만, 실시간 시스템은 이러한 최악의 경우에 대비해야 한다. 최대 LDM(Load Multiple)이 4words로 제한이 되어 있을 지라도 외부 중단은 없고, 캐시 행의 절반만이 오염되고 쓰기 버퍼가 절반만 채워진 상태라고 가정했을 때, 지연시간은 약 60사이클이 될 것이다. 이 사이클 중 대다수가 버스 액세스를 갖기 때문에 메모리 시스템에서 대기 상태를 실시하면 이러한 지연시간은 크게 증가된다.Cortex-R4 프로세서가 LDM(Load Multiple) 명령어를 실행하는 도중에 인터럽트 요청을 받으면 실행중이던 명령어를 정상 메모리로부터 버린다. 이것으로 최대 16개의 데이터 읽기 완료와 관련된 인터럽트 지연시간을 피할 수 있다. 그 후에는 코어가 리턴 된 데이터를 위해 대기하고 있지 않으므로 데이터 캐시 라인 필(Data Cache Line Fill)이 완료되는 동안 명령어 캐시나 TCM으로부터 IRS(Interrupt Service Routine)를 꺼내올 수 있다. 또한 AMBA AXI ID 필드를 사용함으로써 AMBA AXI 버스 상에서 미리 실행 중인 캐시 라인 필이 완료될 때까지 기다릴 필요 없이 ISR을 꺼내올 수 있다. VIC(Vectored Interrupt Controller) 포트는 ISR의 주소가 AMBI AXI 버스 상에서 주변장치에 액세스 하지 않아도 프리페치 유닛(Pre-fetch Unit)으로 전달되게 한다.VIC 포트가 사용되지 않는 경우에도 이미 실행중인 라인필이 완료될 때까지 대기할 필요 없이 AMBA AXI 버스 상에서 주변장치에 액세스할 수 있다. 이는 캐시를 가지고 또는 캐시 없이 읽기를 위해 각기 다른 AMBA AXI ID를 사용함으로써 지원되며, 이러한 것들이 비순차적으로 완료될 수 있도록 지원한다. 잘 정렬된 메모리와 디바이스 메모리(LDM을 버릴 수 없는)가 신중히 사용된다는 가정 하에, 최대 인터럽트 지연시간은 AMBA AXI 메모리와 주변장치의 액세스 시간과는 거의 관계없이, 약 20사이클 정도이다.Cortex-R4 프로세서는 또한 마스크 불가능(Non-maskable) 인터럽트 옵션을 제공하고 있는데, 이는 소프트웨어가 FIQ(Fast Interrupt Requests) 기능을 억제 하는 것을 방지한다. 이러한 옵션은 안전성이 필수적인 애플리케이션에서 특히 중요하다.시스템 비용ASIC에서 특정 프로세서를 사용하는 비용은 프로세서가 차지하는 실리콘 면적에만 국한되는 것이 아니다. 모든 프로세서는 그 기능의 구현을 위하여 메모리, 주변장치와 버스 인프라스트럭처 등 기타 블록으로부터 다양한 지원을 필요로 한다. 또한, 개발 비용과 시간들도 전체적인 비용의 중요한 요소임에 틀림없다. 실리콘 면적과 관련하여 주로 소요되는 비용 중 하나는 메모리인데, Cortex R-4 프로세서는 이러한 비용을 절감하기 위한 다양한 기능을 가지고 있다.Thumb-2Cortex-R4 프로세서는 본래의 ARM 명령어 세트와 더불어 Thumb-2 명령어 세트를 포함한 ARMv7R 아키텍처를 구현한다. ARM9E 프로세서 제품군은 ARM 명령어 세트와 Thumb 명령어 세트를 포함하고 있는 ARMv5TE 아키텍처를 구현한다.ARM 명령어 세트는 32비트의 고정된 명령어 폭을 갖는다. 이는 매우 강력한 명령어 인코딩을 가능하게 함으로써 ARM9E 프로세서 제품군에 최대 성능을 제공한다. Thumb은 감소된 명령어 폭인 16비트를 사용하는 대안적 명령어 세트이다. 이로써 코드 밀도를 35% 가량 개선할 수 있다(주어진 기능을 구현하는 데 사용되는 Thumb 코드는 동급 ARM 코드에 비해 35% 정도 작다). 그러나 16비트 연산부호(opcode)로는 보다 적은 기능들이 인코딩 되므로 Thumb 코드의 성능은 동급 ARM 코드보다 낮은 수준이다. 또한, Thumb 명령어 세트는 모든 아키텍처에 대한 액세스를 제공하지 않기 때문에(한 예로 인터럽트를 마스크 하도록 지원하지 않는다) ARM9E 프로세서 제품군을 기반으로 하는 모든 시스템은 ARM 코드를 적어도 일부는 사용할 것이다. ARM 코드와 Thumb 코드는 일반적으로 기능에 따라 혼합되며 각 기능마다 어떤 명령어 세트가 가장 적절한 지는 소프트웨어 개발자의 판단 하에 있다.Thumb-2는 Thumb 명령어 세트로부터 나오는 모든 16비트 명령어 연산부호를 보유하고 있고, 기존 Thumb 소프트웨어와 바이너리(binary) 호환성을 가진다. ARM9E 프로세서 제품군 코드는 재컴파일이나 재어셈블리 없이도 Cortex-R4 프로세서에서 실행될 수 있다. 그렇지만 ARM 명령어 세트가 가진 모든 기능을 제대로 제공하기 위해서는 광범위한 32비트 명령어들로 이를 보완해야 한다. 이는 16비트와 32비트 명령어들이 명령어별로 혼합될 수 있다는 것을 의미하며, 특히 개발 비용 면에서 중요한 점은 컴파일러가 최적의 명령어 크기 혼합을 효과적으로 선택할 수 있다는 것이다. 그 결과로 Thumb-2 코드는 ARM 코드의 고성능을 유지함과 동시에 Thumb의 코드 밀도 이점을 제공할 수 있다. 이렇게 하면 ARM 코드를 실행하는 ARM9E 프로세서 제품을 기반으로 한 시스템과 비교했을 때 필요한 프로그램 메모리양을 줄일 수 있다. Thumb 코드를 실행하는 ARM9E 프로세서 제품 기반 시스템과 비교했을 때 주어진 성능점(Performance Point)을 위해 필요 동작 주파수의 감소를 가져올 수 있다. Thumb-2 명령어 세트의 장점은 참고자료 [2]에 보다 자세히 설명되어 있다.RAM 요구사항ARM9E 프로세서 제품군과 Cortex-R4 프로세서 모두 TCM과 캐시의 형태로 로컬 메모리를 지원한다. 이를 위해서는 코어 주파수에서 실행될 수 있는 온 칩 RAM이 구현되어야 한다. ARM946E-S 프로세서의 경우에 이 RAM은 코어 클록 사이클 시간의 약 40%에 해당하는 응답 시간을 필요로 한다. 가령 200MHz(5ns 사이클 시간)의 속도로 실행되는 ARM946E-S 프로세서는 2ns의 응답시간이 필요하다.Cortex-R4 프로세서 파이프라인은 2개의 사이클 동안 로컬 RMA에 액세스한다. 이는 RAM에서 필요한 액세스 시간이 코어 클록 사이클 시간의 100%로 증가되었다는 것을 의미한다. 따라서 200MHz에서 5ns의 응답 시간이 요구되고, 심지어 400MHz에서도 요구되는 응답 시간은 2.5ns로서 200MHz ARM946E-S 프로세서에서 요구되는 시간보다 더 길다. 이러한 특징은 저속 메모리 라이브러리를 사용할 수 있게 하여 실리콘 면적과 전력 소모를 현저히 감소시킬 수 있다. 또한 Artisan Advantage RAM 대신에 Artisan Metro RAM을 쓸 수 있기 때문에 35%의 면적 감소와 54%의 전력 절감이 가능하다. 이를 통해 면적 및 전력 감소 외에도 타이밍 클로저(Timing Closure)가 훨씬 용이해지므로 설계 주기를 앞당기고 위험을 줄일 수 있다.유연성(Flexibility)ARM946E-S 프로세서를 합성할 때는 캐시 크기나 TCM 크기 등 몇 가지 구성 옵션을 변경할 수 있다. Cortex-R4 프로세서는 애플리케이션 요구사항에 보다 가까이 맞추기 위해서 더 많은 수의 구성 옵션을 변경할 수 있도록 지원한다. 또한 이러한 구성 용이성 덕분에 Cortex-R4 프로세서는 다양한 종류의 애플리케이션에서 사용될 수 있다.TCM 유연성(TCM flexibility)ARM946E-S 프로세서와 Cortex-R4 프로세서는 모두 TCM(Tightly Coupled Memory)이라고 불리는 로컬 메모리 아키텍처를 지원한다. 이 두 프로세스는 모두 명령어와 데이터용으로 TCM의 사용을 지원한다. ARM946E-S 프로세서의 경우 이들 중 하나가 명령어를 지원하고 다른 하나가 데이터를 지원하는 방식으로 물리적으로 분리된 두 개의 RAM으로서 구현되어야 한다. 코드는 데이터 TCM으로부터 실행될 수 없으며 데이터가 명령어 TCM에서 액세스 될 수 있긴 하나 이렇게 하면 성능 저하가 생긴다. 이러한 제약 때문에 코어가 합성될 때 명령어와 데이터용으로 사용 가능한 TCM 크기 사이의 분리는 개별적으로 고정되어 있다.Cortex-R4 프로세서 상의 TCM은 훨씬 더 유연하다. 세 개의 메모리 포트가 있으며, 프로그래머에게는 두 개의 분리된 메모리 영역으로 보인다. 이들 중 두 개가 결합해서 위쪽 반이나 아래쪽 반으로 구성되었거나 인터리브(interleaved) 영역으로 구성된 단일 주소 영역에 액세스할 수 할 수 있다. 인터리브에서는, 짝수 주소를 가진 더블 워드(Double Words)가 하나의 RAM에 저장되고 홀수 주소를 가진 더블 워드가 나머지 RAM에 저장된다. 합성 시에 설계자는 한 개, 두 개 혹은 세 개의 분리된 RAM의 구현을 선택할 수도 있다.분리된 RAM이 구현된 곳에는 코어가 이들을 병렬로 액세스할 수 있어서 성능을 증가시킨다. ARM946E-S 프로세서에서와는 달리 이러한 RAM이 합성 시에 명령어 혹은 데이터 메모리로 지정될 필요가 없다. 프로세서가 모든 구현된 RAM에 두 종류의 액세스 중 아무 것이나 루트를 정 할 수 있는 내부 버스 매트릭스를 가지고 있기 때문이다. 동시 진행되는 명령어 및 데이터 액세스가 동일한 RAM 내에 위치할 때만 지연이 생긴다. 이러한 메모리들은 ARM946E-S 프로세서의 32비트 너비와는 달리 Cortex-R4 프로세서 상에서 64비트의 너비를 가지며, 대역폭을 더욱 증가시킨다. 또한 ARMv7 명령어 세트는 프로그램 코드와 같이 저장된 데이터인 리터럴 풀(Literal Pool) 액세스의 필요를 감소시킨다. 즉 설계자가 오직 하나의 TCM RAM을 구현하겠다고 결정하더라도 그에 따른 성능 페널티는 최소화 된다는 의미이다. 많은 경우에 있어 단일 논리 기억장치(Single Logical Memory)는 레이아웃과 타이밍을 개선하기 위해 두 개의 분리된 블록으로 구현된다. 이와 같은 경우에 두 개의 TCM 포트를 사용한다고 비용이 추가로 들지 않으며, 접속이 보다 직접적이고 MUX를 사용해야 할 필요가 사라진다.DMA또한 Cortex-R4 프로세서는 ARM946E-S 프로세서나 ARM966E-S 프로세서에는 없었던 DMA 포트를 탑재하고 있다. 슬레이브 AMBA AXI 포트는 외부 DMA 컨트롤러(혹은 다른 프로세서)가 내부 TCM에 간단하게 액세스할 수 있도록 지원한다. 이 포트를 통해 액세스 하는 것은 코어의 명령어 및 데이터 액세스와 동일한 내부 매트릭스를 사용해서 이루어지며, 이와 병렬로 진행될 수 있다. TCM이 인터리브한 더블 워드로 구현되는 경우, 코어와 DMA 액세스는 대체 주소에 액세스함으로써 동일한 메모리 범위에 효과적으로 동시 액세스할 수 있다(가령 데이터를 코어가 처리하도록 TCM으로 스트리밍 하는 경우). 이로써 관련된 비용 손실 없이 이중 포트 RAM 사용의 혜택을 제공한다.MPUARM946E-S 프로세서는 8영역(region) MPU를 가지고 있으며 최소 영역 크기는 4KB이다. MPU는 옵션 사양이 아니므로 ARM946E-S 프로세서를 기반으로 한 시스템에서는 항상 존재하게 된다(ARM946E-S 프로세서 제품군 중 MPU가 없는 다른 제품도 있지만 이들은 캐시가 없다). Cortex-R4 프로세서 상의 MPU는 8개 혹은 12개의 영역으로 구성이 가능하며 필요한 경우에는 유연성을 증가시키지만 그렇지 않은 경우에는 해당 실리콘 면적을 사용하지 않아도 된다. MPU는 또한 완전히 없앨 수도 있지만, 그렇게 할 경우, 보호 애트리뷰트가 고정 맵핑된다. MPU 영역의 최소 크기는 32바이트이며, 이렇게 하면 더 정밀한 제어를 지원하고 메모리 손실을 감소시킬 수 있다.아키텍처ARMv7 아키텍처는 세 가지 프로파일로 구성되어 있다(애플리케이션 프로파일, 실시간 프로파일, 마이크로컨트롤러 프로파일). Cortex-R4 프로세서는 이 중에서 실시간(realtime) 프로파일을 구현한다. 이는 아키텍처뿐만 아니라 특정 애플리케이션 공간의 구현을 최적화 시켜준다. 한 예로 실시간 프로파일(즉, Cortex-R4 프로세서)은 임베디드 제어 애플리케이션에서 특히 유용한 하드웨어 분할 명령을 지원한다. ARMv7R은 ARM946E-S 프로세서 구현된 ARMv5 아키텍처와 바이너리 역호환이 가능하다. 즉 ARM946E-S 프로세서용으로 컴파일 코드가 재컴파일 할 필요 없이 Cortex-R4 프로세서에서도 실행될 수 있다는 의미이다. 재컴파일을 하면 Cortex-R4 프로세서용으로 최적화가 가능하다(Thumb-2로 할 수 있다). 또한 일부 시스템 코드는 새로운 MPU 영역 크기와 애트리뷰트를 사용해야 하는 경우에 변경되어야 할 수도 있다.Cortex-R4 프로세서는 ARM9E 프로세서 제품군과 비교해 최대 연산 주파수와 컴퓨팅 효율 측면 모두에 커다란 성능 증가를 가져 왔다. 또한 구성 용이성이 증대되어 프로세서가 애플리케이션의 요구사항을 보다 면밀히 해소할 수 있도록 지원한다. 이러한 개선사항은 ARM9E 프로세서 제품군의 특징인 저전력 소모와 작은 크기를 희생하지 않고도 달성되었다. 특히, ARMv7R 아키텍처는 기존 ARM 코드 베이스와의 호환을 보장하며, Thumb-2 명령어 세트를 사용함으로써 최적화를 지원한다.쪹 연재순서임베디드 애플리케이션용 미드레인지급 프로세서ARM Cortex-R41회 Cortex™-R4 프로세서 아키텍처2회 ARM9E 프로세서 제품군과의 비교ARMARM은 무선, 네트워킹 및 소비자 엔터테인먼트 솔루션에서부터 이미징, 자동차, 보안 및 스토리지 장치에 이르기까지 고급 디지털 장치의 핵심 부분에 사용되는 기술을 설계하는 기업이다. ARM의 제품군에는 아날로그 기능 및 초고속 연결 제품뿐 아니라16/32비트 RISC 마이크로프로세서, 데이터 엔진, 3D 프로세서, 디지털 라이브러리, 임베디드 메모리, 주변 기기, 소프트웨어 및 개발 툴 등이 포함된다.참고자료[1] Thomas Wiegand, Gary J Sullivan, Gisle Bjon-tegaard, Ajay Luthra “Overview of the H.264/AVC Video Coding Standard”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, July 2003, pp560-576.[2] ISO/IEC 14496-10:2004 FDAM 1, Information technology - Coding of audio-vusual objects-part 10: Advanced Video Coding, Amendment 1 : AVC professional extensions
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지