1. 컴퓨터의 기본구조 2. 정보의 표현과 저장 3. 시스템의 구성 4. 컴퓨터 구조의 발전 과정(역사) 제 1 장 컴퓨터 시스템 개요 1. 컴퓨터의 기본구조 2. 정보의 표현과 저장 3. 시스템의 구성 4. 컴퓨터 구조의 발전 과정(역사)
1.1 컴퓨터의 기본 구조 컴퓨터시스템의 구성 응용 소프트웨어 (application software) 시스템 소프트웨어(system software) 하드웨어(hardware)
컴퓨터 시스템 개요 사용자 응용 프로그램 운영체제 컴퓨터 하드웨어 컴퓨터 시스템 구성 (윈도우즈, 리눅스, 유닉스) (한글 워드프로세서, 엑셀, 게임 등) 운영체제 (윈도우즈, 리눅스, 유닉스) 컴퓨터 하드웨어 컴퓨터 시스템 구성
컴퓨터 하드웨어의 주요 요소들
Duo/Quad Processor
컴퓨터의 기본 구조
하드웨어와 소프트웨어 H/W(Hardware) S/W(Software) 정보(전기적 신호)들의 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 : 워드프로세서, 웹 브라우저 등
컴퓨터 시스템 개요 (구성요소) 컴퓨터 시스템은 기본적으로 이러한 시스템에 Hardware와 System software로 구성 이러한 시스템에 각종 Application software들이 탑재되어 여러 용도로 사용자들의 작업수행 Hardware CPU
CPU 속도란 과연 무엇인가 ? 700MHz, 1GHz, 3GHz CPU 란? - 과연 무엇을 의미하는 것인가
CPU 속도란 과연 무엇인가 ? CPU의 클럭(Clock) Cycle CPU는 클럭 신호에 따라 정해진 명령어를 실행 Hz 란?
CPU의 클럭 주기 시간(cycle time) 클럭주기시간(Cycle time) = 1 / 클럭 주파수(Hz) 예 :100MHz 사양을 갖는 CPU의 클럭 주기는 1/100M = sec = 10nsec
컴퓨터의 기본 구조 컴퓨터는 프로그램 코드들을 정해진 순서대로 실행 필요한 데이터를 읽어서(read), 처리(processing)하고, 저장(store)
컴퓨터의 개념 및 구성 컴퓨터 하드웨어구성 중앙처리장치(CPU) 주기억장치(Memory) 프로그램을 순차적으로 실행하여 자료 처리 연산기능 컴퓨터의 각 장치의 동작을 제어하는 기능 제어기능 주기억장치(Memory) CPU가 처리할 프로그램과 자료를 저장 보조기억장치(Secondary Memory) CPU가 당장 필요치 않은 프로그램이나 데이터 저장 입출력장치(I/O device) 사용자와 컴퓨터간의 대화 각 장치마다 별도의 제어기
정보의 표현과 저장 디지털 정보 표현 부호 없는 정수 표현의 예 (8-bit) 00000001 : 1 00000010 : 2 00000001 : 1 00000010 : 2 00000011 : 3 00100000 : 32 00100011 : 35 01000000 : 64 10000000 : 128
정보의 표현과 저장 디지털 정보의 (용)량 표현 방법 8개 bit 1024 Bytes 1024 KB 1024 MB 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) 고급언어 프로그램을 기계어 프로그램으로 번역하는 소프트웨어 어셈블러(assembler) 어셈블리 프로그램을 기계어 프로그램으로 번역하는 소프트웨어 니모닉스(mnemonics or pseudo) 어셈블리 명령어가 지정하는 동작을 개략적으로 짐작할 수 있도록 하기 위하여 사용된 기호 ‘LOAD’, ‘ADD’, ‘STOR’ 등
고급 언어 프로그램 번역 과정 LOAD X ADD Y STOR Z 메모리 X번지 내용을 레지스터 A로 읽어라 메모리 Y번지 내용과 레지스터 A에 저장된 값과 더하라 결과는 레지스터 A로. STOR Z 그 값을 메모리 Z번지에 저장하라. 고급 언어 프로그램 Z=X+Y 어셈블리 프로그램 LOAD X ADD Y STOR Z 기계어 프로그램 00100101 10000110 01000111 버스(BUS)
기계 명령어의 형식 연산 코드(op code) 오퍼랜드(operand) CPU가 수행할 연산을 지정해 주는 비트들 비트 수 = 3이면, 지정할 수 있는 연산의 최대 수는 23 = 8 오퍼랜드(operand) 적재될 데이터가 저장된 기억장치 주소 혹은 연산에 사용될 데이터 비트의 수 = 5이면, 주소 지정할 수 있는 기억장소의 최대 수는 25 = 32
LOAD X ADD Y STOR Z LOAD X ADD Y STOR Z Mnemonic(니모닉) Z=X+Y LOAD X 메모리 Y번지 내용과 레지스터 A에 저장된 값과 더하라.(결과는 레지스터 A에 남음) STOR Z 그 값을 메모리 Z번지에 저장하라. Mnemonic(니모닉) 고급 언어 프로그램 Z=X+Y 어셈블리 LOAD X ADD Y STOR Z 기계어 00100101 10000110 01000111 메인 메모리 Code부분 Data부분 LOAD X ADD Y STOR Z
시스템 구성 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 memory read 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 장치의 접속 CPU는 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 방식 컴퓨터 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) 제 2세대(1959-1964) 진공관 세대 회로 소자로 진공관 사용 S/W는 기계어 및 assembly 언어 사용 ENIAC, EDVAC, UNIVAC 제 2세대(1959-1964) 트랜지스터 세대 S/W는 COBOL, FORTRAN, ALGOL
컴퓨터의 세대구분(계속) 제3세대(1965-1974) 제4세대(1975-1984) 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 제조과정
컴퓨터시스템의 분류와 발전 방향 개인용 컴퓨터 임베디드 컴퓨터 (embedded computer) 중형급 컴퓨터 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 디지털데일리뉴스 링크