컴퓨터시스템 구성 : 컴퓨터 h/w + 시스템 s/w + 응용 s/w
하드웨어(h/w) : 컴퓨터에서 정보의 전송통로를 제공하고, 정보를 처리하는 물리적 실체.
소프트웨어(s/w) : 정보처리의 종류와 수행시간 등을 지정해주는 명령들의 집합.
컴퓨터 h/w의 주요 요소 [그림 1-1]
컴퓨터의 근본적인 기능 : 수치적, 논리적 data를 적절히 처리하는 것.(계산기)
이 장에서는 ‘컴퓨터 구조에 관한 전체적인 이해’를 다룸.
① 컴퓨터의 기본 구조와 동작원리의 대략적인 설명, 컴퓨터 구조의 발전과정
② 주요 컴퓨터 부품들의 발전 동향 분석
③ 컴퓨터시스템의 분류 및 구조적 특징
컴퓨터가 하는 일 : 프로그램(program, p/g)을 정해진 순서대로 실행함.
= 과정 : ① 필요한 data를 읽어서(read) ② 처리(processing)하고 ③ 그 결과를 저장(store)함.
컴퓨터의 기본 구조 [그림 1-2] : 위의 과정을 수행하는 컴퓨터 h/w
① CPU(central processing unit) : 프로그램 실행과 data 처리를 담당하는 핵심 요소(processor)
=> 컴퓨터의 특성과 성능을 대부분 결정. cf.) 이론적인 처리속도 ≃ CPU의 속도
② 기억장치(memory or storage device) : 프로그램과 data 저장 (주기억장치/보조저장장치)
=> 주기억장치 : CPU 가까이/고속 액세스/가격↑,면적↑ 저장용량에 한계/영구 저장능력×
=> 보조저장장치(HDD, CD-ROM 등) : 영구 저장능력/저장밀도↑/가격↓/속도느림/주변장치
③ 입출력장치(I/O) : 사용자와 컴퓨터 간의 대화를 위한 도구로 주변장치와 CPU를 연결. 제어기
컴퓨터가 받아들이고 처리하는 정보의 종류 : 프로그램과 data= 정보는 2진수(binary number), 즉 bit들의 조합으로 표현.
프로그램은 고급언어(high-level language; 사용자가 이해하기 쉬움)로 작성.= 고급언어를 기계어(컴퓨터가 이해할 수 있는 언어)로 변환해주는 s/w인 컴파일러가 필요.
※ 고급언어들은 어느 컴퓨터에서 사용되든 거의 동일하지만 기계어는 CPU마다 서로 다름.
∵ CPU의 내부구조에 따라 그 h/w가 이해할 수 있는 언어도 달라지기 때문.
어셈블리(assembly) 언어 : 고급언어와 기계어 사이에 존재하는 각 CPU 고유의 중간 언어.
= 고급언어로 작성된 p/g이 기계어 p/g으로 번역되는 과정 [그림 1-3]
=> 고급언어 p/g이 컴퓨터에서 처리되기 위해, 먼저 어셈블리 p/g으로 번역되고, 그 다음해당 CPU를 위한 기계어 p/g으로 번역됨.
= 어셈블리 p/g 설명
① LOAD A, X : 기억장치 X번지의 내용을 읽어서 reg.(레지스터) A에 적재(load)하라.
② ADD A, Y : 기억장치 Y번지의 내용을 읽어서 reg. A에 적재된 값과 더하고 reg. A에 적재
③ STOR Z, A : reg. A의 내용을 기억장치 Z번지에 저장(store)하라.
= 니모닉스(mnemonics) : 명령어가 지정하는 동작을 나타내는 간략화된 기호. (LOAD, ADD 등)
=> 어셈블리 명령어는 CPU가 수행할 동작과 처리할 data가 저장된 위치도 정확히 지정.
=> 어셈블리 명령어는 컴퓨터의 내부 구조와 밀접, 사용자는 내부 구조를 알고 p/g해야 함.
= 어셈블러(assembler) : 어셈블리 p/g을 기계어 p/g(2진수)으로 번역하는 s/w. (p.19 中)
= 기계어 p/g : 0과 1의 조합으로 컴퓨터만 이해할 수 있는 p/g.
= 어셈블리 명령어는 bit의 개수와 용도 및 주소지정 방식에 따라 다양하게 구성 가능.
ex.) 연산코드 3bit이면, $2^3=8$가지 연산 가능. 오퍼랜드가 5bit이면, 기억장소의 최대 수는 $2^5=32$개가 됨.
=> 이와 같은 bit들의 구성을 명령어 형식(instruction format)이라 함. (2장)
↳ 명령어 형식 : 명령어의 bit 수, 용도, 필드 구성방법을 지정해주는 형식
LOAD A, X
프로그램과 data가 기억장치에 저장된 예 [그림 1-4]
= 번역된 기계어 p/g은 순서대로 기억장치에 저장.