[ARM프로세서] ARM7 아키텍처의 익셉션 소개
By Guillermo Austin Kim | 2020년 11월 17일 |
"누군가 여러분에게 ARM 아키텍처의 익셉션이 무엇인가요?"라고 묻는다면, 아마 ARMv7 아키텍처에서 설명하는 익셉션이 머릿 속에 떠오를 가능성이 높습니다. ARMv7 아키텍처의 익셉션의 종류와 익셉션 테이블은 기존 ARM 아키텍처의 익셉션의 개념을 물려 받았기 때문입니다. 20년 전에 ARMv5에서 ARM6 아키텍처에 적용된 익셉션의 기본 동작 방식을 ARMv7 아키텍처에서 거의 그대로 확인할 수 있습니다. 가격과 성능을 만족해야 하는 소형 디바이스에서 32비트 ARMv7 아키텍처 기반의 CortexA7, CortexA9 프로세서를 많이 탑재하고 있습니다. 또한 고성능 컴퓨터나 최신 휴대폰에 ARMv8 아키텍처 기반의 ARM 프로세서를 탑재하는데, ARMv8 아키텍처의 익셉션은 기존 ARMv7 아키텍
[Arm프로세서] 캐시: 캐시 관련 용어 알아보기(Arm 아키텍처 관점)
By Guillermo Austin Kim | 2022년 7월 22일 |
Arm 아키텍처는 캐시를 제어하는 명령어를 제공하는데, 명령어의 동작 원리를 제대로 파악하려면 Arm 아키텍처에서 정의된 캐시의 동작과 관련된 용어를 알아야 합니다. 먼저 캐시와 관련된 용어를 소개하고 캐시를 제어하는 명령어를 소개합니다. 실전 개발에서 캐시의 동작을 설명할 때 '캐시 플러시(Cache Flush)'란 용어를 많이 씁니다. 일반적으로 캐시의 데이터를 메인 메모리에 내린다는 의미로 사용됩니다. 리눅스 커널이나 RTOS에서 Arm 프로세서의 캐시를 제어하는 함수나 레이블의 이름에 flush가 포함된 경우가 많습니다. 일반적으로 캐시 플러시는 캐시 라인에 있는 데이터를 메인 메모리에 복사해 캐시와 메인 메모리에 있는 데이터의 싱크를 맞추는 동작을 뜻합니다. 그런데 Arm 아키텍처 문서를
[ARM] ARM 아키텍처의 주요 개념: 어셈블리 명령어
By Guillermo Austin Kim | 2020년 8월 11일 |
이번 포스트에서는 ARM 아키텍처를 이루는 주요 개념에 대해서 설명하겠습니다.ARM 아키텍처를 배우려면 수 많은 세부 기능을 배워야 하는데 그 중 핵심을 요약하면 다음과 같습니다. ○ ARM 어셈블리 명령어 ○ 레지스터 세트 ○ 익셉션 ○ 함수 호출 규약 이 중에서 먼저 ARM 어셈블리 명령어에 대해서 살펴보겠습니다. ARM 프로세서에게 어셈블리 명령어란 우리가 외국인이 어떤 사람인지 잘 알려면 외국어를 배워야 합니다.외국어를 직접 말하면서 외국인와 대화를 해야 그 사람의 성격을 제대로 알 수 있습니다. 그렇다면 프로그래머 입장에서 ARM 프로세서가 어떤 동작을 하는 지 파악하려면 무엇을 배워야 할 까요?바로 ARM 어셈블리 명
ARM 맥 루머가 솔솔~
By being nice to me | 2020년 6월 10일 |
이번달 하순에 진행될 WWDC 2020에서 최초의 ARM 맥이 발표될 것이라는 루머가 솔솔~ 매번 등장할 때 마다 성능을 미칠듯이 올려온 A칩을 12코어로 커스텀 해서 2021년 출시할 것이며 현 인텔 맥북에어를 능가하는 성능으로 나올 것이라는 루머입니다. 꽤 가능성이 높은 것이 작년에 이미 API수준에서 거의 호환이 되도록(카탈리스트)-물론 iOS앱의 코드로 macOS에서 돌게 하는 한방향이라고 봐야 하지만-했죠. 몇해 전에는 저도 가능성이 낮은 설레발이다(라기보다는 당시에는 시기상조다)라고 생각했지만 이제는 가능성이 아주 높아보입니다. 일단 궁금한 것은 성능인데...벤치마크 수치를 보면 현재의 A12X나 A13의 경우 아주 높게 나오죠. 그럴때마다 OS의 차이, 아키텍쳐의 차이라며 논란이 되곤