CPU3 Cache(1) Overview요즘 processor의 clock speed는 external memory에 접근하는 bus speed에 비해 매우 빠른 속도를 가지고 있는데, 때문에 상대적으로 느리게 메모리에 접근하여 처리하는 동안 processor는 유휴 상태가 된다. 이와 같은 속도 차이때문에 발생하는 낭비를 막기 위해 cpu와 가까이 메모리를 위치시키고 미리 외부 메모리로 부터 data를 미리 가져옴으로써 성능을 향상하는 기법을 caching 기법이라 한다. Memory Hierarchy 일반적으로 memory는 core와 근접해 있을수록 낮은 latency를 가지고 있어 속도면에서는 장점이 있으나 사이즈나 비용적인 측면에서 제한적이며 반대로 core와 멀어질수록 큰 size의 메모리를 구성할 수 있으나 속도 .. 2024. 8. 9. Assembly syntax Assembly syntax ARM Assembly Language 관련 syntax에 대해서 정리한 글 Assembly Identifiers .section , "" 섹션을 정의 .balign n 다음 주소가 n바이트 단위로 alignment .global .global 키워드를 사용하여 전역화 label without branch instruction 하기와 같이 예제코드에서 분기문이 없거나, 분기문이 실행되지 않는다면 순차적으로 다음 코드로 넘어감. # example 1: 해당 예제의 경우 1번째 분기문에서 case1으로 분기되지 않은 경우 순차적으로 다음 code인 "add $s2, $s0, $s1 "로 진행 beq $s0, $s1, case1 add $s2, $s0, $s1 case1: sub .. 2024. 2. 2. ARMv8 Exception Level Exception Level Overview ARMv7 대비 ARMv8에 새로 도입된 개념 중 하나인 Exception Level은 레벨마다 System의 resource에 대한 특권(Privilege)를 다르게 부여하여 각 레벨에 맞는 동작을 수행 Privileged / Unprivileged mode를 구분하는 이유(a.k.a user space와 kernel space를 구분한 이유) Privileged mode로 동작을 하게되면 시스템의 주요 설정과 메모리 등에 접근이 가능함 만약 User Application도 Privilege가 부여되어 시스템 메모리나 시스템 설정이 가능해진 상황에서 이러한 주요 resource를 잘못 사용할 경우 시스템에 critical한 error를 유발할 수 있음. 따라.. 2024. 1. 21. 이전 1 다음 728x90