본문 바로가기

카테고리 없음

산술논리연산장치 ALU(Arithmetic and Logical Unit)

컴퓨터의 가장 근본은 cpu의 산술논리연산장치ALU에서 일어나는 연산이라고 볼 수 있다.

연산은 크게 두종류인데 , 하나는 '수'를 연산하는 산술연산과 논리를 따지는 논리연산이다.


ALU는 CPU의 내부 구성 요소중 하나이며 , 실제적인 연산을 담당하는 하드웨어 모듈이다.

컴퓨터시스템의 다른 부품들은 사실 ALU가 연산하기 위해 처리될 데이터를 가져오거나 , 그 결과를 저장하기 위한 용도라고 해도 틀린 말이 아니다.


ALU의 내부에는 다음과 같은 기능을 하는 요소들이 존재한다.


-산술 연산 장치 : 산술 연산(+ - * /) 수행

-논리연산장치 : 논리 연산 (AND,OR,XOR,NOT . . .)을 수행

-시프트 레지스터(shift register) : 비트들을 좌,우로 이동시키는 기능을 가진 레지스터

-보수기(complementer) : 데이터에 대하여 2의 보수를 취함(음수화한다)

-상태 레지스터(status register) : 연산 결과의 상태를 나타내는 플래그(flag)를 저장하는 레지스터



기본적으로 ALU에서 연산을 하기위해선 , 피연산자들이 레지스터에 입력되어야 한다.

레지스터에 입력 된 후, 제어유니트에서 제공된 정보에 따라 ALU에서 연산을 진행한다. 연산 후에 그 결과에 따라 상태 레지스터에 그 결과에 맞는 플래그가 세트가 되고 , 추후에 조건 분기 명령어 혹은 산술 명령어들에 의해 사용된다.