컴퓨터, IT 지식/IT

컴퓨터의 수학적두뇌 ALU, (Arithmetic & Logic Unit)

게임이 더 좋아 2020. 4. 3. 09:18
반응형
728x170

https://www.youtube.com/watch?v=1I5ZMmrOfnA&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=6

영상의 요약 및 정리

 

ALU는 컴퓨터의 수학적인 두뇌를 의미한다

칩 안에 위치하는 것이다. 부울 논리회로를 이용해 칩을 만든다.

산술단위, 논리단위

산술단위는

2개의 숫자를 합하는 것을 가장 중요하게 생각하고 가장 잘한다.

2개의 2진수를 더하는 것이다. 그래서 2개의 입력과 1개의 결과 출력을 가진다. 2개의 숫자로 나올 수 있는 출력은 4가지 밖에 없다.

1+1는 0를 출력한다. 그 대신  carry bit가 올라간다. 우리는 그것을 위한 계산기를 가지고 반가산기라고 한다. 반가산기를 component로 생각할 수 있다.

그것보다 더 큰 연산을 하고싶다면 전가산기를 이용해야한다. 3개의 입력을 받는다. 그리고 2개의 출력이 있다.

전가산기도 component로 생각할 수 있다. 그렇다면 8bit는 어떻게 계산할까?

반가산기1개와 전가산기 7개로 계산이 가능한대 여기서 carry비트의 결과가 어디로 다시 들어가는지를 주목해야한다.

 

우리가 사용중인 비트 수보다 덧셈의 결과가 더 클 때 우리는 오버플로우가 발생한다고 한다. 보통 에러가 나거나, 예측할 수 없는 결과가 나온다.

 

현대컴퓨터는 그래서 올림수 예견 가산기를 쓴다.

 

ALU에는 곱셈,나눗셈 연산이 없다. 어차피 여러 번 더하는 것이 곱셈이니까.

그렇지만 있는 ALU도 있다.

 

인텔 74181은 곱셈, 나눗셈은 없지만 많은 계산을 할 수 있었다. 그렇지만 비트를 높이고 싶었는데, 8비트 ALU는 8비트의 입력이 2개가 있다. 계산코드는 4비트, 예를들어 1000는 덧셈, 1100는 뺄셈, 결국 8비트의 결과를 내놓는다. 또한 FLAG를 이용해서 1비트의 신호를 내보내곤 했는데, OVERFLOW, ZERO, NEGATIVE같은 값을 내놓고는 했다.

728x90
반응형
그리드형