시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 (Armv8-A와 Armv7-A로 배우는 시스템 반도체와 전기자동차 시스템 개발의 핵심)

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 (Armv8-A와 Armv7-A로 배우는 시스템 반도체와 전기자동차 시스템 개발의 핵심)

$48.00
Description
친절한 선배 개발자가 Arm 아키텍처에 대해 꼼꼼하게 알려주듯, Arm 아키텍처(Armv8-A, Armv7-A) 아키텍처를 쉽고 친절하게 설명합니다!
이 책에서는 Arm 아키텍처를 구성하는 주요 기능 중에서 실전 프로젝트에 바로 적용될 만한 내용을 선별해 자세히 설명합니다. 또한 리눅스 커널이나 하이퍼바이저, 트러스티드 펌웨어 같은 시스템 소프트웨어에서 Arm 아키텍처를 구성하는 주요 기능들이 어떤 방식으로 활용되는지 상세하게 다룹니다. 각 장에서 설명하는 내용은 시스템 반도체나 전기자동차 같은 시스템 소프트웨어 개발에 그대로 적용될 수 있습니다.

★ 이 책에서 다루는 내용 ★

◎ Arm 아키텍처의 기본인 어셈블리 명령어, 레지스터, AAPCS
◎ Armv8-A에서 정의된 익셉션 레벨, Armv7-A의 동작 모드
◎ 익셉션의 동작 원리 및 익셉션 핸들러 코드 분석을 통한 원리 설명
◎ 하이퍼바이저의 근간인 가상화와 시큐리티 기술의 핵심인 트러스트존
◎ 메모리 아키텍처와 캐시, 메모리 모델과 배리어의 동작 원리
저자

김동현

저자:김동현
《디버깅을통해배우는리눅스커널의구조와원리》의저자이며,LG전자에서12년째Arm프로세서기반리눅스시스템엔지니어로일하고있다.주로Arm프로세서에서설계된신규칩셋(SoC:ApplicationProcessor)기반의프로젝트에서시스템(타깃보드)을브링업하거나다양한트러블슈팅으로크래시이슈를해결하는과제에참여했다.Arm아키텍처에관심이많고특히Arm아키텍처를구성하는기능들이리눅스커널,부트로더혹은하이퍼바이저에어떤방식으로구현됐는지디버깅하는것을즐긴다.로우레벨소프트웨어의다양한문제를해결하는디버깅방법에관심이많고,실무지식을다른동료개발자와공유하면서기쁨을느낀다.

목차


1장:Arm프로세서소개
1.1Arm프로세서의역사
__1.1.1에이콘의설립
__1.1.2Arm사의설립
__1.1.32010년이후의모바일시장석권
1.2Arm프로세서의시리즈
__1.2.1Cortex-A시리즈
__1.2.2Cortex-R시리즈
__1.2.3Cortex-M시리즈
1.3Arm프로세서의전망
__1.3.1Arm프로세서의출하량
__1.3.2Arm의생태계
1.4Arm의라이선스모델
1.5Arm프로세서관련용어
__1.5.1Arm아키텍처란?
__1.5.2Arm프로세서란?
__1.5.3Arm코어란?
1.6이책의구성
1.7이책에서다루는Arm아키텍처와운영체제
__1.7.1Arm아키텍처
__1.7.2Arm프로세서와함께다루는운영체제
1.8정리

2장:Arm아키텍처학습방법
2.1Arm프로세서는왜배워야할까?
__2.1.1브링업을잘하기위해
__2.1.2디바이스드라이버개발을잘하기위해
__2.1.3RTOS나리눅스커널을깊이있게이해하기위해
__2.1.4디버깅을통한문제해결능력을키우기위해
__2.1.5Arm아키텍처를일반소프트웨어개발자도배워야하는이유
2.2Arm프로세서를공부하는방법의문제점
__2.2.1Arm어셈블리명령어를무리하게암기한다
__2.2.2Arm아키텍처의내용만따로배운다
__2.2.3배운내용이실전프로젝트에서어떻게활용되는지파악하지않는다
2.3Arm아키텍처는어떻게공부해야할까?
__2.3.1디버깅을하면서어셈블리명령어를익힌다
__2.3.2운영체제의기본원리와함께Arm아키텍처를배운다
__2.3.3실전프로젝트에서배운내용이어떤방식으로구현돼있는지확인한다
2.4정리

