제 1 장 컴퓨터 시스템 개요

Download Report

Transcript 제 1 장 컴퓨터 시스템 개요

제1장
컴퓨터 시스템 개요
1.
2.
3.
4.
컴퓨터의 기본구조
정보의 표현과 저장
시스템의 구성
컴퓨터 구조의 발전 과정(역사)
1.1 컴퓨터의 기본 구조
컴퓨터시스템의 구성
응용 소프트웨어
(application software)
시스템 소프트웨어(system software)
하드웨어(hardware)
컴퓨터 시스템 개요
사용자
응용 프로그램
(한글 워드프로세서, 엑셀, 게임 등)
운영체제
(윈도우즈, 리눅스, 유닉스)
컴퓨터
하드웨어
컴퓨터 시스템 구성
컴퓨터 하드웨어의 주요 요소들
Duo/Quad Processor
컴퓨터의 기본 구조
하드웨어와 소프트웨어
 H/W(Hardware)
 정보(전기적 신호)들의 1) 전송 통로 제공, 그 정보에 대한
2) 처리가 실제로 발생하는 실체
 S/W(Software)
 정보들의 1)이동 방향과 2)정보처리 종류 지정, 그러한 동
작들이 3) 발생하게 하는 시간 지정해주는 명령어들의 집
합.(set of command = program)
 Program: a sequence of instruction for computer
 system software : OS(WinXP, Unix, Linux 등), compiler, driver
 application software : 워드프로세서, 웹 브라우저 등
컴퓨터 시스템 개요
(구성요소)
 컴퓨터 시스템은 기본적으로
Application Program
 Hardware와 System software
System Program
로 구성
ALU
Hardware
 이러한 시스템에
 각종 Application software들
Input Device
Memory
Register
Output Device
이 탑재되어 여러 용도로 사용
자들의 작업수행
Control Unit
CPU
CPU 속도란 과연 무엇인가 ?
700MHz, 1GHz, 3GHz CPU 란?
- 과연 무엇을 의미하는 것인가
CPU 속도란 과연 무엇인가 ?
CPU의 클럭(Clock) Cycle
 CPU는 클럭 신호에 따라 정해진 명령어를 실행
 클럭 주기가 빠를 수록 CPU는 명령어를 더욱 빨
리 실행할 수 있다.
C y c le Tim e
 Hz 란?
CPU의 클럭 주기 시간(cycle time)
CPU 사양에 제시된 클럭 주파수의 역
클럭주기시간(Cycle time) = 1 / 클럭 주파수(Hz)
예 :100MHz 사양을 갖는 CPU의 클럭 주기는
1/100M =
10
8 sec
= 10nsec
C y c le Tim e
컴퓨터의 기본 구조
컴퓨터는 프로그램 코드들을 정해진 순서대
로 실행
필요한 데이터를 읽어서(read), 처리(processing)
하고, 저장(store)
컴퓨터의 개념 및 구성
 컴퓨터 하드웨어구성
 중앙처리장치(CPU)
 프로그램을 순차적으로 실행하여 자료 처리
•
연산기능
 컴퓨터의 각 장치의 동작을 제어하는 기능
•
제어기능
 주기억장치(Memory)
 CPU가 처리할 프로그램과 자료를 저장
 보조기억장치(Secondary Memory)
 CPU가 당장 필요치 않은 프로그램이나 데이
터 저장
 입출력장치(I/O device)
 사용자와 컴퓨터간의 대화
 각 장치마다 별도의 제어기
정보의 표현과 저장
디지털 정보 표현
부호 없는 정수 표현의 예 (8-bit)







00000001
00000010
00000011
00100000
00100011
01000000
10000000
:
1
:
2
:
3
: 32
: 35
: 64
: 128
정보의 표현과 저장
 디지털 정보의 (용)량 표현 방법
8개 bit
 1 Byte
1024 Bytes
 1 KiloByte(1 KB)
1024 KB
 1 MegaByte(1 MB)
1024 MB
 1 GigaByte(1 GB)
1024 GB
 1 TeraByte(1 TB)
디지털 정보 표현
 예) 다음 그림은 메인 메모리 (RAM)과 하드디스크
(Disk C:)에 대한 크기 용량을 나타낸다.
정보의 표현과 저장
컴퓨터가 받아들이고 처리하는 정보의 종
류로는 Program Code, Data로 나뉜다.
컴퓨터 내부에서의 표현은 machine code
binary number로 구성 : bit들의 조합
컴퓨터는 고급언어를 어떻게 수행되나 ?
고급언어를 Compile함.
• Assembly Language로 변환됨
Assembler에 의해
• Machine Code로 변환됨
CPU가 Machine Code를 수행
프로그램 언어 번역 소프트웨어
컴파일러(compiler)
고급언어 프로그램을 기계어 프로그램으로 번
역하는 소프트웨어
어셈블러(assembler)
어셈블리 프로그램을 기계어 프로그램으로 번
역하는 소프트웨어
니모닉스(mnemonics or pseudo)
어셈블리 명령어가 지정하는 동작을 개략적으로 짐
작할 수 있도록 하기 위하여 사용된 기호
‘LOAD’, ‘ADD’, ‘STOR’ 등
고급 언어 프로그램 번역 과정
 LOAD X
