컴퓨터의구성
내용 컴퓨터의세대와역사 컴퓨터의구성요소 : CPU, 주기억장치, I/O 장치, 상호연결망 컴퓨터의기능
컴퓨터세대의분류 세대 연도 기술 속도 ( 연산수 / 초 ) 1 1946-1957 진공관 40,000 2 1958-1964 트랜지스터 200,000 3 1965-1971 SSI(Small Scale Integration) 1,000,000 4 1972-1977 LSI(Large Scale Integration) 10,000,000 5 1978-1991 VLSI(Very Large Scale Integration) 100,000,000 6 1991-현재 ULSI(Ultra Large Scale Integration) 1,000,000,000
제 1 세대 : 진공관 (Vacuum Tubes) ENIAC(Electronic Numerical Integrator And Computer) 최초의범용디지털컴퓨터 진공관사용 1943 년에개발에착수하여 1946 년에완성, 1955 년까지운영 ENIAC 의특징 10 진수사용 기억장치 : 10 자리 10 진수를저장할수있는 20 개의누산기 (accumulator) 로구성 스위치를이용한수동프로그래밍방식 크기 : 140m 2 진공관
폰노이만기계 (von Neumann Machine) 저장형프로그램 (stored-program) 개념도입 (1945 년 ) 폰노이만 (John von Neumann) 이제안 ENIAC 의수동식프로그래밍의문제를극복 저장프로그램방식 : 프로그램코드도데이터와마찬가지로기억장치에저장하는방식 폰노이만은이개념에근거하여 IAS 컴퓨터를개발 IAS(Institute for Advance Study) : 미국 Princeton 대학의연구소 이개념이오늘날의모든범용컴퓨터에적용됨
상용컴퓨터 UNIVAC(Universal Automatic Computer) 최초의상용컴퓨터 미국통계청에서사용 후속 UNIVAC II, UNIVAC 1100 시리즈가개발됨 IBM IBM 701(1953년 ) 컴퓨터개발 최초의저장프로그램방식 이후 IBM 700/7000 시리즈를개발 개발추세 기술의발전에따라보다강력한기능의컴퓨터개발이가능하게됨 새모델을개발할때옛모델과호환성을가지도록개발
제 2 세대 : 트랜지스터 (transistor) 트랜지스터와진공관의차이 크기축소, 가격하락, 발열량감소, 실리콘으로만든고체소자 DEC(Digital Equipment Corporation) 의등장 PDP-1 미니컴퓨터를개발 IBM 7094 IAS 컴퓨터와달리데이터채널의사용 CPU가직접 I/O을수행하지않음 트랜지스터 PDP 1
제 3 세대 : 집적회로 (integrated circuits) 마이크로전자기술 (microelectronics): 디지털전자회로의크기를축소하는기술 컴퓨터에서필요한전자부품 게이트 (gate): 부울함수 (boolean function) 를구현해주는소자 기억소자 (memory cell): 한비트의정보를저장할수있는소자 컴퓨터에서두소자의역할 데이터저장 : 기억소자에의해제공 데이터처리 : 게이트에의해제공 데이터이동 : 소자간에연결경로에따라이동 제어 : 연결경로는데이터뿐만아니라제어신호의이동통로가되며, 이신호는게이트의동작여부를결정
무어의법칙 Gordon Moore Intel 의공동창업자 1965년논문에서주장한법칙 Moore 의법칙 집적밀도가매년두배로증가 1970년대이후에는 18개월마다두배로증가함 Moore 법칙의파급효과 집적밀도가증가하여도칩의가격은거의변하지않음 집적밀도의증가에따라소자간에통로가짧아져성능이향상 컴퓨터크기가감소 전기소모와발열량이감소 칩간에연결수가줄어들어신뢰성이향상
제 3 세대의주요컴퓨터 IBM 의 System/360 시리즈 호환성있는 (compatible) 첫컴퓨터계열 컴퓨터계열 (family) 의특징 거의유사하거나같은명령어집합사용 거의유사하거나같은운영체제사용 속도, I/O 포트의수, 기억장치의크기, 가격증가 속도증가방법 : 보다복잡한 ALU, CPU 와주기억장치사이의데이터통로의폭
제 3 세대이후 집적회로 (IC, Integrated Circuit) 기술 반도체기억장치와프로세서제조기술에적용 반도체기억장치 1970 년도에처음개발 기존기억장치보다크기나성능면에서는우수하였으나가격경쟁력이부족함 마이크로프로세서 인텔은 1971 년에 4004 CPU 를개발 하나의칩에 CPU 의모든요소를포함
인텔의마이크로프로세서기술 4004 8086 386DX 486DX Pentium Pentium 4 개발연도 1971 년 1974 년 1985 년 1989 년 1993 년 2000 년 클럭속도 108KHz 5-10MHz 16-33MHz 25-50MHz 60-166 MHz 1.3-3.73 GHz 버스폭 4 비트 16 비트 32 비트 32 비트 32 비트 64 비트 기억장치 640 바이트 1 MB 4 GB 4 GB 4 GB 64 GB 가상기억장치 64 TB 64 TB 64 TB
정보량의표시방법 데이터통신 저장장치 SI( 국제단위규격 ) IEC( 국제전기기술위원회규격 ) Name( 기호 ) Name( 기호 ) kilobyte (kb) 10 3 kibibyte (KiB) 2 10 megabyte (MB) 10 6 mebibyte (MiB) 2 20 gigabyte (GB) 10 9 gibibyte (GiB) 2 30 terabyte (TB) 10 12 tebibyte (TiB) 2 40 petabyte (PB) 10 15 pebibyte (PiB) 2 50 exabyte (EB) 10 18 exbibyte (EiB) 2 60 zettabyte (ZB) 10 21 zebibyte (ZiB) 2 70 yottabyte (YB) 10 24 yobibyte (YiB) 2 80 1024
컴퓨터의기본구조 응용소프트웨어 (application software) 시스템소프트웨어 (system software) 하드웨어 (hardware)
하드웨어와소프트웨어 하드웨어 (hardware) 컴퓨터정보들의전송통로를제공해주고, 그정보에대한처리를해주는물리적인장치들 소프트웨어 (software) 정보의이동방향과정보처리의종류를지정해주고, 그러한동작들이일어나는시간을지정해주는명령 (command) 들의집합 시스템소프트웨어 (system software) : OS(Win 10, 7, Unix, Linux 등 ) 응용소프트웨어 (application software) : HWP 워드프로세서, 웹브라우저, MS-Excel 등 1-15
컴퓨터하드웨어의주요요소들
컴퓨터의구성요소 중앙처리장치 (CPU, Central Processing Unit, Processor) 컴퓨터의동작을제어하며, 데이터처리기능을수행 주기억장치 (main memory) 데이터와프로그램코드가저장되는곳 입출력장치 (I/O) 컴퓨터와외부장치간에데이터를이동시켜주는역할 시스템상호연결 (system interconnection) CPU, 주기억장치, I/O 간에통신을제공하는메커니즘
컴퓨터의구성요소 CPU 주기억장치 PC MAR 명령어 IR 실행장치 I/O 모듈 MBR I/O AR I/O BR 시스템버스 명령어명령어 데이터데이터 버퍼 PC : Program Counter IR : Instruction Register MAR : Memory Address Register MBR : Memory Buffer Register I/O AR : Input/Output Address Register I/O BR : Input/Output Buffer Register
명령어실행에필요한 CPU 내부레지스터프로그램카운터 (Program Counter: PC) 다음에인출할명령어의주소를가지고있는레지스터 각명령어가인출된후에는자동적으로일정크기 ( 한명령어길이 ) 만큼증가 분기 (branch) 명령어가실행되는경우에는목적지주소로갱신 누산기 (Accumulator: AC) 데이터를일시적으로저장하는레지스터. 레지스터의길이는 CPU가한번에처리할수있는데이터비트수 ( 단어길이 ) 와동일 명령어레지스터 (Instruction Register: IR) 가장최근에인출된명령어코드가저장되어있는레지스터
명령어실행에필요한 CPU 내부레지스터 ( 계속 ) 기억장치주소레지스터 (Memory Address Register: MAR) PC 에저장된명령어주소가시스템주소버스로출력되기전에일시적으로저장되는주소레지스터 기억장치버퍼레지스터 (Memory Buffer Register: MBR) 기억장치에쓰여질데이터혹은기억장치로부터읽혀진데이터를일시적으로저장하는버퍼레지스터
CPU 의핵심요소 제어장치 (control unit) CPU 의동작을제어 산술논리연산장치 (ALU, Arithmetic and Logic Unit) 데이터처리를수행 레지스터 (register) CPU 내부의저장장치 CPU 상호연결 제어장치, 산술논리연산장치, 레지스터간에통신을제공하는메커니즘
컴퓨터기능 기본기능 : 프로그램을실행 프로그램 : 주기억장치에적재되어있는일련의명령어집합 명령어주기 (instruction cycle) : 두단계로구성 인출주기 (fetch cycle) 명령어를주기억장치에서인출한후해독 실행주기 (execution cycle) 인출한명령어를실행 명령어의실행은여러개의연산으로구성됨 시작다음명령어를인출명령어를실행 인출주기 실행주기
인출주기 (fetch cycle) 주기억장치에서다음명령어를인출하여명령어레지스터에저장 PC(Program Counter) 레지스터 : 다음명령어의주소를보관하고있음 명령어레지스터 (IR, instruction register) : 명령어를잠시보관해두는레지스터 PC 레지스터값증가시킴 다음명령어를읽어오기위하여준비
실행주기 (execution cycle) 프로세서는인출한명령어를해석 ( 분석 ) 한다음적절한동작을취한다. 연산자코드 : 명령어의한부분으로서실행할연산을뜻함 프로세서가취하는동작 ( 연산자코드의종류 ) 의예 프로세서와주기억장치간에데이터이동 프로세서와입출력모듈간에데이터이동 산술또는논리연산수행 실행순서의변경
가상컴퓨터에서의실행예 명령어형식 0 3 4 15 OP code 주소 OP code : 연산자코드 예 : ADD, SUB 등실행할연산을지정 가상컴퓨터에서의코드예 0001 : 메모리에있는값을 AC에적재 (LOAD) 0010 : AC에있는값을메모리에적재 (STORE) 0101 : 메모리에있는값을 AC에더함 (ADD) 주소 : 처리할데이터의위치를지정
가상컴퓨터에서의실행예 메모리 CPU 레지스터 메모리 CPU 레지스터 메모리 CPU 레지스터 300 1 9 4 0 3 0 0 PC 300 1 9 4 0 3 0 1 PC 300 1 9 4 0 3 0 1 PC 301 5 9 4 1 AC 301 5 9 4 1 0 0 0 3 AC 301 5 9 4 1 0 0 0 3 AC 302 2 9 4 1. 1 9 4 0 IR 302 2 9 4 1. 1 9 4 0 IR 302 2 9 4 1. 5 9 4 1 IR 940 0 0 0 3 941 0 0 0 2 940 0 0 0 3 940 0 0 0 3 941 0 0 0 2 941 0 0 0 2 단계 1 단계 2 단계 3 메모리 CPU 레지스터 메모리 CPU 레지스터 메모리 CPU 레지스터 300 1 9 4 0 3 0 2 PC 300 1 9 4 0 3 0 2 PC 300 1 9 4 0 3 0 3 PC 301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC 302 2 9 4 1. 3 5 9 4 1 IR 5 302 2 9 4 1. 2 9 4 1 IR 302 2 9 4 1. 2 9 4 1 IR 940 0 0 0 3 940 0 0 0 3 940 0 0 0 3 941 0 0 0 2 2 941 0 0 0 2 941 0 0 0 5 단계 4 단계 5 단계 6