2022. 1. 29. 17:16ㆍIoT Embeded 강의
지난 글에서 우리는 컴퓨터의 기본단위인 소자의 간략한 구조와 동작원리를 보고 디지털신호 0과 1이 어떻게 발생되는지 알아봤습니다. 원자가 어떻게 잘 배열되어 큰 세상을 이루는 것처럼 소자끼리 어떻게 잘 배열하여 더 큰 단위와 기능을 하게 되는지 알아볼 것이다.
MOSFET 에서 Gate 에 양전하가 쌓이게 되면 그 밑에 전자가 길을 형성하여 전류를 흐르게 만든다는 개념을 다시 생각해봅시다. 앞으로는 Gate에 양전하가 쌓이는 것을 Gate 에 전압을 가한다고 표현하고 이를 디지털 신호 '1'이라고 표현하겠습니다.(반대 상황은 '0'). 그리고 회로도를 설명할텐데 이때 회로도를 물이 흐르는 물길이라고 생각하면 편합니다.
먼저 MOSFET 소자 한개에서 만일 입력장치를 이용해 '0'이라는 신호를 Gate에 입력했다고 가정해보겠습니다. 그러면 MOSFET 소자에는 전류가 흐르지 않습니다. '1'을 입력하면 전류가 흐를 것입니다. 이제 이 MOSFET 소자를 직렬로 연결된 상황을 보겠습니다. 각 MOSFET 소자의 Source와 Drain 이 직렬로 연결될 것이고 이는 마치 수도관에서 수도꼭지 두개가 직렬로 연결된 것과 같은 상황입니다.
위의 그림에서 input 1,2 모두에 입력된 신호가 0이라면 (Gate 에 전압이 가해지지 않는 상황) 전류가 흐르는 길이 모두 막혀 있어 output 에 나오는 전류는 없으므로 그 값은 '0'이 출력됩니다. 반대로 입력 신호가 모두 '1'이라면 모두 길이 형성되어서 output 에 전류가 흐르므로 출력값은 '1'이 됩니다.
만약 한쪽만 입력신호가 '1'이라면 어떻게 될까요? 결국 한쪽 길이 막혀있기 때문에 output 은 모두 '0'이 됩니다. 소자를 직렬로 연결했을 때 입력신호와 출력신호를 정리하면 아래와 같습니다.
input1 | input2 | output |
0 | 0 | 0 |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
이는 마치 input 1,2 를 곱하기 한것과 같은 결과입니다. 이와 같은 논리연산을 'AND'라고 얘기합니다.
그렇다면 병렬연결을 하면 어떤 논리연산이 되는지 알아보겠습니다.
두 소자가 병렬로 연결됐기 때문에 한쪽만 길이 열려도 output으로 전류는 흐르게 됩니다. 이는 두 입력신호 중 한개만 '1'이여도 결과가 '1'이 출력된다는 의미입니다.
input1 | input2 | output |
0 | 0 | 0 |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
이는 논리연산에서 'OR'이라고 얘기합니다. 이 외에도 NOT, XOR, NAND, NOR 과 같은 다양한 논리연산들이 있으며 이를 이용해 덧셈, 곱셈과 같은 산술연산도 구현합니다. NOT 은 부정을 의미하며 0이 들어오면 1, 1이들어오면 0을 출력하고 NAND, NOR 은 AND, OR 연산의 출력값과 반대로 나옵니다.
입력1 | 입력2 | AND | OR | XOR | NAND | NOR |
0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 | 0 |
논리회로들을 잘 설계하여 여러가지 기능을 구현할 수 있도록 만들 수 있습니다. 그것이 집적회로(Intergrated Circuit)이며 반도체 제품의 성능을 높이는 방향이 바로 이러한 집적회로에 얼마나 더 많이 소자를 쌓을 수 있느냐에 달려있습니다.
'IoT Embeded 강의' 카테고리의 다른 글
반복문의 기본 문법 (0) | 2022.02.08 |
---|---|
조건문의 기본 문법 (0) | 2022.02.07 |
C언어 에러 종류 (0) | 2022.02.04 |
컴퓨터의 구조와 CPU동작 원리 (0) | 2022.02.04 |
하드웨어의 이해 (0) | 2022.01.29 |