메모리 X번지 내용을
레지스터 A로 읽어라
 ADD
Y
메모리 Y번지 내용과
레지스터 A에 저장된
값과 더하라
고급 언어
프로그램
어셈블리
프로그램
기계어
프로그램
Z=X+Y
LOAD X
ADD Y
STOR Z
00100101
10000110
01000111
 결과는 레지스터 A로.
 STOR
Z
그 값을 메모리 Z번지
에 저장하라.
버스(BUS)
기계 명령어의 형식
연산 코드(op code)
CPU가 수행할 연산을 지정해 주는 비트들
비트 수 = 3이면, 지정할 수 있는 연산의 최대 수는 23 = 8
오퍼랜드(operand)
적재될 데이터가 저장된 기억장치 주소 혹은 연산에 사용될
데이터
비트의 수 = 5이면, 주소 지정할 수 있는 기억장소의 최대
수는 25 = 32
Mnemonic(니모닉)
LOAD X
메모리 X번지 내용을 레지스
터 A로 읽어라
ADD Y
메모리 Y번지 내용과 레지스
터 A에 저장된 값과 더하라.(결
고급 언어
프로그램
어셈블리
프로그램
기계어
프로그램
Z=X+Y
LOAD X 00100101
ADD Y 10000110
STOR Z 01000111
과는 레지스터 A에 남음)
STOR Z
그 값을 메모리 Z번지에 저장
하라.
LOAD X
ADD Y
STOR Z
메인 메모리
Code부분
Data부분
0
1
2
…
5(X)
6(Y)
7(Z)
00100101
10000110
01000111
00011011
11010111
…..
시스템 구성
(CPU, 주기억장치가 어떻게 서로 연결 되어 있는 가?)
 CPU와 기억장치의 접속
CPU와 시스템 내의 여러 요소들 사이에 정보를 교환하는
통로가 되는 버스를 시스템 버스(System Bus)라고 한다.
 Address Bus (주소 버스)
• CPU가 접속할 수 있는 최대기억공간
 예) 32bit 주소 버스
 Data Bus (데이터 버스)
• CPU가 한번에 기억장치와의 데이터 전송
 예) 64bit 데이터 버스
 Control Bus (제어 버스)
• CPU가 시스템내의 각종요소 동작 제어
시스템 버스
(System Bus 또는
FSB : Front Side Bus)
 데이터 버스
데이터 전송
 예) 64bit
 주소 버스
메모리 위치 지정
 예) 32bit
 제어 버스
R/W 신호
버스 요구/승인 신호
시스템 버스
 액세스(Access)
CPU가 메모리에 데이터를 write하거나 read 동작을
말함
주기억 장치
 RAM(Random Access Memory)
CPU가 메모리를 access하는데 필요한 BUS
주소 버스 - read/write를 위한 메모리 주소 통로
데이터 버스 - CPU와 메모리 사이의 데이터 통로
제어버스 - 각종 소자들의 동작을 제어
• 장치선택, read/write 신호 선택등
시스템 버스
 memory write time
 CPU가 주소와 데이터를
보낸 순간 부터 저장이 완
료될 때까지 걸리는 시간
 memory read time
 CPU가 필요한 데이터를
얻기 위해 메모리로 주소
를 보내고, 그 데이터를 얻
는데 까지 걸리는 시간
버스(BUS)
CPU와 I/O장치와의 접속
 I/O장치 즉, 디스크, 프린터, 그래픽 모니터등은 다음과
같은 이유로 직접 시스템 버스에 접속하지 못한다.
 CPU 속도에 비해 I/O는 매우 느리다. (buffer 기능)
 CPU가 이들 모든 종류 에 대해 직접 제어 불가능
 I/O 장치들의 종류에 따른 다양한 동작 제어
 사용되는 데이터 형식 및 길이가 서로 다르다
 따라서 인터페이스가 필요(Interface)
 I/O controller 라고도 함.
I/O 장치의 접속
 Interface ?
 memory나 CPU와 같은 내부장치와
외부 입출력 장치간의 2진 정보를 전
송하기 위한 회로
 CPU는 I/O 장치의 제어기가 수행
할 명령전송, 상태정보와 데이터를
주고 받음
 레지스터(상태, 데이터)를 1개
word의 기억장치로 간주 주소 지정
I/O 장치와의 접속
키보드와 프린터가 제어기를 통하여 시스
템 버스와 접속하는 방법
<키보드입력 예>
CPU와 보조저장장치의 접속
 보조저장장치들(디스크, 플로피 디스켓, CD-ROM
등)도 각 장치를 위한 제어기를 통하여 키보드나 프
린터와 유사한 방법으로 접속
 차이점 : 데이터 전송 단위
