[컴퓨터구조]1.컴퓨터 시스템 개요
1.컴퓨터의 기본구조
- 하드웨어 : 물리적인 실체들
- 소프트웨어 : 명령어들의 집합 [시스템 소프트웨어, 응용 소프트웨어]
- 컴퓨터의 기능: 데이터를 읽어서(read), 처리(processing)하고, 저장(store)한다
<컴퓨터의 구성요소>
- 중앙처리장치(CPU) : 프로그램 실행, 데이터 처리
- 주기억 장치 : 고속 액세스, 휘발성 메모리, 저장 용량에 한계
- 보조 저장장치: 속도 느림, 영구 저장 능력(2차 기억 장치) ex)하드 디스크, SSD, 플래시 메모리
- 입출력장치(I/O 장치) : CPU와 직접 데이터 교환x =>해당 장치 제어기를 통하여 동작 제어, 주변장치라고도 부름
2.정보의 표현과 저장
<프로그램 코드>
고급언어 : 컴파일러를 이용하여 기계어로 번역
↓
어셈블리 언어
↓
기계어 : CPU마다 다름
-
컴파일러 : 고급언어 ->기계어로 번역
-
어셈블러 : 어셈블리언어->기계어로 번역
-
니모닉스 : 연산을 가리키는 알파벳 기호 'LOAD(적재)','ADD(더하기)','STOR(저장)'
-
프로그램 코드와 데이터는 지정된 기억장소에 저장
-
단어 단위로 저장
3.시스템의 구성
<CPU와 기억장치의 접속>
시스템 버스: CPU와 시스템 내의 다른 요소들 사이에 정보를 교환하는 통로
- 주소 버스 : 주소 정보를 전송하는 신호선들의 집합, 주소선의 수는 최대 기억장치 용량 결정 (단방향성)
- 데이터 버스 : 기억장치, I/O 장치 사이에 데이터 전송, 데이터 선의 수는 CPU가 한번에 전송가능한 비트 수를 결정 (양방향성)
- 제어 버스 : 동작을 제어 ex)기억장치 읽기/쓰기 신호, I/O 읽기/쓰기 신호, 인터럽트 신호, 버스 제어 신호(양방향성)
양방향성 : 읽기와 쓰기 동작 모두 지원
- CPU와 기억장치간의 접속
- 엑세스 : CPU가 기억장치에 데이터를 쓰거나, 저장된 내용을 읽는 동작
- 필요한 버스 및 제어 신호
- 기억장치 쓰기 동작 : CPU가 데이터를 저장할 기억 장소의 주소와 저장할 데이터를 각각 주소 버스와 데이터 버스를 통하여 보내는 동시에, 쓰기 신호를 활성화
- 기억장치 쓰기 시간 : CPU가 기억장치로 주소와 데이터를 보낸 순간부터 저장이 완료될 때까지의 시간
- 기억장치 읽기 동작 : CPU가 기억장치 주소를 주소버스를 통하여 보내는 동시에, 읽기 신호를 활성화
일정지연시간이 경과한 후에 기억장치로부터 읽혀진 데이터가 데이터 버스 상에 실리고, CPU 는 그 데이터를 버스 인터페이스 회로를 통하여 읽음
- 기억장치 읽기 시간 : 주소를 발생한 시간부터 기억장치의 데이터가 CPU에 도착할 때까지의 시간
<CPU와 I/O 장치의 접속>
- 필요한 버스 및 제어신호 : 주소버스, 데이터버스, 제어신호(I/O 읽기,쓰기 신호)
- 키보드 제어기 : 키 누르기 -> 키보드 제어기의 데이터 레지스터에 저장 -> 동시에 상태 레지스터의 In_RDY 비트가 1로 세트
- 비지 웨이팅 : 데이터가 준비되는 동안 기다리면서 계속 읽고 판단
- 데이터 레지스터는 데이터 버퍼라고도 부름
- 스풀링 : 데이터 블록 전체를 제어기 내의 데이터 기억장치에 저장하는 것도 가능
4. 컴퓨터 구조의 발전 과정
-주요 부품들의 발전 과정 : 릴레이 -> 진공관 -> 트랜지스터 -> 반도체 집적회로(IC)
<초기 컴퓨터들의 구조>
- 최초의 컴퓨터 : 1642년, Blaise Pascal 덧셈과 뺄셈 수행하는 기계적 카운터
- Gottfried Leibniz : 1671년 덧셈,뺄셈,곱셈,나눗셈 수행
- Diffrence Engine : 19세기 초 Charles Babbage 덧셈,뺄셈 가능 + 금속천공기를 거쳐 프린트 가능
- Analytical Engine : 19세기 초 Charles Babbage 어떤 수학 연산도 자동적으로 수행, 프로그램 언어 사용, 프로그램의 실행 순서 변경 가능
- ENIAC
- 폰 노이만이 개발
- 진공관을 사용한 최초의 전자식 컴퓨터
- 문제점 : 프로그램의 저장 및 변경 불가능
=> 폰 노이만의 설계 개념(stored-program 원리) 발표
- 프로그램과 데이터를 내부에 저장
- 2진수 체계 사용
- 1945년 발표 후 , EDVAC 개발에 실제 적용
6. IAS 컴퓨터(폰 노이만 개발)
- 프로그램 저장과 변경이 가능한 최초의 디지털 컴퓨터
- 주요 구성요소
- 프로그램 제어 유니트 : 명령어 인출/해독
- 산술논리연산장치(ALU)
- 주기억장치 : 명령어와 데이터를 모두 저장
- 입출력장치
<컴퓨터 시스템의 분류와 발전 동향>
1) 개인용 컴퓨터(PC)
2) 임베디드 컴퓨터 : 기계 장치나 전자 장치들의 내부에 포함되어, 그 장치들의 동작을 제어함
ex) 가전제품, 컴퓨터 주변기기, 모바일폰, 비디오 게임기
3) 서버급 컴퓨터 시스템
- 워크스테이션 : 64-비트 마이크로 프로세서 사용, 3차원 동영상 처리, 시뮬레이션, CAD
- 슈퍼미니컴퓨터 : 다중프로세서 구조
4) 메인프레임 컴퓨터 : 정부기관, 은행 등에서 대규모 데이터 베이스(빅데이터) 저장 및 관리용으로 사용
5) 슈퍼컴퓨터
- 파이프라인 슈퍼컴퓨터
- 대규모 병렬 컴퓨터 : IBM BlueGene/Q
- 클러스터 컴퓨터