컴퓨터시스템개요 컴퓨터의기본구조정보의표현과저장시스템의구성컴퓨터구조의발전과정
1.1 컴퓨터의기본구조 2 컴퓨터시스템의구성 소프트웨어 (software) 정보들이이동하는방향과정보처리의종류를지정 동작들이일어나는명령 (command) 들의집합 응용소프트웨어 (application software) 워드프로세서, 웹브라우저, MS- Excel 등 시스템소프트웨어 (system software) OS(WinXP, Unix, Linux 등 ) 하드웨어 (hardware) 컴퓨터정보들의전송통로를제공 정보에대한처리가실제일어나게해주는물리적인장치들 IT 융합공학부컴퓨터구조 2
컴퓨터하드웨어의주요요소들 3 IT 융합공학부컴퓨터구조 3
컴퓨터의기본구조 기본기능 : 프로그램코드 ( 명령어 ) 를정해진순서대로실행하는것 4 IT 융합공학부컴퓨터구조 4
컴퓨터의주요구성요소들 중앙처리장치 (Central Processing Unit: CPU) 프로세서 (processor) ' 프로그램실행 ' 과 ' 데이터처리 ' 라는중추적인기능의수행을담당 5 기억장치 (1) 주기억장치 (main memory) CPU 가까이위치, 반도체기억장치들로구성 고속액세스 가격이높고면적을많이차지 저장용량의한계 영구저장능력이없음, 일시적저장장치로만사용 (2) 보조저장장치 (auxiliary storage device) 2차기억장치 (secondary memory) 저장밀도가높고, 비트당가격이낮음 읽기 / 쓰기속도가느림 영구저장능력을가진저장장치 하드디스크 (hard disk), 플래시메모리 (flash memory), CD-ROM, 등 입출력장치 (I/O device) 사용자와컴퓨터간의대화를위한입력및출력장치유무선통신네트워크인터페이스장치 IT 융합공학부컴퓨터구조 5
1.2 정보의표현과저장 6 컴퓨터정보 : 2진수로표현된프로그램코드와데이터프로그램코드 기계어 (machine language) 기계코드 (machine code) 라고도함 컴퓨터하드웨어부품들이이해할수있는언어로서, 2진비트들로구성 어셈블리언어 (assembly language) 고급언어와기계어사이의중간언어 어셈블러 (assembler) 로번역 기계어와일대일대응 고급언어 (high-level language) 영문자와숫자로구성되어사람이이해하기쉬운언어 C, C++, PASCAL, FORTRAN, COBOL 등 컴파일러 (compiler) 를이용하여기계어로변역 IT 융합공학부컴퓨터구조 6
프로그램언어의변환과정 7 고급언어 Z = X + Y 컴파일러 (compiler) 로기계어로번역 고급언어프로그램을기계어프로그램으로번역하는소프트웨어 어셈블리어 LOAD A, X : 기억장치 X 번지의내용을읽어서, 레지스터 A 에적재 (load) ADD A, Y : 기억장치 Y 번지내용을읽어서, 레지스터 A 에적재된값과더하고, 결과를다시 A 에적재 STOR Z, A : 그값을기억장치 Z 번지에저장 (store) 어셈블러 (assembler) 로기계어로번역 어셈블리프로그램을기계어프로그램으로번역하는소프트웨어 니모닉스 (mnemonics) 로표현 어셈블리명령어가지정하는연산을가리키는알파벳기호 ( LOAD, ADD, STOR 등 ) IT 융합공학부컴퓨터구조 7
기계명령어의형식 [ 예 ] 8 연산코드 (op code) CPU 가수행할연산을지정해주는비트들 비트수 = 3 이라면, 지정될수있는연산의최대수 : 2 3 = 8 개 오퍼랜드 (operand) 연산에사용될데이터혹은그것이저장되어있는기억장치주소 (memory address) 비트수 = 5 라면, 주소지정 (addressing) 할수있는기억장소의최대수 : 2 5 = 32 개 IT 융합공학부컴퓨터구조 8
프로그램코드와데이터의기억장치저장 9 프로그램코드 ( 명령어 ) 와데이터는지정된기억장소에저장 단어 (word) 단위로저장 단어 : 각기억장소에저장되는정보의기본단위로서, CPU에의해한번에처리될수있는비트들의그룹 단어길이의예 : 8 비트, 32 비 트, 64 비트, 128 비트 주소지정단위 : 단어단위혹은바이트단위 IT 융합공학부컴퓨터구조 9
1.3.1 CPU 와기억장치의접속 10 시스템버스 (system bus) CPU와시스템내의다른요소들사이에정보를교환하는통로동일한성격을가지는전기적신호선의묶음기본구성 주소버스 (address bus) CPU 가외부로발생하는주소정보를전송하는신호선들의집합 데이터버스 (data bus) CPU 가기억장치혹은 I/O 장치와의사이에데이터를전송하기위한신호선들의집합 제어버스 (control bus) CPU 가시스템내의각종요소들의동작을제어하기위한신호선들의집합 IT 융합공학부컴퓨터구조 10
CPU 와시스템버스간의접속 11 주소버스 : 단방향성 (unidirectional) 주소는 CPU 로부터기억장치혹은 I/O 장치들로보내지는정보 데이터버스, 제어버스 : 양방향성 (bidirectional) 읽기와쓰기동작을모두지원 IT 융합공학부컴퓨터구조 11
CPU 와기억장치간의접속 12 필요한버스및제어신호 주소버스 데이터버스 제어신호 : 기억장치읽기 (memory read) 신호, 기억장치쓰기 (memory write) 신호 IT 융합공학부컴퓨터구조 12
1.3.2 CPU 와 I/O 장치의접속 13 필요한버스및제어신호 주소버스 데이터버스 제어신호 : I/O 읽기신호, I/O 쓰기신호 접속경로 : CPU - 시스템버스 I/O 장치제어기 I/O 장치 IT 융합공학부컴퓨터구조 13
1.3.3 컴퓨터시스템의전체구성 14 IT 융합공학부컴퓨터구조 14
컴퓨터의기본적인기능들 15 프로그램실행 CPU 가주기억장치로부터프로그램코드를읽어서실행 데이터저장 프로그램실행결과로서얻어진데이터를주기억장치에저장 데이터이동 디스크혹은 CD-ROM 에저장되어있는프로그램과데이터블록을기억장치로이동 데이터입력 / 출력 사용자가키보드를통하여보내는명령이나데이터를읽어들인다. 또한 CPU가처리한결과값이나기억장치의내용을프린터 ( 혹은모니터 ) 로출력 제어 프로그램이순서대로실행되도록또는필요에따라실행순서를변경하도록조정하며, 각종제어신호들을발생 IT 융합공학부컴퓨터구조 15
컴퓨터역사 16 최초의컴퓨터 1642년, Blaise Pascal( 프랑스 ) 덧셈과뺄셈을수행하는기계적카운터다이얼의위치에의하여십진수를표시하는 6개의원형판세트들로구성각원형판은일시적으로숫자를기억하는레지스터로사용 Leibniz의기계 1671년, Gottfried Leibniz( 독일 ) 덧셈과뺄셈및곱셈과나눗셈도할수있는계산기 Pascal의계산기에두개의원형판들을추가하여반복적방법으로곱셈과나눗셈을수행이후많은기계들의조상이됨 Difference Engine 19세기초, Charles Babbage( 영국, 현대컴퓨터의할아버지 ) 표에있는수들을자동적으로계산하고, 그결과를금속천공기를거쳐서프린트덧셈과뺄셈만수행가능 Analytical Engine 19세기초, Charles Babbage( 영국 ) 어떤수학연산도자동적으로수행할수있는일반목적용계산기계 프로그래밍가능 : 프로그램언어사용 프로그램의실행순서변경가능 수의부호검사를이용한조건분기 제어카드이용을이용한실행순서변경 문제점 주요부품들이기계적인장치들이었기때문에속도가느렸고신뢰도가낮음 산술연산장치 : MILL 기억장치 : STORE 입력장치 : 카드판독기출력장치 : 카드천공기, 프린터 IT 융합공학부컴퓨터구조 16
전자식컴퓨터 ENIAC(Electronic Numerical Integrator And Computer) 17 1940년대초, von Neumann( 폰노이만 ) 이개발펜실바니아대학에서개발한진공관을사용한최초의전자식컴퓨터문제점 : 프로그램의저장과변경불가능폰노이만의설계개념 (Stored-program 개념 ) 발표 EDVAC(Electronic Discrete Variable Computer) 개발을위하여 1945년에발표프로그램과데이터를내부에저장 IAS 컴퓨터 2 진수체계 (binary number system) 사용 1952년, 폰노이만이개발 'stored-program' 컴퓨터폰노이만의설계개념이용 2진수체계를사용한다프로그램과데이터를내부에저장한다주요구성요소 프로그램제어유니트 (Program Control Unit) : 명령어인출 / 해독 산술논리연산장치 (ALU) 주기억장치 : 명령어와데이터를모두저장 입출력장치 IT 융합공학부컴퓨터구조 17
IAS 컴퓨터의구조 18 폰노이만아키텍처 (von Neumann Architecture): 프로그램코드들을기억장치에저장된순서대로실행하며, 그주소는 CPU의내부레지스터인프로그램카운터 (program counter) 에의해지정됨 IT 융합공학부컴퓨터구조 18
1.4.2 주요컴퓨터부품들의발전경위 주요부품들의발전과정 릴레이 (relay) 진공관 트랜지스터 반도체집적회로 (IC) 초기컴퓨터들의근본적인설계개념과동작원리가현대의컴퓨터들과거의같음 19 트랜지스터 (transistor) 초기 ( 제1세대 ) 전자식컴퓨터의핵심부품인진공관을대체한전자부품진공관보다작고싸며더적은열을발산반도체재료인실리콘 (Si) 으로만들어진고체 (solid-state) 장치제2세대컴퓨터들의부품 제1세대컴퓨터들의부품은진공관초기컴퓨터들은약 1000 개의트랜지스터들로구성 집적회로 (Integrated Circuit: IC) 수만개이상의트랜지스터들을하나의반도체칩에집적시킨전자부품제3세대컴퓨터들의부품 IT 융합공학부컴퓨터구조 19
집적도에따른 IC 의분류 SSI(Small Scale IC) 수십개의트랜지스터들이집적되는소규모 IC 최근에는주로기본적인디지털게이트 (digital gate) 들을포함하는칩으로만사용됨 MSI(Medium Scale IC) 20 수백개의트랜지스터들이집적되는 IC 카운터 (counter), 해독기 (decoder) 또는시프트레지스터 (shift register) 와같은조합회로나순차회로를포함하는칩 LSI(Large Scale IC) 수천개의트랜지스터들이집적되는대규모 IC 8- 비트마이크로프로세서칩이나소규모반도체기억장치칩 VLSI(Very Large Scale IC) 수만내지수십만개이상의트랜지스터들이집적되는초대규모 IC 제 4 세대컴퓨터들의부품 마이크로프로세서칩들과대용량반도체기억장치칩 ULSI(Ultra Large Scale IC) 수백만개이상의트랜지스터들이집적되는 32- 비트급이상마이크로프로세서칩들과수백메가비트이상의반도체기억장치칩들및앞으로출현할고밀도반도체칩들을지칭하기위한용어로서, VVLSI(VeryVery Large Scale IC) 라고도불림 IT 융합공학부컴퓨터구조 20
1.4.3 컴퓨터시스템의분류와발전동향 21 1) 개인용컴퓨터 (PC) 소형, 저가 성능 : 십여년전의대형메인프레임컴퓨터의성능을능가 데스크탑 (desktop) PC, 노트북 (notebook) PC, 넷북 (netbook) PC, 태블릿 (tablet) PC, 포켓 (pocket) PC, 등 2) 임베디드컴퓨터 (Embedded Computer)- 내장컴퓨터라고도함 기계장치나전자장치들의내부에포함되어, 그장치들의동작을제어 (control) 하는컴퓨터들최소의비용으로, 필요한만큼의성능제공 [ 예 ] 가전제품, 컴퓨터주변기기, 이동전화기, 비디오게임기등 3) 중형급컴퓨터시스템 워크스테이션 (workstation) 고속그래픽처리하드웨어포함 주요응용 : 3차원동영상처리, 시뮬레이션, 컴퓨터이용설계 (CAD), 등 OS : UNIX, LINUX 슈퍼미니컴퓨터 (Super-minicomputer) CPU 의수 : 20 ~ 30 개 성능 : VAX-11 미니컴퓨터성능의수십배이상 OS : UNIX 4) 메인프레임컴퓨터 (mainframe computer) 대규모데이터베이스저장및관리용으로사용 IBM 360 및 370 계열, 3081, 3090 등으로계속발전 5) 슈퍼컴퓨터 (supercomputer) 현존하는컴퓨터들중에서처리속도와기억장치용량이다른컴퓨터들에비하여상대적으로월등한컴퓨터시스템들 VLSI 회로설계, 항공우주공학, 천문학 ( 일기예보 ), 구조공학, 유전탐사, 핵공학, 인공지능, 입체영상처리등과같은대규모과학계산및시뮬레이션 파이프라인슈퍼컴퓨터 (pipeline supercomputer) 대규모병렬컴퓨터 (massively parallel computer: MPP) 클러스터컴퓨터 (Cluster Computer) IT 융합공학부컴퓨터구조 21