/***ARM_Assembly_3일차***/
embedded recipes 159_Page
| 컴파일에 대한 단상
프로세서가 해석할 수 있는 것은 단지 명령어로서,
이 명령어는 "기계어"라고 불리 우는 특정 bit pattern을 말합니다.
"Processor는 약속되어진 특정한 Bit Pattern에 반응한다."는 의미에서
특정 Bit Pattern을 명령어라고 부를 수 있습니다.
"Processor는 많은 전기적 스위치로 이루어져 있으며,
어떤 특정한 전기 스위치를 작동 시키기 위해서는 데이터 버스 선을 따라
전압이 "있고 있고 없고 없고 없고 없고 없고 없고 있고 있고"의 상태로 만들어 주면 된다라는 의미"
프로그램이란 이런 일련의 기계어 명령의 순차적인 집합이며,
이런 기계어 명령을 Native Code라고 부릅니다.
Assembly라는 개념은 Native Code(기계어)와 1:1 matching이 되게
보기 편하게 만들어진 표기 체제입니다.
(※ Decoder는 명령Instruction을 읽어서 해석하는 일을 합니다.)
이것들은 서로 완전히 1:1 대응이 되어 Assembly로 표현 되었을 때 사람이 보기에 훨씬 편하게 됩니다.
이런 이유로 인간은 bit pattern을 직접 입력하지 않고, Assembly로 coding을 하게 되었으며,
이를 Native Code(기계어)로 바꾸어 주는 것이 compile의 목적이었습니다.
예전에는 인간이 직접 code표를 찾아서 기계어로 바꾸어주었지만,
코드표 찾는 일을 대신 해주는 Assembler라는 것을 만들게 되었습니다.
그런데 이 Native Code, Assembler라는 것이 특정 Processor에만 통하기 때문에,
서로 다른 Processor에 맞게 Assembly를 만들어내는 C나 C++같은 High Level Language compiler를 만들어 냅니다.
(요약해서, cpu에 종속적이면 로우레벨언어, 아무 cpu에서나 다되면 하이레벨언어입니다.)
이제 C로 coding을 한 후, compile한다는 의미는 C compiler를 이용하여, core가 해석 할 수 있는 Assembly를 만들어 낸 후,
ARM Assembler를 이용하여, ARM core가 해석할 수 있는 일련의 Bit pattern을 만들어 낸다고 할 수 있겠습니다.
이런 bit pattern을 한 덩어리 뭉쳐놓은 것을 Executable binary image라고 합니다.
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20151201 - 홍준모 - 오전 : ARM 계의 비쥬얼 스튜디오(ADS) 깔기, .map .sym 의 필요성, 여러 다른 교양 내용 등등 (3) | 2015.12.01 |
---|---|
20151201 / ARM(컴파일러 설치), Winsock_2 / 남수진 (4) | 2015.12.01 |
20151201 업무일지 -여지윤- ARM Assembly, Winsock (3) | 2015.12.01 |
2015-12-01 ARM Assembly & WinSock Chatting 개인업무일지 - 천정호 (3) | 2015.12.01 |
2015.12.01_[ARM #3][Winsock #2]_이량경_ARM ADS, socket (2) | 2015.12.01 |
20151201 엄민웅 - arm 임베디드레시피 (교제 162~199) WinSock 2일차. (3) | 2015.12.01 |
20151201 - 권오민 - ARM ASSEMBLY 4일차/WinSock 2일차 (2) | 2015.12.01 |
20151201 - 홍준모(WinSock) - 1일 차 (2) | 2015.12.01 |