컴퓨터구조 제 4 강 컴퓨터시스템의구성과기능
학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능
학습목표 r컴퓨터를분해해서하드웨어적구성장치를파악한다. r컴퓨터의조직과기능을이해한다. r컴퓨터구성장치의기능을이해한다. r컴퓨터가수행하는기능을분류하고이해한다. r컴퓨터의구성장치들과연결을이해한다. r버스의역할과구조를이해한다. 컴퓨터구조 3 4. 컴퓨터시스템의구성과기능
컴퓨터분해를통한본체살펴보기 하드디스크 CD-ROM 모니터 그래픽카드 프린터 케이스 메인보드 스캐너 랜카드 키보드 마우스 컴퓨터구조 4 4. 컴퓨터시스템의구성과기능
주회로기판 (main board) 의구성 컴퓨터구조 5 4. 컴퓨터시스템의구성과기능
컴퓨터의개념적구성 하드웨어 펌웨어 소프트웨어 컴퓨터구조 6 4. 컴퓨터시스템의구성과기능
컴퓨터구성요소 r 컴퓨터시스템은하드웨어와소프트웨어로구성 r 하드웨어 (hardware) r 정보들의전송통로를제공하고, 그정보에대한처리가실제일어나게해주는물리적인실체 r 하드와이어프로그램 (hardwired program) r부품을연결하여필요기능을수행하는프로그래밍의한형식 r특정목적에만사용, 다른목적을위해서는부품의재연결이필요 r하드웨어만의컴퓨터시스템은융통성이없다. r 소프트웨어 (software) r 하드웨어가특정작업을수행하도록제어신호들을제공하는일련의코드들 (codes) 혹은명령어들 (instructions) 의집합 r 펌웨어 (Firmware) r 하드웨어와소프트웨어의중간단계에해당 r 소프트웨어를하드웨어화시킨것 ( 예 : ROM) 컴퓨터구조 7 4. 컴퓨터시스템의구성과기능
소프트웨어 r컴퓨터에서정보들이이동하는방향과정보처리의종류를지정하고, 그러한동작들이일어나는시간을지정하는명령 (command) 들의집합 컴퓨터구조 8 4. 컴퓨터시스템의구성과기능
시스템소프트웨어 r컴퓨터하드웨어의기능수행에필수적인작업수행 r명령어해석, 디스크에데이터저장, 주변장치와통신 r운영체제 (Operating System : OS) r시스템소프트웨어의대표적인프로그램 r시스템의자원인 CPU, RAM, HDD, I/O 장치, 네트워크등을효율적으로관리하고운영 r사용자와컴퓨터하드웨어간인터페이스역할 컴퓨터구조 9 4. 컴퓨터시스템의구성과기능
운영체제의기능 r 컴퓨터내의하드웨어 / 소프트웨어자원관리 r 프로세스 (PROCESS) 관리 r프로세스의생성, 삭제, 동기화등에관여하다. r프로세스 : 현재컴퓨터의기억장치에서수행중인프로그램상태 r 주기억장치관리 : 주기억장치의할당과회수를관리 r 보조기억장치의사용관리 r 입출력장치를관리 r 파일관리 : 기억장소할당, 빈공간관리, 디스크스케줄링을담당 r 사용자에게인터페이스제공 r 윈도우에서창과아이콘을이용하여쉬운접근인터페이스를제공 r 장치고장을탐색, 오류처리, 보안유지 컴퓨터구조 10 4. 컴퓨터시스템의구성과기능
시스템소프트웨어 r유틸리티 r운영체제의능력을향상시키는시스템소프트웨어 r사용자에게하드웨어자원의사용을제어하는방법제공 r점차적으로운영체제에포함 r장치드라이버 r주변장치를설치할때, 컴퓨터에게주변장치를어떻게사용하는지알려주는시스템소프트웨어 r컴퓨터프로그래밍언어 r프로그래머가작성한프로그램 ( 명령어, 데이터 ) 을컴퓨터가처리할수있는형태로변환해주는역할 컴퓨터구조 11 4. 컴퓨터시스템의구성과기능
응용소프트웨어 응용소프트웨어종류 문서작성소프트웨어 그래픽소프트웨어 프리젠테이션소프트웨어 수치분석소프트웨어 데이터관리소프트웨어 정보및참조소프트웨어 데이터관리소프트웨어 연결소프트웨어 교육및훈련소프트웨어 게임소프트웨어 회계및재무소프트웨어 기업소프트웨어 내용 문서의작성, 편집, 설계, 문서인쇄를지원하는응용소프트웨어 ( 워드프로세서, 한글 2005 등 ). 영상을편집 / 조작한다. 그리고 3 차원객체, 애니메이션과비디오등을편집 / 조작한다. 텍스트, 그래픽, 그래프, 애니메이션, 및사운드를합성하여디지털전자슬라이드를작성하는데필요한모든도구를제공한다 ( 파워포인트등 ) 물리적시스템과사회적시스템의수치모델을만들고, 그모델의경향을예측하고양식을이해하도록분석한다 ( 엑셀, 로터스등스프레드시트프로그램 ). 정보를저장하고, 찾고, 수정하고, 조직화하고, 또보고하는것을지원하는소프트웨어이다. 검색엔진의경우정보를찾는것을지원하는소프트웨어로데이터관리소프트웨어에속한다. 정보의모음과그정보에접근하기위한방법을제공한다. 데이터를가지고있지않는것과비교된다. 단일상자에축적된가장큰참조데이터의창고라고하는 CD-ROM 에서정보및참조소프트웨어를생각할수있다. 컴퓨터를지역컴퓨터네트워크나인터넷에연결해주는일을한다 ( 기본통신소프트웨어, 원격제어소프트웨어, 전자우편, 웹브라우저등이이에속한다 ). 새로운기능을배우고숙달되는것을돕는다. 동일주제에대하여교육대상과수준에따라다르게할수있는장점을갖는소프트웨어이다. 취미와여가활동을위해설계된소프트웨어이다. 일반적으로액션, 모험 / 역할분담, 클래식, 퍼즐, 시뮬레이션, 전략 / 전쟁게임으로분류된다. 금전거래와투자내역을유지해주는프로그램이다. 조직이일상적인작업을효율적으로수행하도록지원한다. 회계응용, 급여응용, 의료비와보험금, 호텔관리응용등에사용된다. 컴퓨터구조 12 4. 컴퓨터시스템의구성과기능
펌웨어 (Firmware) r시스템효율을높이기위해 ROM 에들어있는기본프로그램 rrom 에프로그램이고정되어하드웨어의특성도가지고있지만실제로는소프트웨어에더가까움 r소프트웨어를하드웨어화시킨것으로소프트웨어와하드웨어의중간에해당 r전형적인처리루틴, 비휘발성, 변경불가등의특징으로특수한영역에서많이사용 컴퓨터구조 13 4. 컴퓨터시스템의구성과기능
하드웨어 r 컴퓨터의주요하드웨어 r 중앙처리장치 (Central Processing Unit: CPU) r프로세서 (processor) r' 프로그램실행 ' 과 ' 데이터처리 ' 라는중추적인기능수행을담당 r중앙처리장치는제어장치, 연산장치, 레지스터등으로구성 r 기억장치 (memory) r저장장치 (storage device) rcpu 가실행할프로그램과데이터를저장 r주기억장치와보조기억장치가존재 r 입출력장치 (I/O device) r사용자와컴퓨터간의대화를위한도구 r입력장치는입력데이터를컴퓨터가이해하는신호로변환 r출력장치는중앙처리장치가처리한결과를출력하는장치 컴퓨터구조 14 4. 컴퓨터시스템의구성과기능
컴퓨터의내부구조와자료와명령신호흐름 출력장치 연산장치 중앙처리장치 주기억장치 보조기억장치 제어장치 입력장치 컴퓨터구조 15 4. 컴퓨터시스템의구성과기능
컴퓨터의기능 r 프로그램실행 r CPU 가주기억장치로부터프로그램코드를읽어서실행 r 데이터저장 r 프로그램실행결과로서얻어진데이터를주기억장치에저장 r 데이터이동 r 보조기억장치인디스크혹은 CD-ROM 에저장되어있는프로그램과데이터블록을주기억장치로이동 r 데이터입력과출력기능 r 사용자가키보드를통해보내는명령이나데이터를읽어들인다. r CPU 가처리한결과값이나기억장치의내용을프린터 ( 혹은모니터 ) 로출력 r 제어 r 프로그램이순서대로실행되도록또는필요에따라실행순서를변경하도록조정, 각종제어신호들을발생하는기능 컴퓨터구조 16 4. 컴퓨터시스템의구성과기능
명령어의수행과정 r컴퓨터의기본적인기능은프로그램의실행 r프로그램의처리과정은명령어인출 (instruction fetch) 과명령어실행 (instruction execution) 을반복 r명령어의수행과정은 4개의과정, 두개의사이클에의해완성 컴퓨터구조 17 4. 컴퓨터시스템의구성과기능
레지스터 (Register) r 실행의중간결과나적은양의자료를임시로저장 r 중앙처리장치 (CPU) 내의임시기억장치역할, 플립플롭으로구성 컴퓨터내부의저장장치 컴퓨터구조 18 4. 컴퓨터시스템의구성과기능
CPU 내의레지스터 r 프로그램카운터 (PC: Program Counter) r 다음에실행할명령어의주소를저장하는레지스터 r 명령어레지스터 (IR: Instruction Register) r 메모리로부터읽어온명령어를수행하기위해일시적으로저장하는레지스터 r 기억장치주소레지스터 (MAR: Memory Address Register) r 다음에읽기동작이나쓰기동작을수행할기억장소의주소를저장하는주소저장용레지스터 r 기억장치버퍼레지스터 (MBR: Memory buffer Register) r 기억장치에저장될데이터혹은기억장치로부터읽은데이터를임시적으로저장하는버퍼 r 입 / 출력주소레지스터 (I/O AR: I/O Address Register) r 입 / 출력장치의주소를저장하는주소레지스터 r 입 / 출력버퍼레지스터 (I/O BR: I/O Buffer Register) r 입 / 출력모듈과 CPU 간에교환되는데이터를일시적으로저장하는레지스터 컴퓨터구조 19 4. 컴퓨터시스템의구성과기능
정보의표현과컴퓨터언어 r 프로그램코드는컴퓨터에서사용하는형태와가까우면저급언어, 인간이사용하는형태와가까우면고급언어로분류 r 저급언어 (low-level level language) r 기계어 (machine language) 는기계코드 (machine code) 들의집합 r 컴퓨터하드웨어부품들이이해할수있는언어 r 2진수비트들로구성된코드 r 어셈블리언어 (assembly language) r 어셈블리코드 (assembly code) 들의집합 r 고급언어와기계어사이의중간언어 r 저급언어인기계어와일대일로변환됨 r 고급언어 (high-level language) r 영문자와숫자로구성되어사람이이해하기쉬운언어 r C, PASCAL, FORTRAN, COBOL r 프로그래머가쉽게작성할수있으나컴퓨터가이해할수있게번역하는과정필요 ( 컴파일 (compile) ) 컴퓨터구조 20 4. 컴퓨터시스템의구성과기능
컴파일러와어셈블러 r 컴파일러 (compiler) r 인간이작성하기쉬운고급언어프로그램을하드웨어가이해할수있는기계어프로그램으로번역하는소프트웨어 r 어셈블러 (assembler) r 어셈블리프로그램을이진수의기계어프로그램으로번역하는소프트웨어 r 어셈블리명령어 r 니모닉스 (mnemonics) : 지정하는동작을개략적으로짐작할수있도록하기위해사용되는기호 rload : 기억장치에저장된데이터나명령어를명령어레지스터 IR 로읽어오는어셈블리명령어 radd : 두레지스터에저장된데이터를산술적으로덧셈을수행하고결과를레지스터에저장하라는명령어 rstor : 처리되거나계산된데이터를기억장치로저장하는명령어 컴퓨터구조 21 4. 컴퓨터시스템의구성과기능
덧셈연산을수행하는프로그램의언어별표현 r 고급언어 : Z = X + Y r 어셈블리표현 1단계 2단계 3단계 LOAD A, X ADD A, Y STOR Z, A 기억장치 X번지의내용을읽어레지스터 A에적재 기억장치 Y번지내용을읽어레지스터 A에적재되어있는값과더하고그결과값을다시 A 레지스터에적재 A 레지스터에저장된값을기억장치 Z번지에저장 r 기계어표현 컴퓨터구조 22 4. 컴퓨터시스템의구성과기능
기계명령어형식 r 연산코드 (op code) r CPU 가수행할연산을지정해주는비트들 r 오퍼랜드 (operand) r 적재될데이터가저장된기억장치주소, 혹은연산에사용될데이터비트 r 연산코드의비트수가 3이면, 지정할수있는연산의최대수는 2 3 = 8이된다. r 오퍼랜드의비트의수가 5이면, 주소지정할수있는기억장소의최대수는 2 6 = 32 가된다. 컴퓨터구조 23 4. 컴퓨터시스템의구성과기능
기억장치에저장된기계어 r단어 (word) r프로그램과데이터가기억장치에저장되는단위 rcpu 에의해한번에처리될수있는비트들의그룹 컴퓨터구조 24 4. 컴퓨터시스템의구성과기능
명령어사이클 (instruction cycle) r중앙처리장치가하나의명령어를실행하는데필요한전체처리과정 r인출사이클 (fetch cycle) 과실행사이클 (execution cycle) 의부사이클 (sub-cycle) 두개로구성 컴퓨터구조 25 4. 컴퓨터시스템의구성과기능
인출사이클 (fetch cycle) 과실행사이클 (execution cycle) r 명령어인출 r 주기억장치에기억되어있는프로그램명령어를호출하는과정 r 단계별과정 r프로세서는 PC 가지정하는기억장소로부터명령어를인출 rpc 내용을증가시키고인출된명령어가명령어레지스터 (IR) 로적재 r프로세서는명령어를해석하고, 요구된동작을수행 r 실행사이클 r 명령어를실행하는단계 r 실행되는동작분류 r프로세서와기억장치간에데이터가전송 r프로세서와 I/O 모듈간에데이터가전송 r데이터에대하여지정된산술혹은논리연산이수행 r제어 (control) 동작 : 명령어의순서가변경될때사용 (JUMP 등 ) 컴퓨터구조 26 4. 컴퓨터시스템의구성과기능
기본명령어사이클 컴퓨터구조 27 4. 컴퓨터시스템의구성과기능
버스와상호연결 r 버스 r 컴퓨터에서두개혹은그이상의장치들을연결하는공유전송매체 r 버스를통해전송되는유형들 r 프로세서가기억장치로부터명령어와데이터를읽는유형 r 프로세서가기억장치에데이터를저장하는유형 r 프로세서는 I/O 모듈을통하여 I/O 장치로부터데이터를읽는유형 r 프로세서가 I/O 장치로데이터를전송하는유형 r I/O 모듈이 DMA 를통하여기억장치와직접데이터를교환하는전송유형 r 시스템버스 (system bus) r 프로세서, 기억장치및 I/O 장치간의통신을위한상호연결 컴퓨터구조 28 4. 컴퓨터시스템의구성과기능
시스템버스 r 시스템버스는주소버스 (address bus), 데이터버스 (data bus), 제어버스 (control bus) 로분류 r 주소버스 r 데이터가읽혀지거나쓰여질기억장소의주소를전송하는통로 r CPU 가외부로발생하는주소정보를전송하는신호선들의집합 r 주소선들의수 ( 주소버스폭 ) 에의해 CPU 와접속될수있는최대기억장치용량이결정 r 주소버스의비트수가 16 비트라면, 최대 2 16 = 64K 개의기억장소들의주소를지정가능 r최대기억장치용량이 64K 컴퓨터구조 29 4. 컴퓨터시스템의구성과기능
시스템버스 r 데이터버스 r 모듈들사이의데이터전송통로 r CPU 가기억장치혹은 I/O 장치와의사이에데이터를전송하기위한신호선들의집합 r 데이터선들의수는 CPU 가한번에전송할수있는비트수를결정한다. r 데이터전송폭이 32 비트이고버스의클럭이 33MHz 일때의전송속도 32bit 4byte 4byte 33,000,000Hz = 132,000,000byte/sec r 제어버스 r 데이터버스와주소버스의사용을제어하는신호들을전송하는통로 r CPU 가시스템내의각종요소들의동작을제어하기위한신호선들의집합 r 기억장치읽기 / 쓰기신호, I/O 읽기 / 쓰기신호전송확인, 버스요구, 버스승인, 인터럽트요구, 인터럽트확인, 클럭 (clock), 리셋 (reset) 들이전송 컴퓨터구조 30 4. 컴퓨터시스템의구성과기능
시스템버스의분류 컴퓨터구조 31 4. 컴퓨터시스템의구성과기능
CPU 와기억장치간의데이터이동 r 읽기동작과쓰기동작을모두수행해야하기때문에데이터버스와제어버스는양방향성 (bi-directional) r 주소버스는주소가 CPU 로부터기억장치혹은 I/O 장치들로전송되는정보이기때문에단방향성 (uni-directional bus) 주소버스 중앙제어장치 CPU 데이터버스 제어버스 기억장치 컴퓨터구조 32 4. 컴퓨터시스템의구성과기능
기억장치액세스동작의시간흐름 r기억장치쓰기시간 (memory write time) rcpu 가주소와데이터를보낸순간부터저장이완료될때까지의시간 r기억장치읽기시간 (memory read time) r주소를해독 (decode) 하는데걸리는시간과선택된기억소자들로부터데이터를읽는데걸리는시간을합한시간 컴퓨터구조 33 4. 컴퓨터시스템의구성과기능
CPU 와외부장치들과의데이터송수신 r 입출력장치제어기 (I/O device controller) r CPU 와입출력장치의속도의차이를극복하기위해, 시스템버스와입출력장치사이에존재 r CPU 로부터입출력명령을받아서, 해당입출력장치를제어하고데이터를이동시키는명령을수행 r 상태레지스터 r입출력장치의현재상태를나타내는비트들을저장한레지스터 r준비상태 (RDY) 비트, 데이터전송확인 (ACK) 비트가해당상태표시 r 데이터레지스터 rcpu 로부터입출력장치간에이동되는데이터를일시적으로저장 r CPU 와입출력장치간의데이터흐름 CPU 시스템버스 입출력장치제어기 입출력장치 컴퓨터구조 34 4. 컴퓨터시스템의구성과기능
CPU 와입출력장치간의버스연결 컴퓨터구조 35 4. 컴퓨터시스템의구성과기능
시스템버스를통한구성장치의연결 컴퓨터구조 36 4. 컴퓨터시스템의구성과기능