[컴퓨터구조] 컴퓨터 구조의 개요 및 디지털논리회로
컴퓨터 시스템
전자식 데이터 처리 시스템(EDPS: Electronic Data Processing System)
컴퓨터 시스템의 구성
컴퓨터 시스템은 하드웨어와 소프트웨어 측면으로 구분할 수 있으며 아래와 같은 구조를 갖는다.
하드웨어는 컴퓨터의 기계적인 장치를 의미하며, 소프트웨어는 이러한 하드웨어를 제어하여 원하는 결과를 얻을 수 있도록 하는 모든 종류의 프로그램을 의미한다.
소프트웨어는 컴퓨터에서 사용할 수 있는 명령어들의 조합으로 구현되는데, 이를 프로그램이라고 한다.
- 시스템 소프트웨어 : 컴퓨터 시스템 운영을 제어하고 지원하는 프로그램 (컴파일러, 어셈블러, 로더, 운영체제)
- 응용 소프트웨어 : 사용자 편의를 위해 만들어진 프로그램 (워드프로세서, 데이터베이스, 스프레드시트)
시스템버스는 입력장치와 출력장치, 기억장치, 중앙처리장치들 간의 통신을 가능하게 한다.
컴퓨터 시스템의 발전 과정
1세대 컴퓨터 | 2세대 컴퓨터 | 3세대 컴퓨터 | 4세대 컴퓨터 | 차세대 컴퓨터 | |
---|---|---|---|---|---|
하드웨어 특징 | 진공관 | 트랜지스터 | 직접회로(IC) | LSI | VLSI |
소프트웨어 특징 | 어셈블리어 일괄처리 | 고급언어 실시간처리 | 시분할처리 | 인공지능 전문가시스템 | 병렬처리 자연언어처리 |
디지털 논리회로
- 컴퓨터를 구성하는 기본 회로
- 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.