
268c9c133326b8277ed541b654ed2bdc.ppt
- Количество слайдов: 38
제 1장. Computer System의 개요
o Computer. System의 구성 ◈ 하드웨어(Hardware) ◈ 소프트웨어(Software) m 시스템소프트웨어(System Software) : OS(DOS, Windows, Unix, Linux, RTOS, Device Driver, Web Server, BIOS, Assembler, Compiler, Link, Liberian 등) m 응용 소프트웨어(Application Software) : Wordprocessor, 파워포인트 등 ◈ 펌웨어(Firmware) o Hardware: Computer 정보들의 전송통로(Bus)를 제공해 주고, 그 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들. ▶ Fig. 1 -1. Computer Hardware의 주요 요소들 중앙처리장치 : Pentium, Ultra. Sparc, MIPS R 8000 등 Computer Hardware 기억장치 주기억장치 : RAM, ROM 보조기억장치 : Disk, CD-ROM 등 입출력장치 입력장치 : 키보드, 마우스 등 출력장치 : Printer, CRT, 스피커 등 전원공급장치, UPS(무정전전원공급장치), 냉각송풍기 o Software: 정보들이 이동하는 방향과 정보 처리의 종류를 지정해주고, 그러한 동작들이 일어나는 시간을 지정해주는 명령(Command)들의 집합.
제 1장. Computer System 개요 1. 1 Computer의 기본 구조 1. 2 정보의 표현과 저장 1. 3 System의 구성 1. 4 Computer 구조의 발전 과정
o Computer의 기본 기능 ◈ Program을 실행하며, 그 과정에서 (1) 필요한 Data를 읽고(Read), (2) 처리(Processing)하며, (3) 저장(Store)한다. ▶ Fig. 1 -2. Computer의 기본 구조
o중앙처리장치(Central Processing Unit: CPU): 'Program 실행'과 'Data 처리'라는 중추적인 기능의 수행을 담당하는 요소이며, 프로세서(processor) 라고 불리기도 한다. o기억장치(Memory; 또는 저장장치(Storage Device)): CPU가 실행할 Program과 Data를 저장하는 장치. (1) 주기억장치(Main Memory): CPU 가까이 위치하며 반도체 기억장치 Chip들로 구성. m 액세스 속도가 빠르다. m 가격이 비싸고 면적을 많이 차지하기 때문에 저장 용량을 크게 할 수 없다. m 영구 저장 능력이 없기 때문에 Program 실행 중에 일시적으로만 사용된다. (2) 보조저장장치(Auxiliary Storage Device; 2차 기억장치(Secondary Memory): Disk나 자기 테이프(Magnetic Tape) 등과 같이 영구 저장 능력을 가 진 저장장치. m 저장 밀도가 높고, bit당 가격이 낮다. m 기계적인 장치가 포함되기 때문에 속도가 느리다. o입출력장치(I/O device): 사용자와 Computer간의 대화를 위 한 도구.
제 1장. Computer System 개요 1. 1 Computer의 기본 구조 1. 2 정보의 표현과 저장 1. 3 System의 구성 1. 4 Computer 구조의 발전 과정
o Computer 정보: 2진수 bit들로 표현된 Program 코드와 Data. o Program 코드 ◈ 고급 언어 Program: C, PASCAL, FORTRAN, COBOL 등과 같은 고급 언어를 이용하여 작성된 Program. ◈ 기계어(machine language): Computer Hardware 부품들이 이해할 수 있는 언어로서 2진수 bit(1과 0)들로 이루어지며, 기계 코드(machine code)라고도 함. ◈ Assembly Program: 고급 언어와 기계어 사이의 중간 언어인 Assembly 언어(assembly language: 혹은 Assembly 명령어(assembly instruction)로 작성된 Program. ▶ Fig. 1 -3. 고급-언어 Program이 기계어 Program으로 번역되는 과정 (예) Z = X + Y LOAD A, X ADD A, Y STOR Z, A 00100101 10000110 01000111
o. Assembly Program의 예(Fig. 1 -3 하단) ◈ LOAD A, X ; 기억장치 X 번지의 내용을 읽어서 Register A에 저장하라. ◈ ADD A, Y ; 기억장치 Y 번지 내용을 읽어서 Register A에 저장된 값과 더하고, 결과 를 다시 A에 저장하라. ◈ STORE Z, A ; 그 값을 기억장치 Z 번지에 저장하라. o컴 파 일 러 (Compiler): 고 급 언 어 Program을 기 계 어 Program으로 번역하는 Software. o어 셈 블 러 (assembler): Assembly Program을 기 계 어 Program으로 번역하는 Software. o기계 명령어 형식의 예: 연산 001 코드 오퍼랜드 00101 ◈ 연산 코드(op code): CPU가 수행할 연산을 지정해 주는 bit들. m bit 수 = 3이면, 최대 23 = 8 가지의 연산들 지정 가능. ◈ 오퍼랜드(operand): 연산에 사용될 Data 혹은 Data가 저장된 기억장치 Address. m Address bit의 수 = 5이면, Address지정할 수 있는 기억장소의 수는 25 = 32
o 단어(word): CPU가 기본 연산 과정에서 한 번에 처리할 수 있는 bit 들의 그룹. o Program 코드와 Data가 기억장치에 저장된 예 ▶Fig. 1 -4. Program과 Data가 기억장치에 저장된 모습
제 1장. Computer System 개요 1. 1 Computer의 기본 구조 1. 2 정보의 표현과 저장 1. 3 System의 구성 1. 4 Computer 구조의 발전 과정
1. 3. 1 CPU와 기억장치의 접속 o. System Bus(시스템버스): CPU와 System 내의 다른 요소들 사이에 정 보를 교환하는 통로. ◈ Address Bus(주소버스): CPU가 외부로 발생하는 Address 정보를 전송하는 신호 선들의 집합. Address 선들의 수는 CPU와 접속될 수 있는 최대 기억장치 용량을 결정. (예) Address Bus의 bit 수 = 16 bit라면, 최대 216 = 64 K 개의 기억 장소들의 Address를 지정할 수 있다. ◈ Data Bus(데이터버스): CPU가 기억장치 혹은 I/O 장치와의 사이에 Data를 전 송하기 위한 신호 선들의 집합. Data 선들의 수는 CPU가 한 번에 전송할 수 있 는 bit 수를 결정. (예) Data Bus 폭 = 32 bit라면, CPU가 기억장치로부터 한 번에 32 bit씩 읽어 올 수 있다. ◈ Control Bus(제어버스): CPU가 System 내의 각종 요소들의 동작을 제 어하기 위한 신호 선들의 집합. (예) 기억장치 읽기/쓰기(Memory Read/Write) 신호 I/O 읽기/쓰기(I/O Read/Write) 신호
▶Fig. 1 -5. CPU와 System Bus들 ◈ Address가 CPU로부터 기억장치 혹은 I/O 장치들로 전송되는 정보이기 때문에 Address Bus는 단방향성(unidirectional bus)이다. ◈ Data Bus는 읽기와 쓰기를 모두 해야 하므로 양방향 전송(bidirectional transfer)이 가능해야 한다.
o CPU - 반도체 기억장치의 접속 ▶Fig. 1 -6. CPU와 기억장치의 접속 o 기억장치 쓰기 동작(Memory Write): CPU가 Data를 저장할 기억 장소의 Address와 저장할 Data를 각각 Address bus와 Data bus를 통하여 보내면서 동시에 쓰기신호(Write)를 활성화시킨다. ◈ 기억장치 쓰기 시간(Memory Write Time): CPU가 Address와 Data를 보낸 순간부터 저장이 완료될 때까지의 시간.
o 기억장치 읽기(Memory Read)동작 m CPU가 Memory Address를 Address. Bus를 통하여 보내고 읽기신호 (Read)를 활성화시킨다. m 일정 지연 시간이 경과한 후에 기억장치로부터 읽혀진 Data가 Databus 상에 실린다. m CPU는 그 Data를 Bus. Interface 회로를 통하여 읽어 들인다. ◈ 기억장치 읽기 시간(Memory Read Time): Address를 해독(Decode)하 는 데 걸리는 시간과 지정된 기억소자들로 부터 Data를 읽는 데 걸리는 시간을 합한 시간. ▶Fig. 1 -7. 기억장치 액세스 동작의 시간 흐름도 읽
1. 3. 2 CPU와 I/O 장치의 접속 o 방법: I/O 장치 제어기를 System Bus에 접속하고, 그 제어기를 통 하여 I/O 장치를 연결한다. o I/O 장치 제어기(I/O Device Controller) : CPU로부터 I/O 명령을 받아서, 해당 I/O 장치를 제어하고 Data를 이동함으로써 명령을 수 행하는 전자회로 장치. [예] Printer 제어기, 키보드 제어기, 등. ◈ 주요 요소들 m 상태 Register: I/O 장치의 현재 상태를 나타내는 bit들을 저장한 Register. (예) 준비 상태(RDY) bit, Data 전송확인(ACK) bit m Data Register: CPU로부터 I/O 장치로 (혹은 반대 방향으로) 이동되 는 Data를 일시적으로 저장하는 Register.
o 키보드와 Printer가 각각 제어기를 통하여 System Bus와 접속된 예 ▶Fig. 1 -8. CPU와 I/O 장치들 간의 접속 o 키보드로부터 Data를 입력하는 과정 키보드의 어떤 한 키( key)를 누르면, 그 키에 대응되는 ASCII 코드가 I/O 제어기의 Data Register에 저장되고, 동시에 상태 Register의 In_RDY bit가 1로 set된다.
◈ CPU는 (1) I/O 제어기로부터 상태 Register의 내용을 읽어서 In_RDY bit가 set 되었는지 검사한다. (In_RDY bit는 Data Register에 외부로부터 Data 가 적재되었는지를 나타낸다. ) (2) 만약 set되지 않았으면, (1)번을 반복하며 기다린다. 만약 set되었다 면, Data Register의 내용을 읽어온다. ▶Fig. 1 -9. 키보드 Data 입력 과정의 흐름도
o Printer로 Data를 출력하는 과정 ◈ CPU는 (1) Printer 제어기내 상태 Register의 내용을 읽어서 Out_RDY bit가 set 되었는지 검사한다. (Out_RDY bit는 Printer가 출력할 준비가 되었는 지를 나타낸다. ) (2) 만약 set되지 않았으면, (1)번을 반복하며 기다린다. 만약 set되었다면, Print할 Data를 I/O 제어기내의 Data Register에 쓴다. ◈ Printer 제어기는 Data Register의 내용을 Printer로 보내고, Printer의 Hardware를 제어하여 Print시킨다.
◈ 보조저장장치들(Hard Disk, Floopy Disk, CD-ROM 등)도 각 장치를 위 한 제어기를 통하여 이와 유사한 방법으로 접속. <차이점> m 키보드, Printer: Data 전송 단위 = Byte(8 bit) m 보조저장장치: 블록(512 Byte, 1024 Byte, 또는 4096 Byte) 단위로 전 송. ⇒ 제어기 내에 적어도 한 블록 이상을 임시 저장할 수 있는 Data Buffer 필요. (예) Disk 제어기에는 Disk의 한 Track 내용을 저장할 수 있는 Track Buffer buffer가 있다.
1. 3. 3 전체 System의 구성 ▶Fig. 1 -10. Computer System의 전체 구성도
o Computer의 기본적인 기능들 ◈ Program 실행: CPU가 주기억장치로부터 Program 코드를 읽어서 실 행한다. ◈ Data 저장: Program 실행 결과로서 얻어진 Data를 주기억장치에 저장 한다. ◈ Data 이동: Disk 혹은 CD-ROM에 저장되어 있는 Program과 Data 블록 을 기억장치로 이동한다. ◈ Data 입력/출력: 사용자가 키보드를 통하여 보내는 명령이나 Data를 읽 어 들인다. 또한 CPU가 처리한 결과 값이나 기억장치의 내용을 출력장 치(Printer, 혹은 Monitor)로 출력한다. ◈ 제어: Program이 순서대로 실행되도록 또는 필요에 따라 실행 순서를 변경하도록 조정하며, 각종 제어 신호들을 발생한다.
제 1장. Computer System 개요 1. 1 Computer의 기본 구조 1. 2 정보의 표현과 저장 1. 3 System의 구성 1. 4 Computer 구조의 발전 과정
1. 4. 1 초기 Computer들의 구조 o 주요 부품들의 발전 과정 ◈ 릴 레 이 (Relay) → Transistor → 반 도 체 집 적 회 로 (IC: Integrated Circuit) ⇒ 처리속도 향상, 저장용량 증가, 크기 감소, 가격 하락, 신뢰도 향상 ◈ 초 기 Computer들 의 근 본 적 인 설 계 개 념 과 동 작 원 리 가 현 대 의 Computer들과 거의 같음.
Computer의 발전 역사 o 최초의 Computer: 1642년, 프랑스의 철학자이며 과학자였던 Blaise Pascal에 의하여 개발. ◈ 덧셈과 뺄셈을 수행하는 기계적 카운터. ◈ 다이얼의 위치에 의하여 십진수를 표시하는 6개의 원형판 set들로 구성. ◈ 각 원형판은 일시적으로 숫자를 기억하는 Register로 사용. o Leibniz의 기계: Gottfried Leibniz(독일)이 1671년에 개발. ◈ 덧셈과 뺄셈 및 곱셈과 나눗셈도 할 수 있는 계산기. ◈ Pascal의 계산기에 두 개의 원형판들을 추가하여 반복적 방법으로 곱셈 과 나눗셈을 수행. ◈ 이후 많은 기계들의 조상이 됨. o Difference Engine: 19세기초, 현대 Computer의 할아버지로 불리는 Charles Babbage(영국)에 의해 개발. ◈ 표에 있는 수들을 자동적으로 계산하고, 그 결과를 금속천공기를 거쳐 서 Print. ◈ 덧셈과 뺄셈만 수행 가능.
o Analytical Engine: Charles Babbage(영국)에 의해 개발. ◈ 어떤 수학 연산도 자동적으로 수행할 수 있는 일반 목적용 계산 기계. ◈ 주요 구성 요소들 m Mill : 산술연산장치 m Store : 기억장치 m 입력장치: 카드판독기 m 출력장치: Printer, 카드 천공기 ▶Fig. 1 -11. Analytic Engine의 기본 구조
◈ 주요 특징들 (1) 일반 목적용 (2) 프로그래밍 가능: Program 언어 사용 (3) Program의 실행 순서 변경 가능. ▶수의 부호 검사를 이용한 조건 분기 ▶제어카드 이용을 이용한 실행 순서 변경 ◈ 문제점: 주요 부품들이 모두 기계적인 장치들이었기 때문에 속도가 느 렸고 신뢰도가 낮다. o ENIAC(Electronic Numerical Integrator And Computer): 1960년 대초에 폰 노이만(Von Neumann)이 펜실바니아 대학에서 개발한, 진공관 을 사용한 최초의 전자식 Computer. ◈ 문제점: Program의 저장과 변경 불가능 ◆ 폰 노이만의 설계 개념 (Stored-program 개념) o 2진수 체계(Binary number system)를 사용 한다. o Program과 Data를 내부에 저장 한다. o EDVAC(Electronic Discrete Variable Computer): 폰 노이만 개 념을 이용하여 1945년 개발된 System.
o IAS Computer: 1952년에 완성된 새로운 ‘Stored-Program' Computer 개발. ◈ 주요 구성요소들: m Program 제어 유니트(CU: Program Control Unit): 주기억장치로부 터 명령어들을 한 개씩 가져와서 실행 m 산술논리연산장치(ALU) m 주기억장치: 명령어와 Data를 모두 저장 m 입출력장치 ◈ 주요 특징: 주기억장치로부터 한 번에 두 개씩의 명령어 인출. 그 중의 하나는 즉 시 Program 제어장치(CU)로 보내져서 실행되며, 다른 하나는 일단 명령어 Buffer에 저장되어 있다가 다음 명령어 실행 사이클에서 실행. 최근 Processor들의 명령어 선인출(Instruction Prefetch)과 같은 개념.
▶Fig. 1 -12. ISA Computer의 구조 o 폰 노이만 구조(von Neumann Architecture): Program 코드들을 기억장치에 저장된 순서대로 실행하며, 그 Address는 CPU의 내부 Register인 Program 카운터(program counter)에 의하여 지정.
1. 4. 2 주요 Computer 부품들의 발전 경위 o Transistor(transistor): 초기(제 1세대) 전자식 Computer의 핵심 부품인 진공관을 대체한 전자 부품. ◈ 진공관보다 작고 싸며 더 적은 열을 발산. ◈ 반도체 재료인 실리콘(Si)으로 만들어진 고체(solid-state) 장치. ◈ 제 2세대 Computer로 분류됨. (비교: 제 1세대 Computer들의 부품은 진 공관) ◈ 초기 Computer들은 약 1000 개의 Transistor들로 구성. o 집적 회로(Integrated Circuit: IC): 수만개 이상의 Transistor들을 하나의 반도체 Chip에 집적시킨 전자 부품. ◈ 제 3세대 Computer로 분류됨.
◈ IC의 제조 과정 ▶Fig. 1 -13. IC Chip의 제조 과정
◈ 집적도에 따른 IC의 분류 m SSI(Small Scale IC): 수십 개의 Transistor들이 집적되는 소규모 IC 로서, 최근에는 주로 기본적인 Digital Gate들을 포함하는 Chip으로 제조되고 있다. m MSI(Medium Scale IC): 수백 개의 Transistor들이 집적되는 IC로서, 카운터(counter), 해독기(Decoder) 또는 Shift Register와 같은 조합 회로나 순차 회로를 포함하는 Chip으로 제조되고 있다. m LSI(Large Scale IC): 수천 개의 Transistor들이 집적되는 LSI로서, 8 bit Microprocessor Chip이나 소규모 반도체 기억장치 Chip들이 이 분류에 속한다. m VLSI(Very Large Scale IC): 수만 내지 수십만 개 이상의 Transistor 들이 집적되는 LSI로서, Microprocessor Chip들과 대용량 반도체 기 억장치 Chip들이 이 분류에 속한다. m ULSI(Ultra Large Scale IC): 수백만 개 이상의 Transistor들이 집적 되는 32 -bit급 이상 Microprocessor Chip들과 수백 Mb 이상의 반도체 기억장치 Chip들 및 앞으로 출현할 고밀도 반도체 Chip들을 지칭하 기 위한 용어지만, 아직 일반적으로 통용되는 용어는 아니다.
◈ IC 사용에 따른 이점 m 전기적 통로가 짧아짐으로써 동작 속도가 크게 상승. m Computer 크기의 감소. m 회로들 간의 상호 연결이 Chip 내부에서 이루어지므로 부품들의 신 뢰성 향상. m 전력 소모 감소 및 냉각 장치의 소형화. m Computer 가격 하락. ◈ 제 4세대 Computer 시대가 시작됨. m 개인용 Computer 출현 m 초고속 Super Computer 개발
1. 4. 3 Computer System의 분류와 발전 동향 (1) 개인용 Computer(Personal Computer: PC) ◈특 징 m 소형, 저가 m 성능: 십년 전의 대형 Mainframe Computer의 성능을 능가. ◈ 주요 발전 동향 m 매 2 ~ 3 년마다 성능이 개선된 새로운 Microprocessor가 등장하고, 그에 따 라 새로운 PC 모델 출현. m 주변 요소들(Cache, MMU, Floating Point Processor: 산술보조프로세서 등) 이 CPU Chip에 내장됨에 따라 속도 및 신뢰도가 향상. m CPU 구조가 다수의 ALU들 혹은 명령어 실행 유니트들을 포함하는 슈퍼스 칼라(Super Scalar) 구조로 발전함에 따라, 여러 명령어들의 동시 실행 가능. m 분기 예측(Branch Prediction), 동적 실행(Dynamic Execution) 기법 등이 사 용됨에 따라 Hardware 이용률이 높아지고, 따라서 처리속도가 더욱 향상. m 문자 이외의 다양한 정보들에 대한 입력과 출력, 저장 및 처리 능력을 보유하 게 됨에 따라 멀티미디어 PC로 발전되고 있다. m 보다 더 편리한 사용자 Interface를 제공해 주는 System Software들 출현. [예 ] Windows-98 m 고속 입출력장치들의 Interface를 위한 새로운 Bus 규격 제안. m 주기억장치와 보조저장장치의 용량이 크게 증가.
(2) 중형급 Computer System ◈ 워크스테이션(workstation) m CPU: 32 -bit 혹은 64 -bit Microprocessor 사용. m 고속 Graphics 처리 Hardware 포함. m 주요 응용: Computer를 이용한 설계(CAD), Simulation 등. m OS: UNIX ◈ 슈퍼미니Computer(Super-minicomputer) m System 구조: 다중프로세서(Multiprocessor) 구조 m CPU의 수: 20 ~ 30 개 m 성능: VAX-11 Mini-Computer 성능의 수십 배 이상. m OS: UNIX m Downsizing(다운사이징) 주도 : Network에 접속된 다수의 중형급 Computer System들을 응용(혹은 용도)별로 구분하여 사용하는 컴퓨 팅 환경이 가능해지게 함.
▶Fig. 1 -14. Multi-Processor System의 구조
(3) Mainframe Computer( 대형컴퓨터) ◈ IBM 360 및 370 계열, 3081, 3090 등으로 계속 발전. ◈ 대용량 저장장치 보유 ◈ 다중 I/O 채널을 이용한 고속 I/O 처리 능력 보유 ◈ 대규모 Database 저장 및 관리용으로 사용 ◈ 최근 성능과 가격면에서 Super Mini-Computer들과 경쟁하고 있으며, 점차적으로 시장 점유율 하락 중. (4) Supercomputer(수퍼컴퓨터) ◈ 정의: 현존하는 Computer들 중에서 처리 속도와 기억장치 용량이 다른 Computer들에 비하여 상대적으로 월등한 Computer System들. ◈ 분류 기준: 계속적으로 상승. (예) 최초의 Super Computer인 CRAY-1의 속도 = 100 MFLOPS 최근의 Super Computer들의 속도는 수백 GFLOPS 이상. ◈ 주요 응용 분야들: VLSI 회로 설계, 항공우주공학, 천문학(일기 예보), 구조 공학, 유전 탐사, 핵공학, 인공지능, 입체 영상처리 등과 같은 대규 모 과학 계산 및 시뮬레이션.
o구조에 따른 분류 (1) 파이프라인 슈퍼Computer(Pipeline Supercomputer) ◈ 한 CPU 내에 다수의 연산 장치들이 포함. ◈ 각 연산 장치는 고도의 Pipeline구조를 이용하여 고속 벡터 계산 가능. ◈ 대표적인 System들: CRAY Y-MP, CRAY-2, Fujitsu VP 2000, VPP 500 등. (2) Massively Parallel Computer (초대규모 병렬 컴퓨터) ◈ 한 System 내에 상호 연결된 수백 혹은 수천 개 이상의 Processor들 포함. ◈ Processor들이 하나의 큰 작업을 나누어서 병렬로 처리. ◈ System 구조의 예 : Thinking Machine사의 CM-1 System m 특징: Processor 수 = 최대 65, 536(216)개 m Processor 내부 구조: 매우 간단한 구조의 Processor 16개가 상호 연결되어 하나의 Chip에 집적되어 있으며, 그러한 Chip들이 수백개가 모여 한 Processor 모듈을 구성.
▶Fig. 1 -15. CM-1 병렬Computer의 Processor 모듈과 내부 구조
268c9c133326b8277ed541b654ed2bdc.ppt