Post

[컴퓨터구조] 컴퓨터 구조의 개요 및 디지털논리회로

컴퓨터 시스템

전자식 데이터 처리 시스템(EDPS: Electronic Data Processing System)

컴퓨터 시스템의 구성

컴퓨터 시스템은 하드웨어와 소프트웨어 측면으로 구분할 수 있으며 아래와 같은 구조를 갖는다.

하드웨어는 컴퓨터의 기계적인 장치를 의미하며, 소프트웨어는 이러한 하드웨어를 제어하여 원하는 결과를 얻을 수 있도록 하는 모든 종류의 프로그램을 의미한다.

소프트웨어는 컴퓨터에서 사용할 수 있는 명령어들의 조합으로 구현되는데, 이를 프로그램이라고 한다.

  • 시스템 소프트웨어 : 컴퓨터 시스템 운영을 제어하고 지원하는 프로그램 (컴파일러, 어셈블러, 로더, 운영체제)
  • 응용 소프트웨어 : 사용자 편의를 위해 만들어진 프로그램 (워드프로세서, 데이터베이스, 스프레드시트)

시스템버스는 입력장치와 출력장치, 기억장치, 중앙처리장치들 간의 통신을 가능하게 한다.

컴퓨터 시스템의 발전 과정

 1세대 컴퓨터2세대 컴퓨터3세대 컴퓨터4세대 컴퓨터차세대 컴퓨터
하드웨어 특징진공관트랜지스터직접회로(IC)LSIVLSI
소프트웨어 특징어셈블리어
일괄처리
고급언어
실시간처리
시분할처리인공지능
전문가시스템
병렬처리
자연언어처리

디지털 논리회로

  • 컴퓨터를 구성하는 기본 회로
  • 2진 디지털 논리를 논리 게이트로 구현한 것
  • 직접회로(IC)로 구성
  • 플립플롭(저장요소) 유무에 따라
    • 플립플롭 없음: 조합논리회로 (가산기, 디코더 등)
    • 플립플롭 있음: 순서논리회로 (레지스터, 카운터 등)

논리 게이트

  • 디지털 논리회로를 구현하는 데 사용되는 요소
  • 디지털 2진 정보만 다루는 소자
  • 2진 논리연산 수행
  • AND 게이트: F = XY
  • OR 게이트: F = X+Y
  • XOR 게이트: 2개의 입력이 다르면 1, 같으면 0
  • XNOR 게이트 : XOR 연산의 결과에 NOT 연산을 취함

불대수 기본 공식

불함수의 간소화

대수적인 방법

  • 진리표에서 각 변수의 조합을 최소항 또는 최대항으로 표현
    • 최소항 : 진리표에서 출력이 1이 되는 변수들에 대하여 논리곱(AND) 연산으로 결합하여 표현
    • 최대항 : 진리표에서 출력이 0이 되는 변수들에 대하여 논리합(OR) 연산으로 결합하여 표현
    • 최소항의 합형태와 최대항의 곱형태를 부울함수의 정규형이라고 한다.
    • 정규형을 불대수의 기본 공식을 이용하여 표준형으로 바꿀 수 있다.

카르노도표를 이용한 방법

  • 카르노 도표의 사각형은 각각 하나의 최소항 또는 최대항을 의미
  • 출력이 1인 인접된 사각형을 묶어서 간소화

조합논리회로

기본 연산회로

  • 가산기 : 2진수의 덧셈을 수행하는 조합논리회로
    • 반가산기 : 두 비트의 덧셈을 수행
    • 전가산기 : 세 비트의 덧셈을 수행
  • 감산기 : 2진수의 뺄셈을 수행하는 조합논리회로
    • 반감산기 : 두 비트의 뺄셈을 수행
    • 전감산기 : 세 비트의 뺄셈을 수행
  • 가·감산기 : 덧셈, 뺄셈 연산을 가산기만으로 수행하여 회로를 최소화

MSI를 이용한 조합논리회로

이미 만들어진 MSI(Medium Scale Integrated circuits) 장치를 이용하여 다양한 조합논리회로 설계 가능

인코더

  • 부호화되지 않은 입력을 받아서 부호화된 출력을 내보내는 부호화기
  • 문자, 숫자, 기호 등을 2진 코드로 변환시켜주는 조합논리회로
  • 2^n개의 입력과 n개의 출력을 가짐

디코더

  • 부호화된 입력을 받아서 부호화되지 않은 출력을 내보내는 복호화기
  • 컴퓨터 명령어를 해독하는 데 사용되는 조합논리회로
  • n비트의 입력과 최대 2n개의 출력을 가짐

멀티플렉서

  • 데이터 선택기, MUX라고 함
  • 여러 개의 입력선 중에서 하나를 선택하여 단일의 출력을 내보내는 조합논리회로
  • 특정 입력선을 선택하기 위해 n개의 선택변수 사용

디멀티플렉서

  • 데이터 분배기, DEMUX라고 함
  • 한 개의 입력선으로 정보를 받아 이를 2^n개의 출력선 중의 하나로 내보난다.
  • 특정 출력선을 선택하기 위해 n개의 선택변수 사용

순서논리회로

플립플롭

  • 1비트의 2진 정보를 저장할 수 있는 장치
  • 클럭 신호에 의해 출력상태를 바꾼다.
  • 플립플롭의 종류
    • RS 플립플롭 : 세 입력이 모두 1일 때 어떤 값으로도 결정할 수 없는 상태 발생
    • D 플립플롭 : S,R이 동시에 1을 갖지 않도록 한다.
    • JK 플립플롭 : RS 플립플롭의 미정상태를 개선한 가장 많이 사용되는 플립플롭
    • T 플립플롭 : JK 플립플롭의 두 입력을 하나로 묶어서 만든 플립플롭 (T=Toggle)

비동기 순서논리회로

  • 시간지연소자 사용

동기 순서논리회로

  • 플립플롭 저장요소를 사용하며, 가장 많이 사용되는 순서논리회로
  • 클럭 펄스는 저장요소의 내용을 변화시킬 수 있는 신호

레지스터

  • 데이터를 일시 저장하거나 전송하는 장치
  • 여러 개의 플립플롭을 연결하여 구성
  • n비트 레지스터는 n개의 플립플롭으로 구성되며 n비트의 2진 정보를 저장한다.

데이터 적재 레지스터

  • 입력된 데이터를 그대로 기억하는 역할을 수행하는 레지스터
  • 일반적으로 D 플립플롭을 사용하여 구성
  • 데이터 입력 방식에 따라 직렬적재 레지스터, 병렬적재 레지스터로 나뉨

시프트 레지스터

  • 레지스터가 기억하고 있는 정보에 대해 한 방향, 혹은 양방향으로 정보의 위치를 이동시킬 수 있는 레지스터
  • 플립플롭을 직렬로 연결
  • 모든 플립플롭은 공통 클록 펄스를 가지며, 클록 펄스에 따라 한 단씩 자리를 이동한다.

카운터

  • 입력되는 클록 펄스에 따라 미리 정해진 순서를 밟아가는 특수한 형태의 레지스터
  • 외부의 입력이나 출력이 없음
  • 클록 펄스에 의해 상태 변화
  • T 플립플롭이나 JK 플립플롭이 주로 사용됨
This post is licensed under CC BY 4.0 by the author.