컴퓨터의 동작 방식 - 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가 향상돼도 시
스템 전체의 성능이 크게 향상되지 않음.