카테고리 없음

컴퓨터의 구조 ALU는 어떻게 구성되어있을까?

막뇌 2023. 5. 16. 16:17

 

사진 출저[컴퓨터 구조] CPU, 메모리, 보조기억장치, 입출력장치를 알아보자 (hanbit.co.kr) 

 

 

컴퓨터의 구조입니다.

ALU는 arithmetic-logic unit의 약어로서 산술(수리)  -  논리  -  유닛이라는 말입니다.

이는 두가지 유닛으로 구성되어 있다는 말이기도 합니다.

AU - Arithmetic Unit

LU - Logic Unit

 

일반적으로 ALU는 processor controller(프로세서 컨트롤러), RAM, 입출력 장치에 직접 엑세스 합니다.

BUS라고 불리우는 전자 경로를 따라 엑세스 하지요.

 

 

 

또한 ALU는 내부장치와 레지스터로 이루어져 있습니다.(연산장치(alu)의 구조, 기능 및 역할 : 네이버 블로그 (naver.com))

 

내부장치

  1. 가산기(Adder) : 산술연산을 수행하는 회로, 두 개이상의 수의 합을 계산하는 논리 회로.
  2. 보수기(Complementer) : 뺄셈을 사용할 때 사용하는 보수를 만들어주는 논리 회로.
  3. 시프터(Shifter) : 2진수의 각 자리를 왼쪽 또는 오른쪽으로 이동해주는 회로.
  4. 오버플로우(Overflow) 검출기 : 산술기의 결과가 해당 레지스터의 용량을 초과했을 때를 검출해주는 회로.

 

레지스터(Register)

  1. 누산기(Accumulator) : 산술과 논리연산의 중간 값을 임시적으로 보관하기 위한 레지스터.
  2. 저장 레지스터(Storage Register) : 주기억 장치로 보내는 데이터를 임시적으로 저장하는 레지스터.
  3. 데이터 레지스터(Data Register) : 연산을 위한 데이터를 일시적으로 기억하는 레지스터.
  4. 상태 레지스터(Status Register) : 산술과 논리 연산의 결과로 나오는 캐리, 부호, 오버플로우 등의 상태를 기억하는 레지스터.
  5. 인덱스 레지스터(Index Register) : 명령 주소를 수정하거나 색인 주소를 지정할 때 사용하는 레지스터.
  6. 부동소수점 레지스터(Floating Point Register) : 부동소수점 연산에 사용되는 레지스터

CO-Processor ( 공청기 )

과거에는 CPU 구성요소인 ALU 만을 사용해서 부동소수점 까지 계산하기에는 느리거나 한계가 있었기 때문에

CO-Processor 라는 보조 유닛을 CPU에 사용했습니다.

수리연산에 특화되어 부동소수점 계산을 주로 돕는 역할을 했습니다.

이는 특정 분야의 연산을 가속화하는 데 사용될 수 있습니다.  예를들면 3D 연산에 특화된 Graphics CO-Processor 가 있습니다.

CO-Processor의 사진

최근에는 CO-Processor가 CPU에 내장되어있거나 하드웨어의 제조 기술의 발전으로 ALU가 모든 연산을 처리하고 있습니다.

 

수리연산을 돕는기계가 있다면 논리연산은 없을까?

네 없습니다.

논리연산은 ALU 내부의 논리게이트로 모두 처리되기 때문에 논리연산을 돕거나 논리연산만을 따로 처리하는 유닛은 별도로 없습니다.