'arm' 태그의 글 목록
본문 바로가기

arm3

[ARM 아키텍처] 32bit ALU 가산 감산의 원리 ARM CPU의 ALU 안에는 32bit 가산기가 들어있다. 여기서 가산기는 논리회로 시간에 배우는 가산기와 같은 원리이다. 컴퓨터에서는 덧셈 연산도 하지만 뺄셈 연산도 필요하다. 근데 여기서 한가지 기억할 점은 보수 체계를 이용하면 뺄셈을 간단하게 구현할 수 있다는 점이다. 예를 들어 10 - 6을 계산하고자 한다면 보수 체계를 이용하여 가산 연산을 한다는 것은 10 + (-6)을 한다는 것이다. 이 때 +6을 -6으로 바꾸는 작업이 "n의 보수를 취한다" 라고 말한다. (n진수에서) 여기서 n은 진수이고 통상 컴퓨터는 2진수로 연산하기 때문에 2의 보수를 취한다. 2의 보수는 1의 보수에 1을 더한 값으로 구할 수 있다. 1의 보수는 단순히 0을 1로 바꾸고 1을 0으로 바꾼 것이다. 8비트를 예를 .. 2020. 10. 2.
[ARM 아키텍처] 컴퓨터가 처음 실행하는 명령어 ARM core에 전원이 인가되면 가장 처음으로 실행하는 것은 메모리의 0번지(0x0)이다. 특정 명령어로 제한되어있는 것은 아니고, 전원이 인가되면 ARM Core는 자동으로 0번지에 있는 명령어를 실행하도록 설계돼있다. ARM CPU 내부에는 PC(Program Counter)라고 부르는 중요한 레지스터가 존재한다. 이 레지스터의 역할은 CPU가 명령어를 읽으려고 할 때 읽어올 명령어의 위치를 알 수 있게 명령어의 위치를 담고 있는 것이 역할이다. CPU가 명령어를 읽고 나면 PC를 한 칸 증가시키는데, 여기서 1칸은 ARM명령어의 크기에 해당하는 4byte를 의미한다. 즉 PC = 0x0에서 PC = 0x4가 되는 것이다. 이 때 처음 실행되는 명령어의 경우 RAM에 저장할 수 없기 때문에 ROM이.. 2020. 9. 29.
[ARM 아키텍처] 32bit vs 64bit의 의미 자신의 컴퓨터가 32bit인지 64bit인지를 알아보기 위해 누구나 한번쯤은 ㄴ시스템 창을 열어봤으리라 생각이 든다. 32bit 시스템과 64bit 시스템의 차이는 무엇일까? 그리고 어떤 컴퓨터가 좋은 컴퓨터라고 말할 수 있을까? 우선 당연히, 64bit 컴퓨터가 32비트보다 좋다. 그 이유는 정의에서 살펴볼 수 있다. 32bit 컴퓨터는 CPU가 한번에 처리할 수 있는 데이터의 수가 32bit임을 의미하고 64bit 컴퓨터는 CPU가 한번에 처리할 수 있는 데이터의 수가 64bit임을 의미한다. 여기서 '처리'의 의미는 연산을 의미한다. 그래서 CPU에 있는 연산에 관련된 모든 장치(레지스터, ALU 등)는 동일한 bit 수를 따라간다고 보면 된다. 2020. 9. 29.