전체 글 941

파이프라인(Pipeline)

파이프라인(Pipeline)프로세서에서 명령어를 실행하기 위해서는 크게 3단계의 과정을 거친다.1단계: 페치(fetch)단계에서는 명령어를 읽어 옵니다.2단계: 디코드(decode) 단계에서는 읽어 온 명령어를 분석합니다.3단계: 실행(execute) 단계에서는 분석한 명령어를 실행합니다.하나의 명령어를 실행하기 위해서는 이러한 3단계, 혹은 3 클럭이 필요합니다만, 아래의 그림처럼 파이프라인 형태로 3가지 작업이 병행되어 실행이 되면 결국 1개의 명령어가 1클럭에 실행이 되는 것과 같은 효과가 있다. 실행속도를 향상시키는 한 가지 방법이다. ARM7의 명령어 중 LDR/STR와 같은 명령어는 데이터를 읽거나 쓰는 과정이 있으므로, 3단 파이프라인이 동작이 지연될 수 있다. RISC에서는 한 명령어를 실..

CISC vs RISC

CISC(Complex Instruction Set Computer)이것은 명령어 형태가 말 그대로 복잡하다는 것을 의미한다.특정한 기능을 소프트웨어가 아닌 하드웨어적으로 구현함으로서 처리속도를 높이려는 것이 목적이 었다. 따라서 기능이 추가됨에 따라 하드웨어 구현이 되는 명령어들도 추가되어 복잡하게 되었다.명령어의 복잡성은 IC를 설계하는 회로의 복잡성과 비례하므로, 발열과 더불어 속도증가에 제한을 가지게 되었다. RISC(Reduced Instruction Set Computer)많은 명령어 중에서 반복적으로 많은 쓰이는 명령어는 하드웨어적으로 구현하고, 다른 명령어들은 하드웨어적으로 구현된 명령어들을 여러 개 사용해서 소프트웨어적으로 구현하고자 만든 형태이다.명령어의 수를 줄이므로, 하드웨어가 간단..

ARM 프로세서의 장점

ARM 프로세서의 장점 고성능(Very High Performance) 기존 임베디드 시장에서는 주로 8/16비트의 프로세서가 주류를 이루고 있다.하지만 시장에서 요구되는 응용분야가 점차 음성, 영상, 통신 등의 고성능 처리가 필요하게 됨에 따라 32비트 고성능 프로세서가 등장하게 되었다.기존에 존재하던 32비트 프로세서는 성능은 우수한 반면에 가격, 시스템의 크기, 전력소모 면에서는 8/16비트 프로세서에 비해 불리한 면이 많아 ARM 프로세서는 이러한 단점을 최소화하면서도 고성능의 처리능력을 가지도록 설계되어, 많은 분야에서 그 수요가 급증하고 있다. 저전력(Very Low Power Consumption) 개인용 컴퓨터의 분야에서는 전력소모보다는 처리속도가 더 우선시 되었다. 처리속도를 증가시키기 ..

System On a Chip

SoC(System On a Chip) 디지털용 반도체 소자는 집적도 면에서 계속 발전하여 왔습니다.집적도에 따른 용어는 아래와 같이 우측으로 갈수록 높은 집적도를 표현 할 수 있다.SSI=>MSI=>LSI=>VLSI 그러나 반도체 기술의 빠른 발전에 따라 위의 용어로 표현하기에는 한계에 온 것 같습니다. 집적도 측면에서 요즘은 "SoC"라는 용어를 쉽게 들면 중요한 반도체 소자 몇 개를 하나로 집적 하는 수준이 아닌, 시스템 (CPU, memory, peripherals) 전체를 하나의 소자로 집적하고자 하는 것 이다. 이것이 의미하는 바는 단순히 집적도가 높다는 것만은 아닙니다.시스템의 소형화, 저가격,고성능은 부가적으로 얻을 수 있다. 최근에는 반도체 특성상 차이를 보이던, 아날로그 소자 및 통신소..

Cache Memory, Write Buffer

캐시 메모리 캐시 메모리는 ARM 프로세서 내부에 있는 특수 목적의 메모리로, 가장 최근에 참조되었던 혹은 참조될 가능성이 있는 명령어, 데이터를 저장하는데 사용한다. CPU는 읽고자 하는 데이터가 캐시 메모리에 있는 경우, 외부 메모리를 참조하지 않고 캐시에서 데이터를 읽어 오게 된다.캐시 메모리의 속도는 CPU와 동일하게 빠른 속도로 동작하므로, 속도가 상대적으로 느린 외부 메모리를 참조하는 경우보다 더욱 빠르게 동작하며, 결과적으로 캐시 메모리를 참조하는 경우가 많을수록 명령어, 데이터를 읽는 동작속도는 최고성능을 발휘하게 되는 것이다. 라이트 쓰루(Write Through) CPU가 특정 주소에 데이터를 쓰기 동작하는 경우를 고려해 봅시다. 캐시 메모리 안에 이미 해당 데이터가 존재하는 경우, 라..