본문 바로가기

학교 수업/전공 수업

[컴퓨터 구조] 컴퓨터 구조 (IU,OU,CPU,ALU,CU,Register)에 대하여/ 논리 게이트(NOT, AND, OR)

안녕하세요 소프트웨어 공부하는 레오존입니다.

오늘은 컴퓨터 구조 (Computer Architecture)와 논리회로 게이트(NOT, AND, OR)에 대해 간략하게 정리해 보도록 하겠습니다.

 

Computer Architecture

먼저 컴퓨터 구조에 대해 알아보도록 하겠습니다.

컴퓨터 구조는 크게 입력 장치(Input Unit) 와 출력 장치(Output Unit), 중앙처리장치(Central Processor Unit)로 나눌 수 있습니다.

컴퓨터-구조
컴퓨터 구조의 대략적인 그림

CPU는 입력장치와 출력장치 사이인 가운데에 존재합니다. 또한, CPU 안에는 ALU, CU, Register가 들어있습니다.

ALU는 Arithmetic and Logical Unit으로 산술논치장치라고 부르는데, 말 그대로 산술연산과 논리연산해 주는 장치입니다.

CU는 Control Unit는 제어 장치로 다른 장치들의 제어를 지시하는 장치입니다.

 

 

ALU

먼저 ALU는 대략적으로 입력값을 받아 연산을 한다고 생각하면 됩니다. 위에 그림처럼 CPU나 CU와 달리 ALU만 모양이 V자 형태인 이유는 (사실 뭉뚝한 V이어야 했는데 직접 만들다 보니 어색한 점 양해 부탁드려요..) 입력을 2개를 받을 수 있기 때문입니다. 연산 처리를 하려면 대상이 존재해야 하는데, 그 대상이 하나가 아니라 최소 2개가 되어야 합니다. 3개가 된다면 두 개를 먼저 처리하고 나온 결괏값과 나머지 남은 하나를 연산하여 최종 결과를 도출하게 됩니다.

 

아래 도식을 통해 3개의 대상을 연산할 때 어떤 식으로 진행되는지 알아보도록 하겠습니다. 먼저 A와 B 두개의 입력값을 연산하여 A'이라는 결괏값이 나오게 됩니다. 그 후에 A'이 C와 연산되어 D라는 최종 결과가 나오게 됩니다. 식으로 표현하자면 A+B+C = A'+C = D라고 나타낼 수 있겠습니다.

ALU
ALU

Register

레지스터는 메모리라고 할 수 있습니다. 정확히 얘기해보자면 Flip-flop이 여러 개 모여 하나를 이룬 것이 레지스터인데, 여기서 Flip-flop이란 한 비트(1 bit)를 저장할 수 있는 소자(elemetary)입니다.

 

참고 (bit, byte, nibble에 대한 설명)

 여기서 bit란 binary digit의 약자로 이진법 숫자라는 의미를 갖고 있습니다. 그러니까 bit는 이진법 숫자인 0과 1을 나타낼 수 있습니다. 참고로 10진수는 0에서 9까지의 숫자를 나타낼 수 있고 8진수는 0에서 7까지의 숫자를, 2진수는 0과 1의 숫자를 나타낼 수 있습니다. 이러한 숫자 하나하나를 digit이라고 합니다.

1개의 bit가 8개가 모이면 8bit가 되는데, 8개의 bit인 8bit는 1 byte라고 나타내기도 합니다. 즉, 8bit = 1byte인 것이죠. 더불어 4개의 bit가 모이면 1 nibble이라고 표현하기도 합니다.

 

정리해보면

1. 1 byte = 8 bit

2. 1 nibble = 4 bit 

 

다시 레지스터 이야기로 넘어가겠습니다. 레지스터는 Flip-flop이 여러 개 모인 것이라고 했는데, Flip-flop이 여러 개 모인 것에 더해 행으로 쌓이면 더 이상 레지스터가 아닌 메모리가 됩니다. 따라서 memory> register> flip-flop 관계를 이루고 있음을 알 수 있습니다. 

memory는 크게 ROM과 RAM으로 나눌 수 있습니다.

 

  • ROM

ROM은 Read Only Memory의 약자로 비휘발의 특징을 갖고 있습니다. 따라서 한번 기록된 정보가 계속 유지되고, 삭제나 수정이 불가능한 기억장치입니다. 

ROM은 Mask ROM, PROM, EPROM, EEPROM, FLASH로 분류할 수 있습니다.

  • Mask ROM :  사용자가 바꿀 수 없는 메모리, 이미 나올 때부터 기록된 채로 나옴
  • PROM(Programmable ROM): 사용자가 딱 한 번 프로그래밍할 수 있는 메모리
  • EPROM : 자외선으로 기록을 지우고 다시 기록할 수 있는 메모리
  • EEPROM : 전기적으로 기록을 지우고 다시 기록할 수 있는  메모리
  • FLASH : EEPROM과 마찬가지로 전기적으로 기록을 지우고 다시 기록할 수 있는 메모리
  • RAM

RAM은 Random Access Memory의 약자로 휘발성의 특징을 갖고 있습니다. 따라서 사용자가 기록을 자유롭게 썼다 지울 수 있습니다. RAM은 크게 static ram(정적 램)과 dynamic ram(동적 램)으로 나눌 수 있습니다.

 

  • static ram(정적 램)은 CPU안에 있는 register를 대부분 구성하며, CPU 안에서 cash memory를 구성합니다. static ram은 flip-flop 소자로 구성되어 빨리 처리할 수 있도록 합니다.
  • dynamic ram(동적 램)은 안정적으로 많은 데이터를 처리할 수 있도록 합니다.

 


AND, OR, NOT 논리 게이트

AND 논리게이트

AND-논리-게이트

AND 논리게이트는 왼쪽에 보이는 기호로 나타낼 수 있습니다.

AND 논리게이트는 A, B의 binary값이 둘 다 1일 때만 결과(C)가 1이 됩니다.
A와 B 중에 하나라도 0이 나오면 결과로 1이 나올 수 없습니다.

AND 논리게이트 결과를 정리한 표는 아래와 같습니다. 하나라도 0이 나오면 결과(C)가 1이 나올 수 없는 것을 볼 수 있습니다.

AND-논리-게이트-표

 

 

 

OR 논리게이트

OR-논리-게이트

OR 논리게이트는 왼쪽과 같은 기호로 나타낼 수 있습니다.

OR 논리게이트는 A, B의 binary 값이 둘 중 하나만 1이 있어도 결과(D)가 1이 됩니다. A와 B 둘 다 0일 경우만 0이 됩니다.

OR 논리게이트를 정리한 표는 아래와 같습니다.

OR-논리-게이트-표

 

NOT 논리게이트

 

AND-논리-게이트

NOT 논리게이트는 왼쪽과 같이 나타낼 수 있습니다.

NOT 논리게이트는 A의 binary 값의 반대 값이 결과로 나오게 됩니다.

NOT 논리게이트를 정리한 표는 아래와 같습니다.

NOT-논리-게이트-표

 

지금까지 컴퓨터 구조와 논리 게이트(NOT, AND, OR)에 대해 정리해보았습니다.

부족한 글 봐주셔서 감사드리고 혹시 오류가 있는 부분은 댓글로 남겨주세요!