레지스터

포스트: 9
Tags

Posts

9 posts

[Arm프로세서] Arm 아키텍처의 레지스터 소개

Guillermo Austin Kim|2022년 4월 10일

Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다. Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정체입니다. 메모리 아키텍처 관점으로 레지스터는 무엇일까요? Arm 코어가 사용하는 저장 매체 중에 가장 속도가 빠른 게 레지스터입니다. 레지스터 다음으로 속도가 빠른 저장 매체로 캐시와 RAM을 주로 언급합니다. 캐시나 RAM을 사용하는 것보다 되도록 레지스터를 사용해 데이터를 연산하면 성능을 최적화할 수 있습니다. 그럼 레지스터는 어떻게 표기할까요

[Arm프로세서] 레지스터를 배우기 어려운 이유

Guillermo Austin Kim|2022년 2월 27일

CPU 아키텍처를 배울 때 가장 먼저 레지스터를 접합니다. CPU를 설정하거나 CPU의 속성 정보를 레지스터가 담고 있기 때문입니다. Arm 아키텍처에서 정의된 레지스터를 설명하기 전에 레지스터를 소개합니다. 레지스터를 배우기 어려운 이유 CPU 아키텍처를 처음 배울 때 가장 먼저 무엇을 배울까요? 레지스터를 공부할 가능성이 높습니다. 그런데 Arm 아키텍처나 Arm 프로그래밍을 다루는 대부분의 책은 레지스터의 기능을 상세히 다룹니다. 예를 듭시다.  Armv7 아키텍처에서 정의된 레지스터는 범용 레지스터와 CP15 레지스터로 구성된다.  R13은 스택 포인터 레지스터, R14는 링크 레지스터이다. 이런 내용을 읽고 대부분 레지스터가 너무 어렵다고 느낍니다. 저도 처음 Arm 어셈블리를 배울 때

[ARM] ARMv8 아키텍처의 레지스터

Guillermo Austin Kim|2020년 9월 25일

이번에는 ARMv8 아키텍처의 64비트 명령어 기준으로 레지스터 세트에 대해 알아봅시다. 다음은 ARM 스팩 문서에서 발췌한 내용입니다. 출처: DDI0487A_g_armv8_arm.pdfB1.2.1 Registers in AArch64 state In the AArch64 application level view, an ARM processing element has:R0-R30 31 general-purpose registers, R0 to R30. Each register can be accessed as: • A 64-bit general-purpose register named X0 to X30. • A 32-bit general-purpose register named W0 to W30.

[ARM] ARMv7 아키텍처의 레지스터

Guillermo Austin Kim|2020년 9월 25일

ARMv7 아키텍처에서 사용되는 레지스터는 범용과 특별 용도 레지스터로 구분할 수 있습니다. 먼저 범용 레지스터에 대해 살펴봅시다. 다음은 ARM 스팩 문서에서 발췌한 내용입니다. 출처: DDI0406C_arm_architecture_reference_manual.pdf A2.3 ARM core registers In the application-level view, an ARM processor has:• thirteen general-purpose 32-bit registers, R0 to R12• three 32-bit registers with special uses, SP, LR, and PC, that can be described as R13 to R15. 위 내용은 "R0~R12