시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리/1장: Arm 프로세서 소개 (21) 썸네일형 리스트형 [ARM프로세서] 어셈블리 명령어란 우리가 외국인이 어떤 사람인지 잘 알려면 외국어를 배워야 합니다. 외국어를 직접 말하면서 외국인과 대화를 해야 그 사람의 성격을 제대로 알 수 있습니다. 그렇다면 프로그래머 입장에서 ARM 프로세서가 어떤 동작을 하는 지 파악하려면 무엇을 배워야 할 까요? 바로 ARM 어셈블리 명령어입니다. 미국인과 대화를 하려면 영어를 말하듯 ARM 프로세서와 대화를 하려면 ARM 어셈블리 명령어를 사용해야 합니다. 즉, ARM 어셈블리 명령어는 ARM 프로세서와 소통하는 대화하는 언어라고 말할 수 있습니다. ARM 어셈블리 명령어를 사용하면 ARM 프로세서와 어떻게 대화를 할 수 있을까요? 이번에는 프로그래머 입장에서 조금 더 구체적으로 ARM 프로세서와 대화하는 패턴을 예로 들겠습니다. 쉽게 설명을 하면 ARM 프.. [ARM프로세서] ARM프로세서, ARM아키텍처, ARM코어란 ARM 프로세서를 배울 때 가장 혼돈되는 게 용어입니다. 먼저 ARM과 관련된 용어를 소개합니다. ARM 아키텍처 아키텍처는 ARM 프로세서를 설계하는 디자인을 의미하며, 프로그래머 모델을 의미합니다. ARM 아키텍처는 레지스터, 메모리 구조, ARM 어셈블리 명령어, 함수 호출 규약과 같이 소프트웨어 개발자가 알아야 하는 주요 기능입니다. 이 책에서는 ARMv7(32비트)와 ARMv8(64비트: Aarch64) 아키텍처 기반의 프로그래머 모델을 설명합니다. ARM 프로세서 ARM 프로세서는 용어 그대로 디바이스를 뜻합니다. ARM 프로세서는 ARM 아키텍처에 의존적인데, 같은 아키텍처 버전 기반의 ARM 프로세서들은 같은 명령어를 사용합니다. 다음 표는 ARM 아키텍처와 ARM 프로세서의 관계를 나타냅.. [ARM프로세서] ARM 프로세서의 전망 이번 포스트에서 ARM 프로세서의 전망에 대해서 살펴보겠습니다. ARM 프로세서의 출하량 2000년대 초반까지만 해도 ARM 프로세서는 소형 임베디드 제품군에만 사용된 특화된 CPU 프로세서였습니다. 이제 ARM 프로세서는 고성능 CPU 시장에도 두각을 드러내며 수 많은 IT 기기에 사용되고 있습니다. 현재 ARM 기반 프로세서는 시장에서 얼마나 사용되고 있을까요? ARM 기반 프로세서는 스마트폰 95%, 태블릿 85%, 웨어러블 90%를 점유하고 있습니다. 2016년 기준으로, 750억 개(누적) 이상의 ARM 프로세서가 탑재된 칩이 출하됐습니다. ARM 프로세서는 절전형이면서 고성능 스팩을 만족하므로 인텔 CPU 대비 배터리 용량과 크기가 핵심인 스마트 기기 시장에서 선전하고 있습니다. 또한 ARM .. [ARM프로세서] ARM 의 라이선스 - 소프트 매크로/하드 매크로 ARM사는 ARM 프로세서를 직접 공장(Foundry)에서 제조해 양산하지 않습니다. 자신의 지적 재산권을 다른 회사에게 라이선싱 할 뿐입니다. 대신 SoC의 업체인 인텔, 엔비디아, TI(텍사스 인스트루먼트) 그리고 삼성들은 자신의 요구 사항에 맞게 ARM 프로세서를 제조합니다. SoC업체는 SoC 제품군에 따라 ARM 프로세서의 세부 스팩을 적용해 ARM 프로세서를 탑재합니다. ARM 사에서 제공한 지적 재산권을 활용해 어느 IT 업체나 각자 SoC 스팩에 맞게 ARM 프로세서를 탑재할 수 있는데, 여기서 말하는 지적 재산권은 라이선스입니다. 라이선스는 ARM 프로세서를 설계할 수 있는 툴과 문서를 포함합니다. SoC 업체들은 ARM 에서 제공하는 2가지 방식의 라이선스를 적용해 자신의 칩에 ARM .. [ARM] ARM 프로세서는 어떻게 공부해야 할까? 이제까지 ARM 프로세서를 공부하는 방법의 문제점에 대해 설명했습니다. 이어서 ARM 프로세서를 효율적으로 공부하는 방법에 대해 소개합니다. 디버깅을 하면서 ARM 어셈블리 명령어를 익힌다 GDB와 같은 프로그램을 통해 실습을 하면서 ARM 어셈블리 명령어를 배울 필요가 있습니다. 어셈블리 명령어 한 줄 한 줄을 실행할 때 결과를 직접 확인하면서 실습을 하면 배운 내용이 더 오랫동안 남습니다. 이 책에서 ARM 어셈블리 명령어의 동작 원리와 함께 명령어를 실습할 수 있는 방법을 소개합니다. 운영체제의 기본 원리와 함께 ARM 아키텍처를 배운다 운영체제 커널의 기본 동작 원리를 ARM 프로세서의 내용과 함께 같이 공부해야 합니다. 이를 위해 ARM 프로세서의 주요 기능이 실제 프로젝트의 운영체제에서 어떤 .. [ARM프로세서] ARM 프로세서의 패밀리 ARM 사는 용도에 따라 제품군을 나눴는데, 현재 ARM의 최신 라인업인 Cortex 시리즈로 세분화돼 있습니다. 먼저 Cortex-A 제품군부터 알아봅시다. Cortex-A 시리즈 컴퓨터 제품을 위한 제품군입니다. 모바일에서 서버용 컴퓨터까지 다양한 플랫폼에서 개발되는 제품을 위한 ARM의 주력 상품군입니다. 스마트폰, TV 등과 같이 어느 정도 성능을 만족해야 하는 멀티미디어 기기나 많은 양의 데이터나 리소스를 처리해야 하는 임베디드 기기에서 주로 사용됩니다. 대부분 범용 운영체제인 리눅스와 윈도우 운영체제를 지원합니다. Cortex-R 시리즈 RTOS 기반 제품을 위한 라인업인데, R은 말 그대로 Real-time의 약자입니다. RTOS에서 MPU(메모리보호유닛)이나 TCM(Tight-Coupled.. [ARM프로세서] ARM 프로세서의 역사 ARM은 회사 이름이기도 하고 x86와 같은 CPU 아키텍처의 이름입니다. 이번 절에서는 ARM의 역사에 대해 소개합니다. ARM사는 에이콘에서 유래됐는데요. 아래 순서로 ARM의 역사에 대해서 살펴보겠습니다. ● 에이콘의 설립 ● 조인트 벤처로 ARM사의 탄생 ● 2010년 모바일 시장 석권 에이콘의 설립 1978년 영국 캠브리지에서 크리스 커리와 헤르만 하우저가 에이콘 컴퓨터라는 회사를 세웁니다. 마이크로프로세서 기반의 시스템을 개발하는 것이 주된 미션인데 6502 프로세서를 탑재해 컴퓨터 시스템을 개발합니다. '에이콘'사는 컴퓨터 제품을 꾸준히 개발했는데, 1983년 'BBC 마이크로'란 프로젝트로 '에이콘'은 입지를 다지게 됩니다. 'BBC 마이크로'는 프로젝트 닉네임으로 컴퓨터 제품인데 영국의 .. [ARM프로세서] ARM 프로세서를 공부하는 방법의 문제점 분야를 막론하고 새로운 IT 기술을 배울 때 공부하는 방법은 중요합니다. 가끔은 "무식하게, 시행착오를 많이 겪는 게 최고의 공부 방법이라"라고 말하는 분도 있지만, ARM 프로세서를 학습할 때는 적용할 만한 조언은 아닌 것 같습니다. 왜냐면 저의 수년간의 실전 프로젝트를 통해 다음과 같은 사실을 절감했기 때문입니다. ● ARM 프로세서는 정말로 공부하는 방법이 중요하다! ARM 프로세서를 공부하는 방법이 중요한 이유는 무엇일까요? 잘못된 방법으로 ARM 프로세서를 공부하면 배운 내용이 오랫동안 머릿 속에 남지 않기 때문입니다. 빨리 지루해집니다. 무엇보다 배운 내용을 실전 프로젝트에 활용하지 못합니다. 그래서 ARM 프로세서를 공부하다가 포기하거나 ARM 프로세서가 정말 어려운 주제라고 믿게 됩니다. .. 이전 1 2 3 다음