키보드, 프린터 : 바이트(8 비트) 단위로 전송
보조저장장치 : 블록(512/1024/4096 바이트) 단위로 전송
 제어기 내에 한 블록 이상을 임시 저장할 수 있는 데이
터 버퍼 필요
트랙 버퍼(track buffer)
• 하드 디스크상의 한 트랙의 내용을 모두 저장할 수 있는 디스
크 제어기내의 데이터 버퍼
전체 시스템의 구성
(컴퓨터 수행 동작)
 데이터 이동
 디스크 또는 CD에 저장되어 있는
프로그램과 데이터를 주기억장치로
이동
 프로그램 수행
 CPU가 주기억장치로 부터 프로그
램을 읽어서 실행
 데이터 저장
 계산 결과를 주기억장치에 저장
 데이터 입출력
 Keyboard 로 명령을 읽어 들인다.
 메모리 내용을 printer로 출력한다.
 제어
 프로그램이 순서대로 실행되도록
또는 필요에 따라 실행 순서를 변경
하도록 조정하며, 각종 제어 신호들
을 발생
컴퓨터 구조의 발전 과정
 기계식 계산기
 17세기(1642년) Pascal(프)에 의해 4칙연산을 톱니바퀴 방식 이용 계산
 19세기(1823년) Charles Babbage(영)에 의해 Difference Engine이용
자동계산
 Analytic Engine을 개발: CPU, Memory, I/O장치 포함, 프로그래밍 가능
 현대 컴퓨터의 개념 도입
컴퓨터 구조의 발전 과정
 전기기계식 계산기
 1944년 Aiken의 Mark I (최초의 전기 기계식 계산기)
 전자식 계산기 (컴퓨터)
 1946년 진공관을 이용한 최초의 전자계산기 ENIAC (Electronic
Numerical Integrator and Computer)
세계 최초의 전자식 컴퓨터
 ENIAC
Electronic Numerical
Integrator And Computer
세계 최초의 전자식 컴퓨터
1900개의 진공관 사용
 1946년 펜실베니아대학
컴퓨터 구조의 발전 과정
 Stored-program 방식의 컴퓨터
폴란드 수학자 von Neumann
 프로그램을 컴퓨터 내부에 저장하고, 데이터가 주어지
면 저장된 프로그램 명령어를 차례로 하나씩 수행하는
방식
 프로그램의 수정이 쉽고 공동으로 사용
 2진수 체제 사용 (Binary number system)
Stored Program 방식 컴퓨터
 프로그램과 데이터를 기억장치에 저장하고 변경할 수 있
게 하는 Stored-Program방식의 컴퓨터 개발
von Neumann (폰노이만)-현재의 컴퓨터개념
EDSAC(Electronic Delay Storage Automatic Computer)
• 1946년 켐브리지대학교
• Stored-program 방식을 채택한 최초의 컴퓨터
EDVAC(Electronic Discrete Variable Computer)
• 1951년 펜실베니아대학교
IAS(Institute for Advanced Study) 개발
• 1952년 프린스턴대학교
최초의 상업용 컴퓨터
UNIVAC-I
1951년 개발
최초의 상업용 컴퓨터
1954년 General Electric Park에서 설치
컴퓨터의 세대 구분
제1세대(1942-1958)
진공관 세대
회로 소자로 진공관 사용
S/W는 기계어 및 assembly 언어 사용
ENIAC, EDVAC, UNIVAC
제 2세대(1959-1964)
트랜지스터 세대
S/W는 COBOL, FORTRAN, ALGOL
컴퓨터의 세대구분(계속)
제3세대(1965-1974)
H/W로 IC(Integrated Circuit) 사용
수십-수백개 트랜지스터를 갖는 회로
S/W로 PL/I, PASCAL, BASIC 사용
제4세대(1975-1984)
LSI(Large Scale Integrated Circuit) 사용
수천-수만개 트랜지스터를 갖는 회로
APPLE II, IBM PC등 Personal Computer세대
컴퓨터의 세대구분(계속)
 제5세대(1985- 현재)
VLSI(Very Large Scale Integrated Circuit)
 수만-수십만 개의 TR을 집적
 마이크로 프로세서
ULSI(Ultra Large Scale IC)
 수백만 개의 TR 집적
네트워크 발달 (LAN, ISDN등)
PC, 응용 S/W Package
IC 제조과정
컴퓨터시스템의 분류와 발전 방향
 개인용 컴퓨터
 Personal Computer (PC)
 임베디드 컴퓨터 (embedded computer)
 프로세서,메모리 및 I/O등이 하나의 chip에 집적
 Real time OS
 Ubiquitous computing 설비에 사용
 중형급 컴퓨터
 Work Station급 컴퓨터 (예, SUN Unix 시스템)
 Main frame 컴퓨터
 down sizing으로 인해 사용률이 낮아지고 있다.
 Supercomputer
 Pipelined computer (Cray, 그림 참조)
 Massively parallel computer (MPP) (그림1-14)
 Cluster computer (그림 1-16)
다중 프로세서 시스템
(Mutiprocessor System)
최근 Super Computer 예
디지털데일리뉴스 링크
Cray