컴퓨터의 동작 방식 - echosf.net
Download
Report
Transcript 컴퓨터의 동작 방식 - echosf.net
4. 컴퓨터의 동작방식
2007년 1학기 전산학개론
성신여자대학교 컴퓨터정보학부
컴퓨터의 동작 방식 (revisit)
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
8 bits = 1 byte 2 =256가지의 정보를 표현
워드(word): 컴퓨터의 데이터 처리 단위
데이터의 종류
문자의 표현
문자 하나를 숫자 하나에 대응시킴 코드 테이블을 이용
Codes
ASCII (American Standard Code for Information
Interchange) by ANSI (American National Standards
Institute)
Extended ASCII
EBCDIC by IBM
Unicode
UTF (Unicode Transformation Format) encodings
UCS (Universal Character Set) encodings
ISO (International Organization for Standardization)
ASCII Table
한글 문자의 표현
조합형 코드
초성, 중성, 종성을 각각
5bit로 표현
1 000 1 0 0 0 0 1 1 1 0 1 11
초성 ‘ㄱ’ 중성 ‘ㅏ’
영어 = 0
한글 = 1
종성 ‘ㅇ’
완성형 코드
약 3000자의 글자를 순서
대로 배열한 후 번호를 매
김
숫자
(16 진수 )
B0A1
가
B0A2
각
B0A3
간
...
현재 유니 코드
문자
...
숫자의 표현
숫자 정수, 실수
정수의 표현
2진수로 표현됨
3 bit로 표현할 수 있는 숫자: 0~7 (8개)
사용되는 비트 수는 형식에 따라 정해짐
정수의 표현
부호 없는 정수 (unsigned integer)
할당되는 비트 수 N
표현 가능한 값의 범위: 0 ~ (2N-1)
예) N = 8 bits 0 ~ 255
부호 있는 정수 (signed integer)
할당되는 비트 수 N
표현 가능한 값의 범위
-(2N-1-1) ~ +(2N-1-1) or -(2N-1) ~ +(2N-1-1)
Sign-and-magnitude / One’s complement
Two’s complement
예) 8 bits
-127 ~ +127 or -128 ~ +127
음수의 표현
1의 보수 형식 (1’s complement representation)
2의 보수 형식 (2’s complement representation)
부동 소수점 수(floating-point number)의 표현
실수 = 정수 + 소수
소수의 이진수 변환
부동 소수점 수의 표현
정규화(normalization)
실수 연산 용이
소수점 왼쪽에 오직 하나의 1을 갖도록 조절
부호 + 지수(exponent) + 가수(mantissa)
부동 소수점 저장 방법
단정도 (single-precision)
배정도 (double-precision)
8진수, 16진수 표현
편의를 위해 사용
그림의 표현
이미지 표현 방법
비트맵 (bitmap)
벡터 (vector)
비트맵 표현 방법
소리의 표현
양자화
명령어의 표현
컴퓨터마다 이진수로 표현되는 명령어(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 성능 향상 기술
성능 향상의 기법
CISC / RISC
Pipelining
Superscalar / VLIW
CPU 예 : Intel
무어의 법칙
암달의 법칙
명령어 구현
CISC
Complex Instruction Set
Computer
복잡한 내부 명령어를 많
이 가짐
필요에 따라 여러 명령어
집합을 제공
RISC
Reduced Instruction Set
Computer
필수적인 명령어만 제공
함 (CISC의 30%)
명령어의 조합을 통해 복
잡한 작업 수행
Pipeline을 통해 속도 향
상을 꾀함
Pipeline
명령어를 몇 개의 수행 단계로 나누어서 각 단계를
하나의 클럭 사이클에 수행
명령어의 수행 단계들을 동시에 처리
일종의 병렬처리
명령어의 수행 시간이 균등할수록 효과적임
5 단계 Pipeline
1 단계 : Instruction Fetch
2 단계 : Instruction Decode
명령어 실행
ID
IF
M EX ID
IF
WB M EX ID
읽거나 쓸 메모리 특정 위치에 접근
5 단계 : Write Back
IF
EX ID
4 단계 : Memory access
명령어를 해석
3 단계 : Execution
명령어를 메모리에서 가져옴
IF
IF
WB M EX ID
WB M EX
레지스터에 다시 씀
WB M
WB
Superscalar / VLIW
동시에 여러 명령어 수행 명령어들간의 의존성 존재
명령어 A의 결과를 B에서 사용하게 될 때, A와 B의
수행이 동시에 처리되기 어렵다.
의존성 해결 방법
Superscalar: 의존성을 하드웨어가 검사
VLIW (Very Long Instruction Word)
여러 명령어를 합쳐서 동시에 실행 가능한 하나
의 큰 명령어를 생성
Other CPU Technology
MMX (Intel, 1997)
3DNow! (AMD, 1998)
인텔 칩의 역사
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개월 만에 두 배가 된
다는 법칙
Amdahl’s Law
시스템의 특정부분 (e.g. CPU)의 속도 향상이 전체
시스템의 속도 향상으로 비례적으로 이어지지 않는
다.
메모리 속도가 고정된 상태에서 CPU가 향상돼도 시
스템 전체의 성능이 크게 향상되지 않음.