제 2장 컴퓨터의 구조
DESCRIPTION
제 2장 컴퓨터의 구조. 차례. 컴퓨터의 동작 방식 중앙처리 장치와 기억장치의 상호 작용 컴퓨터 내부의 데이터 표현 컴퓨터의 구성 요소 중앙 처리 장치, 기억 장치 중앙처리 장치의 구현 성능 향상의 기법, 중앙처리 장치의 예 무어의 법칙, 암달의 법칙. 컴퓨터의 동작 방식. 인간과 컴퓨터의 비교 인간 : 눈, 귀, 코.. => 뇌 => 근육 세포 컴퓨터 : 키보드, 마우스 => 중앙처리 장치, 기억 장치 => 모니터, 프린터 - PowerPoint PPT PresentationTRANSCRIPT
제 2 장 컴퓨터의 구조
차례
컴퓨터의 동작 방식 중앙처리 장치와 기억장치의 상호 작용 컴퓨터 내부의 데이터 표현
컴퓨터의 구성 요소 중앙 처리 장치 , 기억 장치
중앙처리 장치의 구현 성능 향상의 기법 , 중앙처리 장치의 예 무어의 법칙 , 암달의 법칙
컴퓨터의 동작 방식
인간과 컴퓨터의 비교 인간 : 눈 , 귀 , 코 .. => 뇌 => 근육 세포 컴퓨터 : 키보드 , 마우스 => 중앙처리 장치 ,
기억 장치 => 모니터 , 프린터 컴퓨터는 정보를 ‘읽어’ 들이고 , ‘ 가공’ 하고 ,
‘ 출력’함으로써 유용한 일을 한다 내부적으로 저장된 정보의 일종인 프로그램의
지시에 따라 동작한다
예 ) 영한 번역 시스템
컴퓨터가 수행하는 작업 순서 영어 문서를 읽어 들인다
내부적으로 0/1 의 조합으로 바뀌어 저장됨 프로그램의 지시에 따라 번역 작업을
수행한다우리말로 번역된 문서를 따로 저장해 둔다
우리말로 된 문서를 외부로 출력한다사람이 볼 수 있는 형태컴퓨터가 다음에 다시 재사용할 수 있는 형태
컴퓨터의 동작 방식
중앙처리 장치와 기억 장치의 상호 작용 중앙 처리 장치
컴퓨터의 모든 구성 요소를 관리하고 , 프로그램을 실행시키는 역할
기억 장치프로그램과 데이터를 저장프로그램의 수행은 중앙처리 장치가 기억장치내의
프로그램 / 데이터를 주소를 이용하여 접근함으로써 수행
컴퓨터의 동작 방식
주소 (address)프로그램 또는 데이터의 기억 장치내 위치 읽기 : 중앙처리 장치 =>( 주소 ) 기억 장치 =>
자료쓰기 : 중앙처리 장치 =>( 주소 & 자료 ) 기억
장치 프로그램의 실행
중앙처리장치는 기억 장치에 저장된 명령어를 기억장치에서 순서대로 읽고 , 해석하여 명령어가 지시하는 동작을 수행
컴퓨터의 동작 방식
기억장치 주소 저장 내용
…
16 변수 X 에 3 을 저장한다.
20 변수 Y 에 1 을 저장한다
24 변수 X 와 Y 를 더해 Z 에 저장한다
…
32 X : 3
36 Y : 1
40 Z : 4
프로그램
데이터
컴퓨터 내부의 데이터 표현
정보 표현 형식은 일종의 약속이다 온도 ( 섭씨 , 화씨 ), 작곡 ( 악보 ) 수 , 문자 , 기호 , 그림
컴퓨터에서의 정보 단위 꺼짐 (off) 과 켜짐 (on) 의 전기적 상태를 0 과
1 로 간주하기로 약속함 (bit) 8 bit = 1 byte : 28=256 가지의 정보를 표현 Kbyte(210), Mbyte(220), Gbyte(230) 워드 (word) : 컴퓨터의 데이터 처리 단위
32 비트 컴퓨터 : 1 word = 4 byte
숫자의 표현
정수의 표현 2 진수로 표현됨 3 bit, 32 bit, 64 bit 정수
소수의 표현 복잡한 표현 방법
10 진수 2 진수 2 진 표현
0 0 000
1 1 001
2 10 010
3 11 011
4 100 100
5 101 101
6 110 110
7 111 111
3 비트 정수 표현
문자의 표현
문자 하나를 숫자 하나에 대응시킴 예 ) 0100001 := ‘A’
ASCII American Standard Code
for Information Interchange
EBCDIC(IBM) Extended Binary Coded
Decimal Interchange)
그림 2-18
문자의 표현 - 한글의 경우
조합형 코드 초성 , 중성 , 종성을
각각 5bit 로 표현
완성형 코드 약 3000 자의 글자를
순서대로 배열한 후 번호를 매김
1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1
영어 = 0한글 = 1
초성 ‘ㄱ’ 중성 ‘ㅏ’ 종성 ‘ㅇ’
숫자(16 진수)
문자
B0A1 가
B0A2 각
B0A3 간
... ...
명령어의 표현
컴퓨터 내부에서는 명령 역시 이진수로 표현된다 예 ) A1 := A2 + A3
Load A2, 3 : (hexadecimal) 05 02 00 03Load A3, 1 : 50 03 00 01ADD A1, A2, A3 : 70 01 02 03
폰 노이만 방식 프로그램 ( 명령어의 집합 ) 과 데이타를 함께
부호화해서 저장한 후 처리함
ADD 메모리 주소 1(target 1)
메모리 주소 2(source 1)
메모리 주소 3(source 2)
LOAD 메모리 주소 상 수 값
명령어 형식기억장치 주소 저장 내용
…
00010000 01010000 00100000 00000000 00000011
00010100 01010000 00100100 00000000 00000001
00011000 01110000 00101000 00100100 00100000
…
00100000 00000000 00000000 00000000 00000011
00100100 00000000 00000000 00000000 00000001
00101000 00000000 00000000 00000000 00000100
2 진 표현 프로그램과 데이터
1 word
1 word
컴퓨터의 구성 요소컴퓨터 = 하드웨어 + 소프트웨어
하드웨어전자 회로 및 기계 장치중앙처리장치 , 주 / 보조 기억 장치 , 입출력 장치버스 (BUS)
• 각 구성 요소들을 연결하는 데이터의 통로 소프트웨어
하드웨어를 제어하여 작업을 수행하는 프로그램명령문과 데이터로 구성사람이 이해하기 쉬운 고급 언어로 작성
• C, BASIC, Pascal• 컴파일러에 의해서 기계어로 번역
중앙 처리 장치
CPU 의 구성 산술 , 논리 연산 장치 (Arithmetic/Logic Unit,
ALU)산술 연산 : 덧셈 , 뺄셈 ...논리 연산 : AND, OR, NOT...
제어 장치 (Control Unit)프로그램에 따라 명령과 제어 신호를 생성
임시 기억 장소 (Register)계산 결과를 일시적으로 저장해 둔다보통 30 개 정도를 번호를 붙여 사용
중앙 처리 장치
ADD R2 R3 R5 00010100 0010 0011 0101 레지스터 3 번과 레지스터 5 번의 값을
읽어서 더한 후 , 레지스터 2 번에 그 결과를 저장하라 .
ADD R2, R3, R5
주변장치
제어장치 (CU)
산술논리연산장치 (ALU)
R1
R2
R3
R4
R5
R6
R7
제어신호
데이터값
주기억장치의기계어 코드 중앙처리장치
그림 2.7중앙처리장치의작동
ADD
레지스터
중앙 처리 장치
클럭 (Clock) 컴퓨터가 벽시계라면 시계추의 진동에 해당 중앙 처리 장치가 작업을 수행하는 단위 같은 종류의 CPU 라면 초당 클럭 수가 많을
수록 속도가 빨라짐 예 )
명령읽기
명령해독
데이터읽기
계산수행
결과저장
주 기억 장치정보를 저장해 두었다가 필요할 때 읽어
들이는 저장소로 이용됨 명령어 ( 프로그램 ) 와 데이터를 저장
주소 (address) 를 통해 자료의 위치를 지정 8 / 16 / 32 / 64 비트 단위로 읽고 씀
워드 (word) 라 불린다 읽기 / 쓰기 / 연산 단위인 워드의 길이에 따라
성능이 달라짐 접근 시간 (Access time)
읽고 쓰는데 걸리는 시간
주 기억 장치 (Memory Unit)
1020
?
500
501
1000
2000
..
...
..
.
..
...
..
.
Load R1, 500
Load R2, 501
Add R3, R1, R2
Store R3, 1000
주 기억 장치의 종류
RAM (Random Access Memory) 지정한 주소를 바로 읽고 쓸 수 있다 전원이 끊어지면 내용이 지워진다
보조 저장 장치가 반드시 필요함 DRAM (Dynamic RAM)
충전된 전하를 정기적으로 재충전해 주어야 함 SRAM (Static RAM)
재충전 필요 없음 , 빠른 속도 , 전력 소모가 적다비싸다 , Cache 메모리에 사용
주기억 장치의 종류
ROM (Read Only Memory) 주로 읽을 수만 있는 장치 전원이 끊겨도 내용이 보존됨 firmware 를 저장해 두는 용도로 이용됨
예 ) 부트스트랩 프로그램의 저장
PROM(Programmable ROM) 한번 프로그램 가능
EPROM(Erasable PROM) 내용 변경 가능 정기적으로 변경할 필요가 있는 프로그램 저장시 사용
캐시 메모리 (Cache Memory)
그림 2-8 매우 빠르고 비싼 칩을 이용
자주 사용되는 내용을 일시적으로 저장 메모리 참조의 지역성
(locality) 을 이용함현대의 RISC 칩에서
캐시를 사용하지 않는 경우 약 95% 의 성능저하
레지스터
Cache memory
주기억장치
보조 기억 장치
속도가 빠르고용량이 작다
가격 저렴
보조 기억 장치
보조 기억 장치의 필요성 주 기억 장치 용량의 한계 휘발성 기억 장치의 한계
가격에 비해 대용량주 기억 장치보다도 1000 배 이상 느림
CPU 에 비해 ~106 배 가량느림
자기 디스크
원반 표면의 철 입자의 방향 (N/S)으로 0/1 을 표현
플로피 디스크 (Floppy Disk) 5.25 / 3.5 인치 크기의 플라스틱 원반
하드 디스크 여러 개의 금속 원반과
암 , 헤드로 구성됨 FDD 보다 10 ~ 10,000
배 기억 용량 20 배 정도 빠름
기타 보조 기억 장치
광자기 디스크 (Magneto-Optical Disk) 레이저 빔이 닿은 부분만 철 입자가 움직이게 되어 저장 밀도를 높임
원칙적으로 자기 디스크임CD-ROM
레이저 빔의 반사 /분산을 이용해서 0/1 을 표현 읽기만 가능 , 쓰기 불능 (but, CD-ROM Writer) 종이 150,000 쪽 , 멀티미디어 데이터 수록 속도가 HDD 보다 느리고 , 다시 기록 불능
기타 보조 기억 장치
자기 테이프 순차적인 읽기 / 쓰기만 가능
DAT 테입과 유사하나 트랙을 비스듬히 저장하여 밀도를 높임
플래시 메모리 전원이 없이도 보존되며 , 여러 번 지우고 다시 쓸
수 있다
트랙 (Track)
010111011101000101101...
참고 ) 하드 디스크와 CDROM 의 차이
동심원 모양으로 저장 항각 속도 방식
안쪽과 바깥쪽 섹터의 용량이 같게
안쪽 트랙의 밀도에 의해 용량이 결정됨
나선형으로 저장 항선 속도 방식 검색 속도가 느림
참고 ) 데이터 접근 방식에 따른 분류
순차 접근 방식 대부분의 테입에 해당 어떤 위치의 데이터를
읽거나 쓰기 위해서는 처음부터 차례로 읽어 나가야 함
한꺼번에 많은 양을 순서대로 읽고 쓰는 작업에 적합함
임의 접근 방식 RAM/ROM,
하드디스크 , 플로피 원하는 데이터를
처음부터 읽지 않고 바로 찾아 가는 방식
비교적 비싼 편
입출력 장치
입력 장치 인간의 정보를 컴퓨터가 이해할 수 있게 변환 키보드 , 마우스 , 트랙볼 , 펜 , 조이스틱 .. 스캐너 , 디지털 카메라
출력 장치의 예 컴퓨터 내부의 정보를 인간이 이해할 수 있는
형태로 변환 프린터 , 디스플레이 , 스피커 ...
입출력 장치
인터페이스 카드 주변 장치를 본체와 연결할 수 있게 해 준다 주변 장치를 제어 감독한다
중앙 처리 장치는 입출력 장치를 직접 제어하지 않는다
속도의 차이가 매우 크기 때문
버스 (BUS)
데이터의 통로 역할을 함 칩 내부의 연결 통로 칩 외부의 연결 통로
버스의 폭 *) 은 ALU, Register 의 워드 단위와 일치함 *) 동시에 보낼 수
있는 비트 수
외부 버스의 구성 예
CPU I/OMEM
CPU I/OMEM
중앙처리 장치의 구현
성능 향상의 기법 RISC vs. CISC Pipelining Superscalar vs. VLIW MMX 기술
CPU 예 : Intel무어의 법칙 , 암달의 법칙
성능 향상의 기법
CISC Complex Instruction Set
Computer 복잡한 내부 명령어를
많이 가짐 명령어 형식이 메모리를 참조하는 방식에 따라 다양하게 존재함
명령어의 복잡함으로 인하여 속도 향상에 한계가 있음
RISC Reduced Instruction Set
Computer 필수적인 명령어만
제공함 (CISC 의 30%) 메모리 참조는
LOAD/STORE 만으로 한정
Pipeline 을 통해 속도 향상을 꾀함
RISC 칩들
CISC 방식의 속도 한계를 극복 Pipeline, Cache등의
기술을 저가로 실현주로 워크스테이션
이상급에서 사용됨
대표적인 RISC 칩 SuperSPARC,
UltraSPARC(Sun Micro Systems)
R3000, R4000... R10000 (MIPS)
Alpha (DEC) Power (IBM) PA-RISC (HP)
Pipeline 의 원리
명령어를 몇 개의 수행 단계로 나누어서 각 단계를 하나의 클럭 사이클에 수행 명령어의 수행 단계들을 동시에 처리 일종의 병렬처리 명령어의 수행 시간이 균등할수록 효과적임 한 명령어 수행 시간은 일정하나 처리율
(throughput) 은 향상
5 단계 pipeline
1 단계 : Instruction Fetch2 단계 : Instruction Decode3 단계 : Execution4 단계 : Memory access5 단계 : Write Back
IF
ID
EX
M
WB
IF
ID
EX
M
WB
IF
ID
EX
M
WB
IF
ID
EX
M
WB
최대 다섯 개의 명령어가 동시에 수행된다
IF
ID
EX
M
WB
Superscalar vs. VLIW
여러 명령어를 동시에 fetch/decode/execute 할 수 있는 마이크로 프로세서
의존성 해결 방법에 따라 의존성 : A B Superscalar : 마이크로 프로세서 VLIW : 컴파일러
여러 명령어를 합쳐서 동시에 실행 가능한 하나의 큰 명령어를 생성
MMX Technology
이미지 / 사운드 / 동영상 등의 멀티미디어 자료 처리 Intel : MMX(MultiMedia eXtension), 1996.4 SIMD(Single Instruction Multiple Data)
작은 크기 (8 bit pixel or 16 bit audio data) 의 자료를 하나의 명령어가 반복 처리
8 bit pixel : 64 bit register -> 4s’ 16 bit word or 8s’ 8 bit byte 로 나누어 연산 수행
인텔 칩의 역사
단일 칩에 중앙 처리 장치를 집적 IBM PC 에 도입되어 크게 양산됨 8086 (1978), 80286(16 bit), 80386(32 bit) 초기의 8086 과 호환성을 유지하면서 성능을
향상시킨 것이 계속적인 성공의 열쇠80486 과 80386 의 차이
RICS 구조 부동 소수점 연산 보조 프로세서 케쉬 메모리 : 8 KB SRAM on-chip cache
인텔 칩의 역사
Pentium(1993) data bus:64 bit,16KB cache(data(8)+command(8))
Pentium II(1997) : PentiumPro + MMX PentiumPro : 서버용 컴퓨터에 주로 장착
Pentium III : 현재
무어의 법칙
컴퓨팅 파워가 기하급수적으로 증가 프로세서의 트랜지스터 개수 : 2 배 /(18~24월 )
성능의 향상과 함께 가격 하락VAX11/780(1977):20,000$=>Dimension(1987):2,757$
중앙처리장치와 기억 장치 발전 비교CPU : 2 배 /3년 , 주기억 장치 : 2 배 /10년그림 2.13 : 시간이 갈수록 성능차이 심화전체 컴퓨터 시스템의 성능 향상에 장애
인텔 칩의 발전
인텔 칩의 발전
모델 출시년도 버스 폭 레지스터크기
트랜지스터집적도
지정가능한메모리
8086
8088
80286
80386
80486
Petium
Pentium Pro
Pentium II
1978
1979
1982
1985
1989
1993
1995
1997
16 bit
8 bit
16 bit
32 bit
32 bit
64 bit
64 bit
64 bit
16 bit
16 bit
16 bit
32 bit
32 bit
32 bit
64 bit
64 bit
29,000
29,000
134,000
275,000
1,200,000
3,100,000
5,500,000
7,500,000
1 MB
1 MB
16 MB
4 GB
4 GB
4 GB
64 GB
64 GB
암달의 법칙
전체 시스템의 속도는 특정 시스템이 차지하는 비율에 비례하여 향상 메모리 속도가 느리면 CPU 가 향상되도 시스템
전체의 성능이 크게 향상되지 않음 . CPU:50 %, 2 배 향상 => 전체 시스템이 25% 향상
0.5 *1/2 = 0.25(25%)CPU 가 차지하는 비율은 25/(100-25) = 33%
• 2 배 향상 => 전체 시스템은 16.5% 향상 (0.33*1/2=0.165)