3장:레지스터
3.1레지스터소개
__3.1.1레지스터란?
__3.1.2Arm아키텍처의레지스터
3.2Armv7아키텍처의레지스터
__3.2.1범용레지스터
____3.2.1.1Arm스펙에서범용레지스터확인하기
____3.2.1.2R0~R15레지스터의역할
____3.2.1.3범용레지스터에서뱅크드레지스터란?
__3.2.2CPSR와SPSR레지스터
____3.2.2.1CPSR레지스터
____3.2.2.2SPSR레지스터
3.3Armv8아키텍처의레지스터
__3.3.1Armv8아키텍처의범용레지스터
____3.3.1.1범용레지스터소개
__3.3.2스페셜레지스터
__3.3.3PSTATE와SPSR_ELx레지스터
____3.3.3.1PSTATE
____3.3.3.2SPSR_ELx레지스터
____3.3.3.3PSTATE의필드를설정하는명령어
__3.3.4시스템레지스터
__3.3.5시스템레지스터에접근하는명령어
3.4정리

4장:어셈블리명령어
4.1Arm어셈블리명령어소개
__4.1.1어셈블리명령어란?
__4.1.2어셈블리명령어의기본형식
__4.1.3어셈블리명령어의종류
__4.1.4어셈블리명령어로무엇을할수있을까?
__4.1.5어셈블리명령어의진실과오해
4.2데이터처리명령어
__4.2.1Move명령어
____4.2.1.1MOV명령어
____4.2.1.2MVN명령어
__4.2.2산술명령어
____4.2.2.1ADD명령어
____4.2.2.2SUB명령어
____4.2.2.3ADC명령어
____4.2.2.4SBC명령어
____4.2.2.5RSB명령어
____4.2.2.6RSC명령어
__4.2.3비트시프트명령어
____4.2.3.1LSL명령어
____4.2.3.2LSR명령어
____4.2.3.3ASR명령어
____4.2.3.4ROR명령어
__4.2.4논리비트명령어
____4.2.4.1AND명령어
____4.2.4.2ORR명령어
____4.2.4.3ORN명령어
____4.2.4.4BIC명령어
____4.2.4.5EOR명령어
4.3메모리연산명령어
__4.3.1Load(ldr)명령어
__4.3.2Store(str)명령어
4.4Armv7-A32비교및분기명령어
__4.4.1플래그설정명령어
____4.4.1.1CMP명령어
____4.4.1.2CMN명령어
____4.4.1.3TST명령어
____4.4.1.4TEQ명령어
__4.4.2조건부코드
__4.4.3B와BL명령어
____4.4.3.1B

출판사 서평

친절한선배개발자가Arm아키텍처에대해꼼꼼하게알려주듯,Arm아키텍처(Armv8-A,Armv7-A)아키텍처를쉽고친절하게설명합니다!

이책에서는Arm아키텍처를구성하는주요기능중에서실전프로젝트에바로적용될만한내용을선별해자세히설명합니다.또한리눅스커널이나하이퍼바이저,트러스티드펌웨어같은시스템소프트웨어에서Arm아키텍처를구성하는주요기능들이어떤방식으로활용되는지상세하게다룹니다.

각장에서설명하는내용은시스템반도체나전기자동차같은시스템소프트웨어개발에그대로적용될수있습니다.

★이책에서다루는내용★

*Arm아키텍처의기본인어셈블리명령어,레지스터,AAPCS
*Armv8-A에서정의된익셉션레벨,Armv7-A의동작모드
*익셉션의동작원리및익셉션핸들러코드분석을통한원리설명
*하이퍼바이저의근간인가상화와시큐리티기술의핵심인트러스트존
*메모리아키텍처와캐시,메모리모델과배리어의동작원리