시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리/3장: 레지스터 (11) 썸네일형 리스트형 [Arm프로세서] Armv7: 범용(General Purpose) 레지스터란 CPU 아키텍처를 배울 때 가장 먼저 어셈블리 명령어와 레지스터의 용법을 파악합니다. 어셈블리 명령어는 레지스터로 구성돼 있어 어셈블리 명령어를 익히려면 레지스터의 용법을 알아야 합니다. 그렇다면 Arm 아키텍처는 같은 레지스터를 사용할까요? 그렇지 않습니다. Armv7와 Armv8 아키텍처 별로 각각 레지스터를 정의합니다. 이번 포스트에서 Armv7 아키텍처에서 정의된 레지스터를 다룹니다. 먼저 범용 레지스터를 설명하겠습니다. 범용 레지스터 레지스터란 무엇일까요? 레지스터는 메모리 계층 구조 관점으로 설명할 수 있습니다. Arm 코어가 사용하는 데이터를 저장하는 임시 저장 공간을 레지스터라고 합니다. 그런데 소프트웨어 관점으로는 Armv7 아키텍처에서 레지스터는 범용 레지스터와 CP15 레지스터로 분류.. [Arm프로세서] Arm 아키텍처의 레지스터 소개 Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다. Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정체입니다. 메모리 아키텍처 관점으로 레지스터는 무엇일까요? Arm 코어가 사용하는 저장 매체 중에 가장 속도가 빠른 게 레지스터입니다. 레지스터 다음으로 속도가 빠른 저장 매체로 캐시와 RAM을 주로 언급합니다. 캐시나 RAM을 사용하는 것보다 되도록 레지스터를 사용해 데이터를 연산하면 성능을 최적화할 수 있습니다. 그럼 레지스터는 어떻게 표기할까요? 전.. [ARM] 전원을 키면 처음에 어디서 무엇을 실행할까[1]: PC 레지스터 분야를 막론하고 C 언어나 파이썬으로 컴퓨터 프로그래밍을 하다보면 다음과 같은 의문점이 생깁니다. * 바로 컴퓨터의 전원 버튼을 누르면 가장 먼저 무엇을 실행할까? * 이 때 실행되는 어셈블리 명령어는 무엇일까? * 이 명령어는 메모리의 어느 위치에 있을까? 이런 의문을 해소하려면 먼저 ARM 코어 내부에 있는 레지스터 중에 PC라고 부르는 프로그램 카운터 레지스터에 대해 이해할 필요가 있습니다. PC(프로그램 카운터) 레지스터란 PC(프로그램 카운터 레지스터)의 역할은 무엇일까요? 실행할 명령어를 읽을 때 사용되며 PC는 ARM 코어가 실행할 명령어가 있는 위치를 저장합니다. 그런데 이름과 역할이 약간 다른 것 같습니다. PC라는 용어는 프로그램 카운터라고 부른다고 말씀드렸는데, "프로그램 + 카운터".. 이전 1 2 다음