용's
[Before] ARM은 무엇인가? 본문
이번 학기(3학년 2학기) 수업 중에 Embedded System이라는 과목을 수강한다. 그리고, 이 수업에서 'ARM System-on-Chip Architecture' 라는 교재를 다루게 된다.
사실 이 과목은 '컴퓨터 구조' 라는 수업이 선수과목으로 지정되어 있는 과목인데, 컴퓨터 구조 과목은 그리 잘했던 과목도 아니었고, 또 하드웨어라는 것이 참으로 나에게 어렵게 느껴지다보니, 이번엔 Embedded System 이라는 이 과목을 좀 확실히 해둘 필요가 있다는 생각이 든다.
그리하여, 블로그도 시작했으니 여기에 나만의 정리노트를 만들고자 한다. 물론 내용은 수업내용과 기타 여러 블로그를 짜깁기하여 작성할 계획이다. 딱 수업 내용만 들어가지도 않을 계획이고, 이해를 도울 수 있다면 교재외의 내용도 모두 참고하여 작성할 계획이다.
서론이 길었지만, 아무튼 난 이번 Embedded System 이라는 이 과목에서 교재 제목에도 나와있듯이, ARM 이라는 것을 공부하게 되고, 또 이것을 알아야만 한다.
그럼 ARM이 무엇인지 먼저 살펴보며 시작하자.
-------------------------------------------------------------------------------------------
ARM은 무엇인가?
생소한 단어일 수 있다. 절대 말 그대로 '팔'이라는 뜻은 아닐 것이다.
일단, ARM이란 Advanced RICS Machine의 약자로서 그 뜻을 그대로 해석하면 향상된 RISC 기계라고 할 수 있다.
그렇다면 도대체 RISC는 무엇인가? 사실 컴퓨터 구조 수업을 들으며, 이 RISC가 무엇인지 심도있게 공부해본 적이 있다. RISC에 대해서는 잠시 후에 다시 그 내용을 언급하도록 하고, ARM을 다시 살펴보자.
ARM, 정확히 ARM architeture는 Embedded Machine에 많이 사용되는 32-bit RISC 프로세서라 위키피디아에 나와있다. 사실 이 ARM이라는 것은 1985년 4월에 영국의 캠브릿지에 있는 Arcon Computer사에서 처음으로 사용화 되었다. 이 때에는 이 ARM이라는 것이 Arcon RISC Machine의 약자에서 ARM이라는 단어가 나왔다. 그리고 BBC방송과의 합작으로 BBC micro라는 8-bit 6502 CPU를 이용한 BBC Microcomputer라는 것을 만들어 그 이름을 떨치기 시작했다.
그럼 여기서 RISC를 정리해보자. RISC는 Reduced Instruction Set Computer의 약자이며, CISC(Complex Instruction Set Computer)와 반대되는 개념이다. 그럼 CISC는?
1. 명령어의 개수가 많다
2. 명령어를 처리하는데 많은 시간(Clock Cycle)이 든다.
3. Interrupt Latency(대기시간)이 길다.
즉, ARM은 RISC로서 이와 반대이므로, 멀티미디어와 같은 복잡한 성능을 요구하는 것이 아니라 기계와 기계를 컨트롤 할 수 있는, 즉 인터럽트를 잘 해결할 수 있는 구조를 채택하고 있는 것이다. (RISC에 관해서는 계속 언급될 것이다.)
하지만 당시 CISC가 주류하던 시대에 Arcon사는 CISC로 CPU를 설계하는 것을 망설였다. 하지만 그 때 Berkely 대학에서 내놓은 Berkely RISC 1의 논문이 발표되었고, 이 RISC 1은 몇 명의 대학원생이 일년 정도의 연구기간 동안 만들어 낸 것이었지만, 그 당시의 어떠한 CPU에서도 뒤쳐지지 않았다. 이러한 배경에서 Arcon사에서는 이 Berkely RISC 1을 변형하여 ARM CPU를 만들어 내었고 이것이 성공하게 된다. 이후 Apple computer와 합작하여 ARM 유한회사라는 이름을 갖게 되었고 ARM이 Arcon RISC Machine에서 Advanced RISC Machine으로 바뀌게 된다.
따라서 ARM이라는 것은 Chip의 이름도 되겠지만, 회사의 이름도 된다. 그리고 ARM사는 CPU의 종류를 늘려가고 있다.
여담이지만, 사실 ARM은 실제로 Processor을 만들어 파는 회사가 아니다. 그럼 무얼 팔아 먹고 사느냐, 바로 CPU의 Architecture을 파는 회사이다. 즉, ARM은 ARM이라고 이름 붙인 CPU Architecture를 Design하고 그것을 Open하며, 그 Architecture를 가져다 쓰는 회사로부터 로열티를 받아 그것으로 비지니스를 하는 회사이다. 이런 것을 일컬어, ARM License를 가져다 쓴다고 한다.
ARM이 이런 core design만 팔다 보니, Core에 여러 가지 기능을 덧붙여서 한 개의 chip으로 만드는 기술이 스포트라이트 받게 되었는데 이런 구조를 SoC(System on Chip)라고 부른다. ARM core를 바탕으로 웬만한 Device들을 block화(모듈화?) 해서 한 Chip에 집어 넣겠다는 음흉한 속셈인 것이다. 예를 들면 아래 그림과 같이...
ARM의 초기 배경 설명은 이정도면 될 것 같다. 다음에 또 자세히 알아보자.
'Computer Science > Embedded System' 카테고리의 다른 글
[Chap 5] The ARM Instruction Set (0) | 2014.10.22 |
---|---|
[Chap 4] ARM Organization & Implementation (0) | 2014.10.21 |
[Chap 3] ARM Assembly Language Programming (0) | 2014.10.17 |
[Chap 2] The ARM Architecture (0) | 2014.10.11 |
[Chap 1] An Introduction of Processor Design (1) | 2014.10.11 |