컴퓨터시스템구조
· 약 62분
세대별 구분
1세대
- 진공관
- 프로그램 내장방식
- 전력소모 크고 발열 심함
- 기계어, 어셈블리어
2세대
- 트랜지스터
- 진공관 컴퓨터에서 1/100 축소
- 고급언어 (COBOL)
3세대
- 집적회로 (IC: Integrated Circuit)
- 고급언어 (베이직)
4세대
- 고밀도 집적회로 (LSI: Large Scale Integrated circuit)
- 초고밀도 집적회로 (VLSI: Very Large Scale Integrated Circuit)
- PC
- 고급언어, 문제지향적 언어
컴퓨터 시스템의 전체적 구성
시스템 버스
- CPU, 기억장치, I/O 장치들을 상호 연결해주는 중심 통로
- 단방향 어드레스 버스, 양방향 데이터 버스, 양방향 제어버스로 구성
입력장치
출력장치
기억장치
중앙처리장치
- 연산장치, 제어장치, 레지스터로 구성
사람 | 컴퓨터 |
---|---|
감각 | 입력장치 |
뇌세포 | 기억장치 |
신경망 | 중앙처리장치 |
움직임 | 출력장치 |
운영체제
- HW와 SW 자원을 관리하고 제어
- 편리한 인터페이스 제공
- 입출력의 보조적 기능 수행
- 오류 처리
자원관리
- 프로세스 관리
- 주기억장치 관리
- 보조기억장치 관리
- 입출력장치 관리
- 파일 관리
컴파일러, 인트프리터: 고급언어를 기계어로 변환하기 위한 번역기
분류
성능과 규모
- 마이크로 컴퓨터: 현재 범용컴퓨터
- 미니컴퓨터: 멀티유저 시스템
- 메인프레임: 범용목적의 대형컴퓨터, 다수의 터미널 사용
- 슈퍼컴퓨터
구조
- 병렬컴퓨터: 동시에 여러 개의 마이크로프로세서 사용
- 분산컴퓨터: 데이터가 네트워크 상에 분산되어 있을 때
- 클라우드컴퓨터
사용목적
- 전용컴퓨터: 군사용, 기상예보용, 천문학 등
- 범용컴퓨터: 여러 분야의 다양한 업무 처리할 목적으로 설계된 컴퓨터 (과학계산, 통계 등)
처리 방법
- 일괄처리 컴퓨터: 일정 시점 단위로 한꺼번에 처리
- 실시간 처리 컴퓨터: real-time, 온라인 처리 시스템, 즉시처리 시스템
자료표현
- 디지털 컴퓨터
- 아날로그 컴퓨터: 자료를 입력받아 곡선이나 그래프로 출력하는 컴퓨터
- 하이브리드 컴퓨터: 아날로그, 디지털 데이터 모두 처리, A/D (Analog-Digital conveter) 변환기, D/A(Digital-Analog converter)로 데이터 변형 출력 가능
발달과정
특징 | 컴퓨터 |
---|---|
최초 기계식 | 마크원 |
최초 전자식 | ENIAC |
최초 프로그램내장 | EDSAC |
최초 상업용 | UNIVAC-I |
진공관 > TR > IC > LSI > VLSI 폰노이만 모델: 기억장치에 프로그램과 데이터를 넣고 순서대로 처리하는 방식 (프로그램 내장방식) 시스템버스: 어드레스 버스, 데이터 버스, 제어 버스
컴퓨터 명령어
주소필드
- mode, operation code, address 필드 로 구성
- mode = 0 => 주소가 직접번지, mode = 1 => 주소가 간접번지
- 주소필드는 주소 || 레지스터 || 데이터를 나타냄
- 16bit 명령어의 경우: 1bit, 3bit, 12bit
3주소 명령어
- 범용 레지스터 구조의 컴퓨터에서 사용
- 연산코드와 3개의 주소필드로 구성
- 프로그램은 간단하나 명령어의 길이가 너무 길다
2주소 명령어
- 범용 레지스터 구조의 컴퓨터에서 사용
- 연산코드와 2개의 주소필드로 구성
- 연산시에 주소1의 내용은 실행 후에 출력값으로 저장되므로 원래 주소1의 내용은 없어진다.
1주소 명령어
- 단일 누산기 방식의 컴퓨터에서 사용
- ACC와 Operand의 연산결과는 다시 ACC에 저장되는 형식
- 입력으로 사용된 누산기는 결과값이 저장되어 원래 값은 없어진다.
0주소 명령어
- STACK
주소지정방식
의미주소지정
- Implied Addressing Mode
- 묵시적 주소지정방식
- 데이터의 위치를 지정하지 않아도 묵시적으로 정해져 있음
- PUSH, POP: Stack Pointer 사용
- SHL, SHR: ACC의 내용을 시프트
- 명령어가 짧다
즉치주소지정
- Immediated Addressing Mode
- Operand의 내용이 연산에 사용될 실제 데이터
- 프로그램상에서 레지스터나 변수의 초기값을 설정하는데 사용
레지스터 주소지정
- Register Addressing Mode
- 레지스터에 데이터가 존재
- 레지스터를 지정하는 오퍼랜드가 4bit라면 16개의 레지스터를 지정할 수 있음
- 메모리를 액세스하지 않아 실행시간 단축
- 데이터를 저장하는 공간이 레지스터로 한정