전자계산기 일반 |
|
(1) 전자계산기구성 : 하드웨어(CPU, 주변장치), 소프트웨어(시스템, 응용 S/W)
(2) 전자계산기5대장치 : 제어, 연산, 기억, 입력, 출력
(3) 특징 : 신속, 범용, 호환, 정확, 대용량, 자동성(창의성, 창조성 등은 없음)
(4) 컴퓨터의 수동성 의미 : GIGO(Garbage In Garbage Out)
(5) CPU의 성능단위 : MIPS(Million Instruction Per Second)
(6) 전자계산기 발달과정(시대 순으로)
① 바베지 : 차분기관, 해석기관 →현대식 계산기의 기본원리 개념 확립
② 홀러리스 : 천공카드(PCS) → 인구조사와 국세조사에 이용
③ 에이컨 : MARK-I → 최초의 기계식 자동계산기
④ 에커트, 머클리 : ENIAC → 세계 최초의 전자계산기(진공관사용)
⑤ 모리스, 윌키스 : EDSAC → 프로그램 내장방식 최초 도입
⑥ EDVAC → 프로그램 내장방식 실용(폰노이만)
⑦ 에커트, 머클리 : UNIVAC-I → 최초의 상업용 계산기
※ 폰노이만 : 프로그램 내장방식 제창 → 주기억장치에 저장시켜 처리하는 방식
⑧ 전자계산기 개발순서 : ENIAC(애니악) → EDSAC(애니삭) → EDVAC(애드박) → UNIVAC-I(유니박 원)
(7) 전자계산기 세대별 분류
구 분 |
1세대 |
2세대 |
3세대 |
4세대 |
5세대 |
주요소자 |
진공관 |
트랜지스터 |
집적회로 |
고밀도집적 |
초고밀도집적 |
처리속도 |
ms(10-3) |
㎲(10-6) |
ns(10-9) |
ps(10-12) |
fs(10-15) |
(8) 처리데이터에 의한 분류
|
아날로그 |
디지털 |
입 력 |
연속적인 물리량 |
숫자 또는 문자 |
출 력 |
그래프, 곡선 |
숫자 또는 문자 |
연 산 |
미적분 |
사칙연산 |
회 로 |
증폭회로 |
논리회로 |
정밀도 |
0.01% |
필요한 자리까지 |
(9) 마이크로프로세서 : 일반적으로 중앙처리장치와 LSI 1~2개를 하나의 칩에 결합해 기능을 수행
(10) 컴퓨터의 기억용량
① KB(103) → MB(106) → GB(109) → TB(1012)
② 1KB = 1024Byte(영문 1자 : 1Byte, 한글 한자 : 2Byte)
(11) 처리속도 단위
※ ms(10-3) → ㎲(10-6) → ns(10-9) → ps(10-12) → fs(10-15) → as(10-18)
(12) 제어장치 : 컴퓨터 각 장치들의 동작을 감독 지시하는 역할 수행
① 명령계수기(PC, IC) : 다음에 실행할 명령어의 주소 보관
② 명령레지스터(IR) : 현재 실행중인 명령을 보관
③ 명령해독기 : 명령을 해독하고 필요한 실행신호 보관
(13) 연산장치 : 제어장치에 의해 산술 및 논리연산을 수행
① 가산기 : 2진수의 덧셈
② 누산기(Accumulator) : 산술 및 논리연산의 결과를 임시보관
(14) 기억장치 : 입력장치로 읽어들인 프로그램, DATA, 결과를 기억
① 주기억장치 : 입력된 자료, 프로그램을 기억(RAM, ROM)
② 보조기억장치 : 내용을 영구히 기억(자기디스크, 드럼, 테이프)
(15) 입력장치 : 마우스, 광전펜, 스캐너, OMR, OCR, MICR, 카드판독기, 바코드리더, 디지타이저
※ 카드판독기 용어
① 호퍼(Hopper) : 입력할 카드를 쌓아둔 곳
② 스태커(Stacker) : 읽은 카드를 쌓아둔 곳
(16) 출력장치 : 모니터, 천공카드, 종이테이프천공기, 프린터, COM
① 천공카드 한 컬럼은 : 12bit 로 구성
※ 인쇄 속도 단위
① CPS(Character Per Second) : 1초 동안 인쇄되는 문자 수
② LPM(Line Per Minute) : 1분 동안 인쇄되는 라인(줄, 행) 수
③ PPM(Page Per Minute) : 1분 동안 인쇄되는 페이지의 수
(17) 시스템 성능평가 기준 : 처리능력, 응답시간, 사용가능도, 신뢰도
(18) 운영체제의 3대 자원 : 인적, 소프트웨어, 하드웨어 자원
(19) 운영체제의 구성
제어프로그램 |
처리프로그램 |
감시감독, 데이터관리, 작업관리 |
언어번역, 문제처리 ,서비스 |
(20) 언어번역 : 사용자가 작성한 원시프로그램을 컴퓨터가 이해할 수 있는 목적프로그램으로 변환
① 어셈블러 : 어셈블리어로 작성된 원시언어를 기계어로 번역(저급언어)
② 컴파일러 : 고급언어(C, 코볼, 파스칼, 포트란 등)로 작성된 원시언어를 기계어로 변환(고급언어)
※ 번역과정
① 원시프로그램→번역(어셈블러, 컴파일러)→목적프로그램→연계편집(Linkage Editor)→로드모듈(실행가능 P/G)→로더(적재기)→Run(실행)
② 인터프리터 : 베이직(BASIC), 리스트(LIST), 스노볼(SNOBOL) 등의 원시 언어를 줄 단위로 변환 후 바로 실행하는 프로그램(목적프로그램 생성 안 됨)
(21) 운영체제 운영방식
① 단일처리 : 주기억 장치에 하나의 프로그램만 수행
② 일괄처리(Batch Processing System) : 일정기간동안 데이터 자료를 모아 한꺼번에 처리
③ 실시간처리(On-line Real Time System) : 데이터가 발생하는 즉시 처리
④ 다중프로그래밍(Multi Programming) : 하나의 CPU가 2개 이상의 프로그램을 처리
⑤ 다중처리(Multi Processing) : 2개 이상의 CPU가 여러 개의 작업을 처리
※ 실시간처리 시스템의 종류 : 조회, 거래 데이터, 메시지교환 방식
(22) 운영체제의 용어
- Overlay : 긴 프로그램을 분할하여 실행
- Spooling : CPU와 입출력장치사의 속도차이 수행
- Dead Lock : 둘이상의 프로세스들이 다른 프로세스가 차지하고 있는 자원을 무한정 기다리는 상태
- Relocation : 현 장소에서 다른 장소로 프로그램을 재배치
(23) 드모르강의 정리 : (X+Y) = X․Y (X․Y) = X+Y
(24) 조합논리회로
① 반가산기 : 두 비트의 합(Sum)과 자리올림(Carry)를 발생하는 회로
※ Sum = AB + AB = A㊉ B Carry = AB
② 전가산기 : 두 개의 반가산기와 한 개의 OR 회로로 구성
③ 엔코더 : 2진수로 부호화, 2n개의 입력 -> n개 출력 , OR회로 구성
④ 디코더 : 10진 코드와 같이 이해할 수 있는 형태로 해독, n개 입력 -> 2n개 출력, AND 회로 구성
(25) 순차논리회로
① RS 플립플롭 : 두 비트에 동시에 1이면 출력은 불능상태
② JK 플립플롭 : RS의 불능상태를 보완한 회로, 두 비트 1일 때 반전
③ T 플립플롭 : 입력이 0=>상태유지 1=>보수출력
(26) 연산 : 수치연산(Shift), 비수치연산(MOVE, Complement, AND, OR, Rotate)
① 우측 시프트 : 원래의 값에 2의 비트 이동수승만큼 나눈 값
ex) n비트 우측이동하면 "원래 값 / 2n", 우측 이동한 비트는 절삭
② 좌측 시프트 : 원래의 값에 2의 비트 이동수승만큼 곱한 값
ex) n비트 좌측이동하면 “원래 값 * 2n", 좌측 이동한 비트는 절삭
③ 단항연산 : 연산에 사용되는 자료가 한 개(Move, Complement, Shift)
④ 이항연산 : 연산에 사용되는 자료가 두 개(AND, OR)
(27) 자료처리
① 자료 : 처리되지 않은 가공되지 않은 사실
② 처리 : 자료를 유용한 정보로 변환하는 과정
③ 정보 : 사람의 의사결정에 도움을 주는 유용한 자료
④ 피드백 : 원하는 결과를 얻을 때까지 다시 되돌림
(28) 자료의 표현단위
① 비트 : 정보의 최소단위
※ 동시에 0과 1을 표현할 수 없다.
② Nibble : 4bit의 모임(24=16가지 표현)
③ Byte : 8bit의 모임(문자 표현최소 단위), 28=256가지표현
④ Word : CPU의 처리단위
Half word(하프워드) |
2바이트 |
Full word는 1워드 |
Full word(풀워드) |
4바이트 | |
Double word(더블워드) |
8바이트 |
⑤ Item(=Field) : 워드(word)의 모임, 품명, 단가 등
⑥ Record(=논리레코드) : 프로그램 처리의 기본단위
⑦ Physical Record(=물리레코드=Block) : 논리레코드의 모임
※ 데이터의 입출력 단위
⑧ File : 디스크에 저장되는 단위
(29) 그레이코드(Gray code)
※ Pointer(포인터) 특징
① 기억공간의 자료의 주소의미, 기억 공간 절약, 삽입 ․ 삭제용이, 프로그램 수정 곤란, 연산속도가 느리다
(30) 자료내부표현(정수 표현방식)
① Zone Decimal(=Unpack) : 1바이트에 10진수 한 개 기억, 편집 가능, 연산 불가능
F |
D |
F |
D |
F |
D |
S |
D |
S(부호) : + : C, - : D |
② Pack Decimal : 1바이트 10진수 두 개 기억, 편집불, 연산가능
D |
D |
D |
D |
D |
D |
D |
S |
S(부호) : + : C, - : D |
③ 고정소수점(1의 보수, 2의 보수) : 2진 연산 수행(사칙연산)
※ 음수표현방법
|
부호화 절대치 |
1의 보수 |
2의 보수 |
표현방법 |
부호비트만 1 |
비트에 0과 1을 반대표현 |
1의 보수를 구한 뒤 마지막 비트에 1을 더함 |
표현범위 |
-(2N-1-1)~2n-1-1 |
-(2N-1-1)~2n-1-1 |
-2n-1~2n-1-1 |
※ 2의 보수가 1의 보수보다 표현범위가 하나 더 많음
① 부동소수점 표현 : 매우 큰 수나 매우 작은 수에 표현(실수연산)
0 |
1 |
|
8 |
|
31 |
| |||
부호 |
지수부 |
가수부 |
|
양수 : 0, 음수 : 1 |
(31) 자료 외부표현
① BCD : 6비트 구성(26=64가지 표현), 숫자 4비트, 문자 6비트
② ASCII : 7비트 구성(27=128가지 표현), 숫자 4비트, 문자 7비트, 데이터통신용코드, 미 표준정보 교환용 코드, 개인용 컴퓨터에 사용
③ EBCDIC : 8비트 구성(28=256가지 표현), 숫자 4비트, 문자 8비트, 대형컴퓨터에 많이 사용
※ 코드의 종류
① 가중치코드 : 각 자릿수에 고유한 값을 갖고 있는 코드
② 비가중치코드 : 각 자릿수에 고유한 값이 없는 코드
③ 자기 보수코드 : 어떤 고트에 대한 1의 보수가 그 10진수의 9의 보수로 되는 코드
④ 에러검출코드 : 에러검출이 가능한 코드(해밍, 바이퀴너리, 링카운터, 5중2코드, 5중3코드)
(32) 명령어형식
OP-Code 연산자 |
Operand 주소부, 데이터 |
|
․ Op-code : 명령어 형식, 연산자, 자료의 종류 ․ Operand : 주소, 명령의 순서, 주소의 정도 |
(33) 자료전달기능
CPU |
← Load ― ― Store → |
주기억장치 |
← Load ― ― Save → |
보조기억장치 |
(34) 명령어 형식
- 0번지 |
OP Code |
Stack 이용 |
- 1번지 |
OP Code |
Address1 |
누산기 이용 |
- 2번지 |
OP Code |
Address1 |
Address2 |
범용레지스터 이용 |
- 3번지 |
OP Code |
Address1 |
Address2 |
Address3 |
범용레지스터 이용 |
(35) 주소 지정방식
- 즉시주소 : 주소부분에 있는 값이 실제 데이터(속도 빠름)
- 직접주소 : 주소부분에 있는 값이 실제데이터의 주소
- 간접주소 : 주소부분의 주소가 실제데이터의 주소를 가지고 있음
- 계산에 의한 주소 : 주소부분과 특정 레지스터의 값과 연산하여 주소구함
(36) Address(어드레스)
- 절대주소 : 오퍼랜드(주소부)가 실제 데이터가 있는 메모리 주소(고유번지), 기억 공간 낭비 심하다
- 상대주소 : 메모리 사용이 효율적
(37) BUS(버스) : 연산장치와 제어장치간의 자료전송과 지시 신호 전달 통로
(38) DMA : CPU로부터 입출력 지시를 받으면 CPU의 통제없이 주기억 장치와 입출력장치 사이의 직접적인 자료를 전송
(39) 명령 사이클(Instruction Cycle) : 페치사이클과 실행 사이클로 구성
- Fetch Cycle(페치 사이클) : 명령실행 완료 후 다음에 실행할 명령을 기억장치로부터 가져오는 동작
- Execute Cycle(실행 사이클) : 명령 해독 후 실행하는 단계
(40) 인터럽트
① 하드웨어 인터럽트
- 정전(우선순위 1위)
- 기계착오 인터럽트
- 외부 인터럽트
- 입출력인터럽트
② 소프트웨어 인터럽트
- 프로그램 인터럽트
- SVC(SuperVisor Call)(우선순위 가장 낮음)
(41) 주기억장치
① RAM : 임의 접근 방식 읽고 쓰기가능, 휘발성, DRAM과 SRAM구성
|
SRAM(정적 램) |
DRAM(동적 램) |
특징 |
전원이 공급되는 한 내용이 유지 속도가 빠르다 |
일정시간이 지나면 방전 되므로 재충전(Refresh)이 필요 |
이용 |
Cache(캐시)에 이용 |
일반적인 주 기억장치 |
② ROM : 읽기전용으로 내용 변경 불가능, 비휘발성
종류 |
특징 |
Mask-ROM |
제조회사에서 만들어진 롬 |
PROM |
빈 롬을 사용자가 한번만 기록가능 |
EPROM |
자외선을 이용하여 여러 번 지워 사용 가능 |
EEPROM |
전기적인 방법으로 여러 번 지워 사용 가능 |
③ 자기코어 : 초장기에 쓰였던 주기억 장치
(42) 보조기억장치 : 데이터를 영구 기억하기 위함
① 자기 테이프 : 순차처리만 가능(SASD), 7트랙 9트랙형식, 일괄처리 방식에 주로사용, 데이터 백업용으로 사용,
※ 관련용어
- IBG(Inter Block Gap) : 블록과 블록사이의 공백
- IRG(Inter Register Gap) : 논리 레코드와 논리 레코드 사이의 공백
- BPI(Byte Per Inch) : 자기테이프의 기록밀도
- BOT(Begin Of Tape) : 테이프의 시작
- EOT(End Of Tape) : 테이프의 끝
② 레코드의 기록형식 : 고정길이 비 블록, 고정길이 블록, 가변길이 비 블록, 가변길이 블록, 부정형식
③ 파일과 볼륨
Single File/Single Volume |
하나의 볼륨에 하나의 파일 기록 |
Multi File/Single Volume |
하나의 볼륨에 여러 개의 파일 기록 |
Single File/Multi Volume |
여러 개의 볼륨에 하나의 파일 기록 |
Multi File/Multi Volume |
여러 개의 볼륨에 여러 개의 파일 기록 |
④ 자기디스크 : 직접접근기억장치(DASD), 순차 임의접근 가능, 속도가 빠르다, 프로그램 라이브러리에 주로 사용
※ 관련용어
① 디스크, 액세스 암, Read/Write 헤드, 트랙, 실린더, 섹터, 디스크 팩 등
② Seek Time : 지정된 트랙 위치까지 도달시간
③ Search Time : 트랙 내에서 해당 데이터의 레코드 위치를 찾는 시간
※ 디스크 입출력시간 : Seek Time + Read/Write 선택시간 + 회전 대기시간 + 데이터 전송시간의 합
(43) 캐시 메모리 : CPU와 주기억장치 사이의 속도차이 해결
※ 처리속도: CPU - 레지스터 - 캐시 - 주 기억장치 - 보조기억장치(자기드럼 - 자기 디스크 - 자기 테이프)
(44) 입출력장치
- 채널(Channel) : 중앙처리장치 대신 입출력장치의 조작을 대행, 입출력장치를 직접 제어한다.
셀렉터(Selector) 채널 : 고속의 입출력장치에 사용(자기디스크, 드럼, 테이프), 블록단위 전송
멀티플렉서(Multiplexer) 채널 : 저속의 입출력장치에 사용(프린터, 카드리더), Byte 단위 전송