우리가 아는 컴퓨터의 주요 장치인 CPU, 메모리 등은 전자회로를 달리 구성하여 만든 논리게이트에 근간한다. 논리게이트의 종류에 대해서 하나씩 알아보자.위 그림을 보면 직관적으로 A 스위치가 꺼져 있어도 전구가 켜져 있는 것을 알 수 있다. 여기서 스위치 A가 꺼져 있
논리게이트 중 저번 NOT게이트에 이어서 AND게이트와 OR게이트를 살펴보자.위 그림 AND gate를 보면 A 스위치와 B 스위치 모두 눌러야 전구에 불이 들어온다. 스위치를 누르는 것을 1, 누르지 않은 것을 0이라고 하고, 전구에 불이 들어오는 것을 1, 불이 꺼
이제까지 정리했던 NOT게이트와 AND게이트, OR게이트를 섞어서 NAND게이트, NOR게이트를 만들어보자. 왜 이 짓을 하고 있냐면 이런 논리게이트들과 다른 것들을 섞어서 CPU까지 만들어진다.(라고 배웠다.)전에 정리했던 위 그림과 같은 NOT게이트와 AND게이트를
지금까지 정리한 논리 게이트를 모아보면 아래와 같이 NOT, AND, OR, NAND, NOR게이트가 있다.위 그림에 보면 논리식이라고 해서 식이 나와 있다. 즉, 논리게이트(논리연산)를 논리식으로 표현이 가능하다. 여기서 나온 논리식은 부울 대수식을 사용한다. CPU
지금까지 정리한 논리게이트들을 모아서 가산기(덧셈 연산을 수행하는 논리회로)를 만들어보자. 가산기를 만들기 전에 비트의 개념을 알고 가자. 처음엔 1bit 가산기를 만들 것이기 때문이다.bit는 binary digit의 약자이다. 즉, 하나의 비트는 2진수의 한자리로
이전에 정리했던 반가산기는 두 비트의 덧셈 연산이 가능했다. 인간의 욕심은 끝이 없으니 두 비트 이상을 더하기 위해 반가산기를 조합하여 전가산기를 알아보자.전가산기는 반가산기 2개를 연결하여 다음 그림과 같이 만들 수 있다.위 그림에서 네모로 그려진 게 XOR게이트와
메모리에 대해서 알아보기 위해 RS래치에 대해서 알아보자. 래치(latch)와 플립플롭(flip-flop)은 1bit의 정보를 보관, 유지할 수 있는 회로이다. 검색해보니 플립플롭과 래치의 차이점은 클록을 가지고 있냐 없냐의 차이라고 한다. 래치는 클록이 없고, 플립플
전에 RS래치의 전구가 이어져 있는 버젼에서 회로를 다음과 같이 바꿔보자.앞서 말했듯이 이 회로는 S가 1이었던 것을 Q가 기억하는 회로이다. 이러한 메모리 기능을 특정 순간에만 사용하기 위해서,RS래치에 클록 및 pulse detector circuit을 달아서 RS
앞에서 말한 RS플립플롭은 S와 R이 동시에 활성화 될 경우에 문제가 있었다. 이러한 문제점을 해결하기 위해서 여러 종류의 플립플롭이 개발되기 시작했는데 그 중 하나가 D플립플롭이다.기존의 RS플립플롭에서 S와 R이 동시에 활성화되는 것을 피하기 위해서 입력을 D로 하
이전까지 정리한 플리플롭을 이용하여 메모리를 만들어 보자. D플립플롭은 아래와 같은 회로도를 가지고 있다고 했다.그리고 D에 데이터를 넣기 위해서는 그림 상 E가 1이 되어야 한다는 점도 정리했다. 여기서 E를 Write라고 표시하고 D플립플롭을 추상화 하면 아래의 그
컴퓨터에서 '자주 쓰는 데이터는 계속 자주 쓰인다.'라고 한다. 그럼 자주 쓰이는 데이터를 더 빨리 읽어오고, 덜 자주 쓰이는 데이터를 상대적으로 천천히 읽어오면 더 쾌적하게 컴퓨터를 사용할 수 있을 것이다. 이러한 필요에 따라 메모리를 여러 가지 종류로 나누어 둔 것
CPU의 기본구조에 대해서 알아보자. CPU는 위 그림에서 보듯이 크게 3가지 구성요소가 있다. Control Unit(제어장치), Registers, ALU(연산장치, Combinational Logic)이다. 간단하게만 설명하면 Contro Unit(제어장치)는 컴
전에 정리한 메모리 계층 구조에서 최상위에 위치한 레지스터에 대해 알아보자. 레지스터는 CPU 내부에 위치하여 가장 빠른 속도로 접근 가능한 메모리이다. 일반적으로 프로세서 내부에 레지스터 구성은 PC, IR, MAR, MBR, I/O AR, I/O BR이 있따.다음에
CPU가 인식해서 기능을 이해하고 실행할 수 있는 명령어를 말한다. 조금 더 설명하자면 CPU가 직접 해독하고 실행할 수 있는 비트 단위로, 즉 0과 1로 쓰인 컴퓨터 언어이다. 따라서 CPU마다 기계어 코드의 길이와 숫자 코드가 다르다. 보통 Operation cod
파이프라인이란 같은 CPU 처리속도(성능)를 높이기 위해서 명령어 수행을 단계적으로 나누어, 병렬로 처리하는 것을 말한다.예를들어 하나의 세탁과정을 3단계로 아래의 그림과 같이 세탁기, 건조기, 개기 이렇게 나눠진다고 해보자. 위의 그림과 같이 하나의 세탁과정이 끝나고
CPU를 설계하는 방식에 따라 CISC방식과 RISC방식으로 구분할 수 있다. 가장 큰 차이점이라고 하면 CISC방식은 명령어의 길이와 포맷이 가변적이며, RISC방식은 명령어 길이가 고정되어 있다.1) CISC방식은 앞서 말했듯이 명령어의 길이와 형식이 가변적이기 때
DMA는 CPU와는 별개로 특정 하드웨어 하위 시스템이 직접 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다. DMA는 CPU와 독립적으로 작동하기 때문에, CPU의 부담을 줄여 시스템 성능을 향상시키는데 사용된다.DMA를 통해 CPU의 개입없이