컴퓨터의구조 Company Logo @ 2010 년 2 학기컴퓨터의개념및실습서울대학교통계학과 (http://dcom10.ez.ro)
컴퓨터 = 하드웨어 + 소프트웨어 하드웨어 전자회로및기계장치 입출력장치, 중앙처리장치, 기억장치 버스 (Bus): 각구성요소들을연결하는데이터의통로 소프트웨어 하드웨어를제어하여작업을수행하는프로그램 명령문과데이터로구성 사람이이해하기쉬운고급언어로작성 C, Java, 작성된프로그램은컴파일러에의해기계어로바뀜
컴퓨터의기본구성요소 입력장치 컴퓨터가처리할수있는형태로데이터 / 명령을받아들임 프로세서 (Central Processing Unit, CPU) 실제적으로컴퓨터명령어들을수행 출력장치 처리된데이터를사람이이해할수있는형태로출력 저장장치 ( 보조기억장치 ) 데이터나프로그램을보관하기위한디스크등 주기억장치를보조 입출력 (I/O) 장치, 보조기억장치, 멀티미디어장치 주변장치 (Peripheral equipment)
PC Hardware: 기본구성도
컴퓨터의기본구성요소 1. 입력장치 (Input) 2. 중앙처리장치 (CPU) 3. 주기억장치 (Memory, Primary Storage) 4. 출력장치 (Output) 5. 보조기억장치 (Secondary Storage)
1. 입력장치 타이핑 (typing): 키보드 포인팅 (pointing): 마우스 스캐닝 (scanning): 스캐너 레이저광선을이용하여문서, 기호, 사진등의인쇄물을직접읽어들임 Barcode reader, handheld/flatbed scanner 단말기 (terminal) 입력장치 + 화면 + 대형컴퓨터와의연결장치
다양한입력장치
2. 중앙처리장치 프로세서 (processor) 프로그램을실행 입력, 출력, 저장장치제어 중앙처리장치 (Central Processing Unit, CPU)
GPU GPU (Graphic Processing Unit) 2D/3D 그래픽처리에특화된마이크로프로세서 GPGPU (General Purpose GPU) GPU 를 CPU 처럼 범용 처리장치로활용 애플 A4: CPU 와 GPU 를결합한프로세서. ipad, ipod 4G, 애플TV 등에장착 그래픽카드 마더보드
중앙처리장치 CPU = ALU + CU + Register 산술, 논리연산장치 (Arithmetic/Logic ti i Unit, ALU) 산술연산과논리연산을수행하는디지털회로 제어장치 (Control o Unit, CU) 프로그램에따라명령과제어신호를생성 정보와데이터의흐름을결정하고, 각종장치의동작을제어 임시기억장소 (Register) CPU 에서사용하는데이터를일시적으로저장
프로그램에의한중앙처리장치동작과정 주기억장치의기계어코드 주변장치 중앙처리장치 레지스터 ADD R2, R3, R5 제어장치 (CU) 제어신호 R1 R2 ADD 산술논리연산장치 (ALU) 데이터값 R3 R4 R5 R6 R7
PC 의성능및용량 정보처리성능 8- 비트 Machine: 동시에 1 바이트 (8 비트 ) 처리 64- 비트 Machine: 동시에 8 바이트 (64 비트 ) 처리 컴퓨터처리속도 MHz/GHz: 초당처리되는 machine cycle 의수 MIPS: Million Instruction Per Second MFLOPS: Million Floating-point Operation Per Second GFLOPS, TFLOPS Intel Pentium: 10 GFLOPS IBM Cell (PS3): ~200 GFLOPS Cray X1E: 2.4 TFLOPS, Cray Baker: 340 TFLOPS
PC 의성능및용량 기억용량의표현 (2 진법, digital) KB: 1 kilobytes = 2 10 bytes = 1024 bytes MB: 1 megabytes = 1024KB = 2 20 bytes GB: 1 gigabytes = 1024 MB = 2 30 bytes 숫자단위 (10 진수 ) - Kilo Mega Giga Tera Peta Exa Zetta Yotta 10 3 10 6 10 9 10 12 10 15 10 18 - Googol 10 100 참고 : 한국의숫자단위일 십 백 천 만 억 조 경해 자 양 구 간 정 재 극 항하사
3. 메모리 주기억장치 ( 일차기억장치 ) 프로그램과데이터는메모리에저장이되어있어야프로세서에의해처리될수있음. 기억용량 주기억장치가기억할수있는자료의양
주기억장치 프로그램수행을위해필요한정보에비해 레지스터 의용량은너무작음 정보를저장해두었다가필요할때읽어들이는저장소로이용됨 명령어 ( 프로그램 ) 와데이터를저장 주소 (address) 를통해자료의위치를지정 8/16/32/64 비트단위로읽고씀 워드 (word) 읽기 / 쓰기 / 연산단위인워드의길이에따라성능이달라짐 접근시간 (Access time) : 읽고쓰는데걸리는시간 주기억장치의종류 RAM + ROM
주기억장치의종류 RAM (Random Access Memory) 전원이끊어지면내용이지워진다 보조저장장치가반드시필요함 RAM 의크기는프로그램의수행속도에영향을줌 CPU 에서직접접근이가능한유일한저장장치 (cf. 하드디스크 )
주기억장치의종류 SRAM (Static RAM) 리프레쉬 (refresh) 가필요없음 충전된전하를정기적으로재충전 전력소모가적다. 비싸다. DRAM (Dynamic RAM) 리프레쉬 (refresh) 가필요 SRAM 보다저가, 많이사용됨 SDRAM (Synchronous DRAM), DDR (Double Data Rate) SDRAM, RDRAM (Rambus DRAM)
주기억장치의종류 ROM (Read Only Memory) 대부분읽을수만있는장치 전원이끊겨도내용이보존됨 컴퓨터부팅시자동으로수행되는명령어저장 PROM(Programmable ROM) 한번프로그램가능 EPROM(Erasable PROM) 내용변경가능
캐시 (cache) 메모리 자주사용되는내용을 레지스터 일시적으로저장하여프 로그램실행속도를향 Cache memory 상시키기위해사용하는 속도가빠르고 가격저렴 메모리 용량이작다주기억장치 CPU 캐시, 디스크캐시, 웹캐시등다양한종류 가있다. 보조기억장치 < 기억장치의계층적구조 > 참고 : 최근 CPU 캐시는 L1 cache 와 L2 cache 로구성
4. 출력장치 모니터 프린터
출력장치 : 모니터 컴퓨터에서나오는글자, 그림등의결과를화면에보여주는장치 크기 : 인치 로나타냄 ( 예 : 19 인치, 21 인치 ) 해상도 (resolution) 화면에나타나는그림이나글자의선명도를결정하는요소 화면에서가로와세로로각각몇개의점 (pixel) 을나타낼수있는가를의미 예 ) 800 600 : 800 개의점으로구성된가로줄이 600 개 실제화면의해상도 : 모니터 + 그래픽카드에의해서결정됨
출력장치 : 모니터 그래픽카드 주기억장치에서만들어진글자나그림을모니터에나타내기위한전자신호로변환하는카드 사용하는카드의종류에따라최대해상도, 재생주기, 표현할수있는색상의수가결정됨 비디오메모리 그래픽카드가가지고있는자체기억장치 모니터에나타낼자료를미리만드는데사용됨 최소한 4MB 가있어야 1600 만색상 (24 비트 ) 을 1280 1024의해상도로표현가능
출력장치 : 프린터 전자장비에저장되어있는문서를입력받아종이등에인쇄하는장치 종류 내용물의색상 : 흑백, 컬러 인쇄방식 : 레이저, 잉크젯, 도트매트릭스
5. 보조기억장치 보조기억장치 프로그램이나자료를영구적으로기억할수있는기억장치 주기억장치에비해기억된내용을읽는속도는느리지만대용량기억이가능 현재사용하지않는프로그램은보조기억장치에저장 작업이수행될때, 보조기억장치에서주기억장치로정보를이동함 (program loading) 보조기억장치의종류 자기디스크 - FDD, HDD 광디스크 - CD, DVD 플래쉬메모리 USB flash drive, CF (compact flash), SSD (solid state drive)
자기디스크 원반표면의철입자의방향 (N/S극) 으로 0/1을표현 디스크드라이브 : 자기디스크로부터데이터를읽는주변장치 플로피디스크 (FDD) 3.5 인치, 5.25 인치 하드디스크 (HDD)
하드디스크 (HDD) 하드디스크 (HDD, Hard Disk Drive) 원판 ( 디스크 ) 표면에입힌자성체의극성 (N, S극 ) 을이용하여 0과 1을표현 물리적구성 스핀들 ( 중심축 ), 플래터 ( 원판 ), 암 (arm), 헤드 (head) 등으로구성 성능좌우요소 회전속도 ( 예 : 7200 rpm) 용량 ( 예 : 1.5 테라바이트 (TB), 500 기가바이트 (GB)) 버퍼용량 ( 예 : 8 메가바이트 (MB))
CD-ROM Compact-Disc, Read-Only Memory 120mm 또는 80mm 크기의광디스크 용량 : 650/700/800/900 MB 데이터전송속도 1/2/4/8 /72 배속
DVD-ROM Digital Video Disc, Read Only Memory 4.7GB~8.5GB 멀티미디어용으로많이사용 ( 참고 ) HD DVD: 15~30GB Blu-ray Disc: 25~50GB
플래쉬메모리, SSD 플래쉬 (flash) 메모리 전자적으로데이터를지우고쓸수있는비휘발성메모리. 움직임충격에강하여휴대용기기에널리쓰인다 플래쉬메모리의종류 USB flash drive USB 인터페이스를장착한 NAND타입의메모리 SD (Secure Digital), microsd CF (CompactFlash) SSD (Solid State Drive) HDD 와는달리디스크 / 헤더와같은기계적장치가빠짐 HDD 와비교하여저전력, 저소음, 저중량
버스 (BUS) 데이터의통로역할을함 버스의구성예 칩내부의연결통로 칩외부의연결통로 CPU MEM I/O 버스의폭 ( 동시에보낼수있는정보의양 ) 은 ALU, Register 의워드단위와일치함 CPU MEM I/O 참고 : USB = universal serial bus
컴퓨터및 CPU 의구현방식 데이터의표현 ( 문자, 숫자 ) 명령어의표현 버스 중앙처리장치 (CPU) 의구현
컴퓨터의동작방식 (revisited) Von Neumann 구조 내장형프로그램방식 ( 명령어와데이터를동등하게기억장치에저장 ) 중앙처리장치 컴퓨터의모든구성요소를관리하고, 프로그램을실행시키는역할 기억장치 프로그램과데이터를저장 프로그램의실행 중앙처리장치는기억장치에저장된명령어를기억장치에서순서대로읽고, 해석하여명령어가지시하는동작을수행
기억장치 프로그램 데이터 기억장치주소 저장내용 16 변수 X에 3 을저장한다. 20 변수 Y에 1을저장한다 24 변수 X와 Y를더해 Z에저장한다 32 X : 3 36 Y : 1 40 Z : 4
컴퓨터내부의데이터표현 컴퓨터에서의정보단위 꺼짐 (off) 과켜짐 (on) 의전기적상태를 0 과 1로간주하기로약속함 1 bit 8 bits = 1 byte 2 8 =256 가지의정보를를표현 워드 (word): 컴퓨터의데이터처리단위
숫자의표현 정수의표현 2 진수로표현됨 3 bit 로표현할수있는숫자 : 0 ~ 7 (8 개 ) 보통 32 bit 또는 64 bit 로숫자를표시 소수의표현
문자의표현 문자하나를숫자하나에대응시킴 코드테이블을이용 ASCII (American Standard Code for Information Interchange) Unicode UTF (Unicode Transformation Format) encodings UCS (Universal Character Set) encodings
ASCII Table
한글문자의표현 조합형코드 완성형코드 초성, 중성, 종성을각각 5bit 로표현 10001000011 10111 숫자 (16 진수 ) 약 3000 자의글자를순서대로배열한후번호를매김 초성 ㄱ 중성 ㅏ 종성 ㅇ B0A1 가 영어 = 0 B0A2 각 한글 = 1 B0A3 간 유니코드 조판시스템에서표현하는가능한모든글자를부호화함 현재 107,000 이상의글자를표현 문자......
명령어의표현 컴퓨터마다이진수로표현되는명령어 (instructor) 집합이존재 예 ) A1 A2 + A3 Load A2, 3 : (hexadecimal) 05 02 00 03 Load A3, 1 : 50 03 00 01 ADD A1, A2, A3 : 70 01 02 03
CPU 의구현 - 마이크로프로세서 마이크로프로세서 CPU 의기능을하나의전자칩에올린형태의프로세서 구현방식 : CISC / RISC 성능향상의기법 Pipelining 멀티코어 EDVAC DEC PDP-8/I 무어의법칙 Intel 8742 80486DX2 Pentium 4 Pentium MMX
CPU 명령어구현방식 CISC Complex Instruction Set Computer 복잡한내부명령어를많이가짐 필요에따라여러명령어집합을제공 예 : x86 계열의모든 CPU RISC Reduced Instruction Set Computer 필수적인명령어만제공함 (CISC 의 30%) 명령어의조합을통해복잡한작업수행 Pipeline 을통해속도향상을꾀함 참고 : Apple A4 는 RISC 계열의 ARM 구조의프로세서임
Pipeline 명령어를몇개의수행단계로나누어서각단계를하나의클럭사이클에수행 명령어의수행단계들을동시에처리 일종의병렬처리 명령어의수행시간이균등할수록효과적임
5 단계 Pipeline IF ID 1 단계 : Instruction Fetch 명령어를메모리에서가져옴 2 단계 : Instruction Decode 명령어를해석 3 단계 : Execution 명령어실행 4 단계 : Memory access EX M WB 읽거나쓸메모리특정위치에접근 5 단계 : Write Back 레지스터에다시씀 IF ID EX M WB IF ID IF EX ID IF M EX ID WB M EX WB M WB
멀티코어프로세서 하나의 IC 칩에여러개의독립적인프로세서 ( 코어, core) 를둔프로세싱시스템 배경 개별칩의성능이물리적한계에 다다름에따라시장의업그레이드 수요를맞추기위해 ( 참고 : 무어의법칙 ) 등장 종류 Dual-core: 두개의코어 Quad-core: 네개의코어 Hexa-core: 여섯개의코어 듀얼코어프로세서구조의예
인텔칩의역사 Intel CPU (IBM PC 에도입 ) 초기의 8086 과호환성을유지하면서성능을향상시킨것이계속적인성공의열쇠 4bit CPU: 4004 (1971), 4040 8bit CPU: 8008, 8080, 8085 16bit CPU: 8086/8088 (1978~79), 80286 32bit CPU: 80386, 80486 Pentium (1993) Pentium Pro (1995) Pentium II (1997): Pentium Pro + MMX Pentium III, Pentium IV 64bit CPU: Pentium M, Pentium D, Core 2
무어의법칙 (Moore s Law) CPU 내트랜지스터의수가 18~24개월만에두배가된다는법칙 ( 기하급수적증가, exponential growth) ( 그림출처 : Wikipedia, Moore s Law)