컴퓨터공학개론 3 장컴퓨터구조
학습목표 컴퓨터의동작을이해하는것이왜필요한지배운다. CPU 는무엇이고, 어떻게동작하는지배운다. 디지털논리회로가어떻게동작하는지배운다. 기본적인부울 (Boolean) 연산에대해배운다. 기본적인논리게이트가어떻게동작하는지, 또이것이복잡한컴퓨터회로를구축하는데어떻게사용되는지이해한다. 2
학습목표 ( 계속 ) 폰노이만 (Von Neumann) 구조의중요성을배운다. 컴퓨터가어떻게메모리를사용하는지이해한다. 시스템버스가무엇이고그것의목적은무엇인지배운다. 메모리와저장장치의차이점을이해한다. 기본적인입 / 출력장치에대해배운다. 컴퓨터가어떻게인터럽트와폴링을사용하는지이해한다. 3
컴퓨터구조를배워야하는이유 컴퓨터 : 소프트웨어를실행시키기위해디자인된하드웨어 컴퓨터과학전공자를위한중요한공지 : 하드웨어와소프트웨어간의논리적연결을이해하라 컴퓨터구조 : 컴퓨터시스템에존재하는하드웨어컴포넌트들의구성 4
본체내부 컴퓨터구조 : 외부적관점 모니터 키보드와마우스 컴퓨터케이스 CPU (central processing unit) 케이스안의메인보드또는마더보드에존재 다른모든것들은 CPU를지원하기위해존재 컴퓨터구조공부의포인트 5
6
그림 3-2 컴포넌트의이름이표시된메인보드 7
CPU CPU 는컴퓨터 실제처리를수행하는디지털컴포넌트를포함 수백만개의트랜지스터로이루어짐 트랜지스터 켜짐 (on) 상태와꺼짐 (off) 상태를나타낼수있는소형전자스위치 칩하나에수백만개의트랜지스터가들어감 회로 : 트랜지스터가모여이루어진상위구조 8
CPU ( 계속 ) 네가지기본기능 : 덧셈, 디코딩, 시프팅, 저장 기능을수행하는네가지회로 가산기 : 덧셈, 뺄셈, 곱셈, 나눗셈을수행 디코더 : 패턴이인식되면특정한비트의출력을 1 로설정 시프터 : 비트들을오른쪽또는왼쪽으로이동 플립 - 플롭 ( 래치 ): 메모리비트를저장 9
트랜지스터의동작 구성재료 : 실리콘또는게르마늄 논리적구성 : 이미터, 컬렉터, 베이스 전기스위치같은트랜지스터 베이스는현재전원상태를제어 전압의출력으로 1 과 0 을표현 크기 : 펜티엄 IV CPU 에서트랜지스터의너비는 130 나노미터 (nanometer) 10
그림 3-3 NOT 게이트와같은논리회로를만드는데사용되는트랜지스터 11
논리회로 디지털논리회로 트랜지스터구성의다음단계 단계적스위칭기능을갖는트랜지스터 부울대수표현기능 부울대수 이진입력과출력의관계를기술 기본연산자 : AND, OR, NOT 부울대수의값은참 (1), 거짓 (0) 부울수식은부울연산자와이진값으로이루어짐 12
진리표 디지털논리회로 ( 계속 ) 부울수식을표를사용하여표현한것 행은가능한모든입력의조합을나타냄 2 n 개의행은 n 개의입력이필요 (n 이양수일경우 ) 예 : 2 개의입력은 4 개의행을나타냄 2 2 = 4 13
기본부울연산자 세가지기본연산자 : AND, OR, NOT AND 연산자 두개의값 (x, y) 을입력받아하나의출력 (z) 을만든다. 두개의입력이모두 1 일때출력이 1( 참 ) x = 1, y = 1 -> z = 1 다른모든입력조합은 0 을출력 부울수식 : xy = z 14
기본부울연산자 ( 계속 ) OR 연산자 두개의값 (x, y) 을입력받아하나의출력 (z) 을만든다. 두개의입력중하나만 1 이면 1 을반환 두개의입력이모두 0 일때출력이 0( 거짓 ) 부울수식 : x + y = z 15
기본부울연산자 ( 계속 ) NOT 연산자 하나의입력 (x) 으로하나의출력 (z) 을만듬 입력을반대로만드는것 x = 1 -> z = 0 x = 0 -> z = 1 부울수식 : x = z or x = z 16
디지털빌딩블록 회로계층 게이트 : 부울논리를구현하기위해컴퓨터에있는트랜지스터기반회로 게이트의조합은결국컴퓨터가원하는모든작업을할수있도록만들어준다 연관성 서로다른전압레벨로이진의 0 과 1 을표현 하나의게이트에서나온출력은다른게이트에대한입력중의하나가된다 기본게이트 6 가지 AND, OR, NOT ( 기본게이트 ) NAND, NOR, XOR (AND, OR, NOT 으로구성 ) 17
디지털빌딩블록 ( 계속 ) AND 게이트 두개의입력과하나의출력으로구성 진리표는 AND 부울연산자의진리표와동일 18
디지털빌딩블록 ( 계속 ) OR 게이트 두개의입력과하나의출력으로구성 진리표는 OR 부울연산자의진리표와동일 19
디지털빌딩블록 ( 계속 ) NOT 게이트 하나의입력과하나의출력으로구성 진리표는 NOT 부울연산자의진리표와동일 20
디지털빌딩블록 ( 계속 ) NAND 게이트 AND 게이트의출력을받아서 NOT 을사용하여반대로만든것 출력은 AND 게이트의출력과정확히반대 21
디지털빌딩블록 ( 계속 ) NOR 게이트 OR 게이트의출력을받아서 NOT 을사용하여반대로만든것 출력은 OR 게이트의출력과정확히반대 22
디지털빌딩블록 ( 계속 ) XOR 게이트 Exclusive OR 입력이서로다르면출력이 1 23
게이트행동 게이트의예측 진리표로예측가능 모든입력집합에대한출력은진리표에서주어진명세에따름 복잡한특수회로를구성하기위해게이트를연결 게이트로부터나온출력은또다른게이트를위한입력으로연결 예제 : 두개의 2- 입력 AND 게이트로부터 3- 입력 AND 게이트를구성 24
4 개의주요회로 가산기, 디코더, 시프터, 플립 - 플롭 기본게이트의조합 가산기 기능 : 두개의이진수를더해서결과를생성 입력 : 더할두개의비트 (x, y) 와한개의캐리 - 인 (ci) 출력 : 더해진비트 (s) 와하나의캐리 - 아웃 (co) 복잡한회로 25
복잡한회로 ( 계속 ) 디코더 기능 : 주소할당, 입출력장치선택 주어진입력패턴에대해출력라인이선택 n 개의입력을가진회로는 2 n 줄을제어가능 예제 : 32 개입력은 40 억줄을제어가능 두개의입력을가진디코더 네가지의출력이가능 진리표는네개의진리표를하나로합한것 26
복잡한회로 ( 계속 ) 플립 - 플롭 래치회로의특수한형태 기능 : 비트를잡아서변경될때까지출력상태를유지 입력 : S (set) 와 R (reset) 출력 : Q 와 Q 저장장치에사용 CPU 의고속메모리 SRAM, 캐시 27
시프터 복잡한회로 ( 계속 ) 용도 : 곱셈과나눗셈과같은수학연산에많이사용 기능 : 입력만큼왼쪽이나오른쪽으로비트를이동 28
복잡한회로 ( 계속 ) 다른회로 : 멀티플렉서, 패리티생성기, 계수기 구성과정 3 단계 각각의가능한입력배열에대해원하는출력을보여주는진리표를구성 이러한진리표와동등한부울대수를생성 완성된부울수식을구현하는회로다이어그램을생성 29
복잡한회로 ( 계속 ) 현대적디자인은소프트웨어지원의성과 집적회로 (IC) 모든회로를한장의반도체소재위에집적 초고밀도집적회로 (VLSI) 칩 수백만개의회로를가지고있는칩 30
폰노이만구조 다음과같은특성을가지는다목적기계 : 메모리로부터이진명령을가져와서순차적으로처리한다음그명령을실행 명령과데이터는모두주기억장치시스템에저장 명령실행은중앙처리장치 (CPU) 에의해수행 CPU 의구성 : 제어장치 (CU) 연산장치 (ALU) 레지스터 ( 소형기억장치 ). CPU 는외부장치로부터입력을받아들일수있고출력을제공할수있는능력을가지고있다. 31
그림 3-19 폰노이만구조 32
폰노이만구조 ( 계속 ) 일반적인인출 - 실행사이클 : 제어장치는주기억장치로부터명령을인출하기위해프로그램계수기 (counter) 를사용한다. 명령은실행을완료하기위해필요한데이터가무엇인지결정하기위해디코드된다. 필요한다른데이터도메모리로부터인출되어다른레지스터에저장된다. ALU 는필요하다면레지스터에있는데이터를사용하여명령을실행한다. 명령을수행하는데필요한입력또는출력연산이수행된다. 33
폰노이만구조 ( 계속 ) 크리스탈 ( 시스템 ) 클록은인출 - 실행사이클에있는각각의단계를동기화한다. 컴퓨터는종종이러한클록속도로불리어진다. 예 : 펜티엄 IV, 3GHz / 매초마다 30 억개의인출 - 실행단계를완료하고있다. 클록속도의경향 60 년넘게컴퓨터의대들보역할 클록속도는 100MHz 근처에서벽을만났다. 전류의법칙과물리적성질에의한한계 34
버스 버스 : 데이터전송에필요한전선, 규칙, 프로토콜의집합 컴포넌트들은시스템버스로연결되어있다. 버스전선은다음과같은세가지신호그룹으로나눌수있다 : 제어 주소 데이터 오늘날버스의기준 : PCI (Peripheral Component Interconnect) 35
주변장치버스 SCSI: Small Computer System Interface 다양한유형의 I/O 장치를컴퓨터와연결시키는데사용 버스마스터링은두장치가서로통신하는동안 CPU 가다른과제를수행하도록해준다. 36
저장장치 저장장치 : 프로그램과데이터를저장하는데사용되는컴포넌트의구성원 저장장치계층 주기억장치 보조기억장치 ( 대량저장장치 ) 37
메모리 두가지로구분 ROM (read-only memory) 칩에영구적으로새겨짐 일반적으로수정이불가능 BIOS (basic input/output system) 에사용 RAM (random access memory) 메모리직접접근가능 읽기, 쓰기허용 휘발성 CPU 는 RAM 에서프로그램을인출하여실행 38
RAM 의종류 메모리 ( 계속 ) DRAM (Dynamic RAM) 비트당하나의트랜지스터를사용한회로로만들어짐 저장된데이터를유지하기위해계속적으로데이터를새롭게하는것이필요 접근시간은 10-70ns 의범위 SRAM 플립 - 플롭회로를사용하여만들어짐 모든메모리유형중에서가장빠르다 CPU 의레지스터나캐시메모리에만사용 39
대용량저장장치 보조기억장치특성 RAM 이나 ROM 에비해훨씬많은저장용량 하드드라이브나 CD-ROM 과같은장치를사용 메가바이트당가격이훨씬저렴 비휘발성 RAM 과 ROM 에비해느림 40
대용량저장장치 ( 계속 ) 하드드라이브 대용량저장장치중에서가장널리사용되는형태 자기입자로구성된하나이상의금속원반 트랙이라고불리는동심원의집합 트랙은섹터로나누어짐 원반은보통 1 분에 7200 회전정도로빠르게회전 판독 / 기록헤드는디스크표면의특정지역에위치 RAM 에비해비교적저렴 RAID (Redundant Array of Independent Discs) 41
그림 3-20 하드드라이브원반과판독 / 기록헤드 42
대용량저장장치 ( 계속 ) 광학저장장치 널리사용되는장치 : CDs (compact disks) 와 DVDs (digital video disks) 광학 ( 빛 ) 기술을사용하여데이터를저장 CD 의표면에미세한홈을만드는레이저를사용 디스크의안쪽에서부터바깥쪽으로연속적인나선형을이루며기록 하드디스크와마찬가지로, CD 도회전 판독 / 기록헤드는디스크표면의특정지역에위치 저장비용이저렴 43
대용량저장장치 ( 계속 ) 플래시드라이브 USB(universal serial bus) 에꽂는이동식저장장치 플로피드라이브를대체 비휘발성플래시메모리사용 저장비용이저렴 44
입 / 출력장치 폰노이만구조에있는마지막컴포넌트 I/O 장치는컴퓨터를사용자와연결시켜준다 45
키보드 입력장치 대부분의컴퓨터시스템에서주입력장치 키보드제어회로와시스템버스를통해 CPU 와연결 키입력은 1 과 0 의이진신호로변환되고, CPU 에의해문자, 숫자, 제어코드로해석 마우스 키보드와함께사용 이동을감지하여감지된이동을이진코드로변환 다른장치 : 트랙볼, 스타일러스, 터치패드 / 스크린 46
그림 3-21 주변장치와연결하기위한여러개의포트를제공하는마더보드 47
출력장치 외부세계와통신하는능력 모니터 1 차적인출력장치 CRT (cathode ray tubes) 래스터스캐닝기술사용 디스플레이의질은해상도와주사율에의해정의 LCD (Liquid Crystal Display) CRT 디스플레이에비해훨씬얇고, 열이덜발생 전압이걸리면빛을막는소형트랜지스터를사용 디스플레이의질은해상도와주사율에의해정의 48
그림 3-22 LCD 와 CRT 모니터의비교 49
출력장치 ( 계속 ) 프린터 중요한출력장치 주요종류 : 잉크젯과레이저프린터 프린터출력의질은수평과수직방향모두에대한해상도로측정 사운드카드 메인보드에있는 PCI 버스확장슬롯에장착 저장장치에저장할수있도록사운드를디지털화하고, 이진사운드파일을읽어서그것을다시아날로그사운드로변환 50
인터럽트와폴링 CPU 명령어사이클은클록속도와동일 CPU 는프로세스가필요한만큼사이클을맡김 두가지기법제공 폴링 : CPU 가 I/O 장치에요청이있는지질문 인터럽트처리 : 서비스의요청에따라 I/O 장치를초기화 51
최선의컴퓨터하드웨어선택법 정해진것은없음 상황에따라다름 몇가지기준 장치의사용목적 메모리유형, 버스속도, 하드드라이브속도의확인 모델의비교 의견수렴 가격고려 52
맺는말 모든컴퓨터공학은구조적개념이필요 지속적으로새로운기술에관심을가져야한다 최신기술을유지한다 53
요약 컴퓨터구조 : 하드웨어구조 폰노이만구조 : 현대컴퓨터의표준 폰노이만컴퓨터의컴포넌트 : 중앙처리장치 (CPU) 메모리 ( 계층적으로구성 ) 입출력장치 CPU: 연산장치 / 제어장치 / 레지스터 시스템컴포넌트는버스를통해연결 54
요약 ( 계속 ) 명령사이클 : 인출 - 디코드 - 실행 클록속도에따라명령실행 기본회로 : 가산기 / 디코더 / 플립 - 플롭 / 시프터 통합회로는트랜지스터와다른컴포넌트가들어있는칩의조합이다. 논리회로는부울대수가기반이다. 55
요약 ( 계속 ) 기본회로 ( 또는게이트 ) 6 개 AND, OR, NOT, NAND, NOR, XOR 모든회로는진리표와부울수식으로표현가능 56