CS 3

[Computer Science] Arithmetic Logic Unit(ALU)는 어떻게 작동할까

컴퓨터의 작동을 이해하기 위해서는 많은 추상화 개념들을 이해해야한다. 이전 포스팅 중 하나에서 Or, Xor, and 게이트들을 추상화한 그림으로 표현하였는데, 여기서 더 나아가 이번 포스팅에서는 컴퓨터가 연산을 하기 위한 ALU의 작동 원리에 대해 알아본다. ALU란 Arithmetic & Logic Unit, 즉 산술, 논리장치를 의미한다. 먼저 산술 기능에 대해 보자. 모든 산술의 기본인 덧셈을 풀어보자. 단일비트의 2진수 두개를 더해본다고하자. 0+0=0, 1+0=1, 0+1=1 이다. 이전에 알아본 Xor게이트의 결과값과 같다는걸 볼 수 있다. 올림이 있을 때 약간 복잡해진다. 1+1=10이 되는데, 보다시피 1의자리는 0이기에 역시 Xor게이트의 결과값과 같으나 2의 자리에 올림수가 있어 10..

Computer Science 2022.11.29

[Computer Science] 숫자와 문자의 이진수 표현

앞선 포스팅에서 간단한 연산들로 인풋에 따른 아웃풋이 어떻게 true/false로 나오는지 알아봤다. 이번엔 true/false, 즉 1과 0의 이진수로 어떻게 우리가 사용하는 십진수 숫자와 문자들을 표현할 수 있는지 보려고한다. 인간은 십진수 아라비아 숫자를 사용하고, 대부분의 언어에서도 수를 나타내는 단어들이 십진법으로 표현된다. 인간이 원시시대부터 숫자를 셀 때 손가락을 사용하였기 때문이라는게 중론이다. 고대프랑스인들은 발가락도 썼나보다 우리가 사용하는 십진수에서 0~9까지는 첫자리에, 10 단위의 수는 둘째자리에, 10의 제곱 단위의 수는 셋째자리에 표현된다. 즉, 256이라는 수는 6 + 5*10 + 2*10*10인 것이다. 이진수도 같은 원리로 생각하면 이해가 빠르다. 0~1까지는 첫자리에, ..

Computer Science 2022.11.24

[Computer Science] 이진수 연산의 로직 게이트

컴퓨터가 회사의 묵직한 솔루션을 돌리거나 콜 오브 듀티 같은 게임을 구동시키는 것도 그 근원은 true/false 스위치에서 시작한다. 지난번 포스팅에서 그 물리적 스위치의 발달에 대해 다뤘다면 이번 포스팅에서는 단순한 0/1 스위치가 어떤 로직으로 연산을 뻗쳐나갈 수 있는지에 대한 첫단계로 Not, And, Or, Xor에 대해 알아본다. 전자컴퓨팅이 태동하기 전부터 이미 이진수 연산에 대한 로직은 연구가 꽤나 진행되어있었다. 19세기 조지 부울(George Boole)이라는 학자에 의해 부울 대수학이란 이름으로 정립되었는데, 이진수 연산은 그 학자의 이름을 따서 Boole 연산이라 불리게 되었고, 오늘날에 이르러서도 프로그래밍 True/False 구분에 사용되는 boolean이라는 단어의 근원이 되었..

Computer Science 2022.11.09