컴퓨터/컴퓨터구조

[2] 전자 회로의 조합 논리

우유식빵 2022. 5. 1. 16:39

컴퓨터는 비트(bit)를 사용한다고 지난 1장에서 배웠다.

여담이지만 지금 이진상회(binary상회..)라는 정말 좋은 카페에 와서 이 글을 쓰고있다.

 

2장에서는 컴퓨터가 그래서 이 비트를 어떻게, 어떤 논리로 다루는지에 대해 배운다. 

지난시간에 NOT, OR, AND, XOR과 같은 불리언 대수에 대해 잠깐 이야기를 했었는데 

이번 장에서는 불리언 대수 -> 조합논리에 대해 다룰 것 같다. 

 

     1. 아날로그와 디지털

간단하게 아날로그는 연속적인 것, 디지털은 이산적인 것이다. 

아날로그로 표현하는 것이 모든 실수를 표현할 수 있기 때문에 좋아보이지만

반면 아날로그는 정확한 표현을 하기에 어렵다. 자에서 정확하게 1.01을 찾는 것이 어려운 것 처럼. 

물론 자가 매우 커진다면 1.01을 찾는 것은 쉬울 수 있다. 하지만 하드웨어에서는 크기가 중요하다.

 

CPU가 18mm이고 4GHz라면 40억분의 1초동안 전자는 CPU를 두 번 왕복할 수 있다.

만약에 컴퓨터에서 모든 장치를 작게 만들면 더 적은 전력 소모와 적은 열 발생등등 이보다 더 성능을 더 높일 수 있을지도 모른다.

 

그렇게 하드웨어 장치들을 작게 만들려는 노력 끝에 하드웨어 내의 전자들은 정말 작은 공간을 오가다보니

서로에 대한 간섭이 쉬워질 수 밖에 없었다. 이런 잡음들에 내성이 생기기 위해선 아날로그보다 디지털 회로를 사용하는 것이 안정적이다.

이 안정성이 지금 우리가 디지털 컴퓨터를 사용하는 이유이다.

 

아날로그로 이루어진 세상에서 우리는 문턱값이라는 것을 통해 

신호가 들어오면 중간값대신 상단부, 하단부 정보만으로 나누어 디지털 정보를 얻어낸다. 

 

컴퓨터가 10진 숫자가 아닌 비트를 사용하는 이유는

이런 문턱값을 10가지로 나누어 구분하는 것 보다 2진 문턱값으로 이용하는 것이 훨씬 간단하기 때문이다. 

 

     2. 전기와 컴퓨터

여러 디지털 회로들은 릴레이, 진공관, 트랜지스터, 집적회로등 다양한 방법으로 만들 수 있다.

하지만 집적회로를 이용하여 만드는 것이 복잡한 시스템을 트랜지스터 하나 만드는 정도의 비용으로 만들수있다. 

그래서 지금은 이 IC를 사용한다. 생긴 모양때문에 IC를 칩이라고 부르기도한다.  

 

     3. 논리 게이트

논리 게이트는 논리 연산을 수행하는 회로가 미리 들어가있다.

배관공이 기성 제품들을 이용해서 복잡한 배관으로 연결해 수도 시스템을 만드는 것 처럼

하드웨어 설계자들이 게이트를 사용하면 밑바닥부터 만들지 않고 IC들을 선으로 연결해 복잡한 회로도를 만들 수 있었다.

AND게이트, OR게이트, XOR게이트, 인버터 등등이 있지만 가장 효율적인 게이트는 NAND게이트와 NOR게이트이다.

AND/OR게이트에 인버터를 다는 것보다 NAND게이트와 NOR게이트가 더 적은 비용이 든다. 

 

이런 게이트들로 하드웨어 설계를 할 때 소규모 집적 회로(SSI, small-scale integration)를 만들 수 있고

이를 이용해서 중규모 집적 회로(MSI)를 만들 수 있으며 이를 이용해 대규모 집적회로(LSI)를 만들 수 있다.

더 나아가 Very large한 VLSI도 있다. 

 

     정리

숫자 대신 비트를 사용해서 하드웨어를 만드는 이유에 대해서 다뤗고

조합 논리를 이용한 논리 회로와 이 회로들과 부품들을 조합해서 더 복잡한 장치를 만들 수 있다는 것을 배웠다.

 

하지만 장치의 출력은 입력에 따라서 바뀐다. 값을 기억을 하려면 출력이 바뀌지 않아야한다. 

다음 장에서는 시간이 지나도 값이 없어지지 않고 기억할 수 있도록하는 순차논리에 대해서 다룬다.

 

사실 지금까지 그냥 컴퓨터가 디지털인 이유는 0과 1의 bit를 사용하기 때문이라고만 생각했지,

아날로그보다 디지털을 사용해야하는 이유에 대해서는 생각해본 적이 없는 것 같다. 

 

또 왜 집적회로를 칩이라고 부르는지 그 이유에 대해서도 생각해본적이 없고

LSI가 무엇인지에 대해 알아볼 생각을 안했었는데 

이번 기회를 통해 알 수 있었다고 생각한다. 

 

 

 

 

... 한 권으로 읽는 컴퓨터 구조와 프로그래밍 2장을 읽고.