Computer HardWare


운영체제 ---(가장 먼저 Interection)---> HardWare 


1. Computer System

1.1 System Bus

1.1.1 System Bus란 : 

CPU, Memory, I/O -> 상호간 Data 전송 역할 

1.1.2 System Bus의 종류

Data Bus, Address Bus

1.1.3 System Bus의 행동

Read & Write

- CPU <- Memory : Read

- CPU -> Memory : Write


1.2 Bus Master / Bus Arbiter / Bus Slave

1.2.1 Bus Master : 

-Bus Transaction을 시작하는 요소 

-System에는 여러개의 Bus Master가 존재함

* 대표적인 Bus Master : CPU, I/O Controller, DMA Controller 등

1.2.2 Bus Arbiter

여러Bus Master중 특정 Bus Master에게  Bus를 제공해주는 조정자

1.2.3 Bus Slave : 

데이터를 담고 있는 장치(Memory)


(*Transaction : CPU의 작업단위)

1.3 I/O Controller

1.3.1 Interrupt-Driven I/O :

I/O 동작이 완료되면 I/O Controller가 CPU에게 '비동기'적으로 완료되었음을 알려주는 방식

1.3.2 Polling I/O : 

I/O 동작이 완료 될 때까지 CPU가 반복해서 I/O Controller의 Resgister 상태를 확인하는 방식


1.4 DMA Operation (Direct Memory Access)

1.4.1 DMA 이란 :

CPU의 개입 없이 I/O Controller가 메모리에 직접 접근하여 Data를 읽거나 쓸 수 있도록 하는 기능

1.4.2 CPU가 DMA에게 전달하는 요소 :

CPU -----------> DMA Controller

- 전송 될 Block의 시작

- Block의 Size

- Operation Command (Read & Write)

(*DMA는 Block 단위로 전달 됨)

1.4.3 DMA 사용 이유 :

Block Data를 옮길 때 CPU Intervention을 최소화하기 위해 사용

1.4.4 DMA가 Block Data를 전송하는 방식

1. Cycle Stealing : 

CPU 성능에 영향이 없지만 DMA시간이 증가함

->CPU가 BUS를 사용하고 있지 않을 때만 DMA Controller가 Bus를 사용

2. Block Transfer : 

CPU 성능에 영향이 있지만 DMA시간이 감소

->CPU와 DMA Controller가 대등하게 경쟁하여 Bus를 사용

2. Interrupt Mechanism

2.1 Interrupt Mechanism이란

1. 비동기적 Mechanism

2. Hardware Interrupt

- CPU 외부에서 CPU가 관심을 가져야 될 상황에 대에서 CPU에게 전달 (비동기)

3. Software Interrupt

- 현재 수행하는 Program의 문제를 알리기 위해 사용

ex) Exception funtion

-코드분석을 통해 문제를 알 수 있음

(동기적)

2.2 Interrupt의 구현

1. Interrupt Source 

- I/O Controller, DMA Controller 등

2. Interrupt의 처리과정

- 현재 Instruction을 완료하고 마이크로 프로세서의 프로그램 카운터(PC)값을 안전한 곳에 저장

- 현재 수행중인 프로그램 중단

- Interrupt Request Number(IRN)를 통해 Interrupt Source 확인

- Interrupt Vector Table을 검색해서 Interrupt Service Routine(ISR)의 주소를 확인하고 수행

3. PIC(Programmable Interrupt Controller)

- CPU의 Interrupt PIN의 유동적 확장을 위해 사용

- PIC 하나당 16개 Interrupt 처리 가능


3. Hardware Protection Mechanism

3.1 Hardware Protection Mechanism 이란

- Multi Programming을 할 때 Memory에 Active한 여러 Job들이 다른 영역에 접근하지 못하게 하는 기법

*Privileged Instruction

 -> Operation System만 수행할 수 있는 Instruction

3.2 Duel Mode Operation

- Kernel Mode : Privileged Instruction들을 수행 시킬 수 있는 Mode

- User Mode : Privileged Instruction들을 수행 시킬 수 없는 Mode

- Mode변환은 Kernel Mode만 가능

- User Mode에서 Kernel Mode로 변환하기 위해선 Interrupt를 이용



*본 자료는 서울대학교 홍성수 교수님의 '운영체제' 수업을 바탕으로 개인적으로 정리하여 올립니다. 관련 이미지 자료는 홍성수 교수님 수업 PPT자료가 출처임을 알립니다. 문제 시 말씀해주시면 삭제 조치 하겠습니다. 감사합니다.

'프로그래밍 > 운영체제' 카테고리의 다른 글

MultiThreading  (0) 2016.10.13
Context Switching(2)  (0) 2016.10.11
Context Switching(1)  (0) 2016.10.11
Process Scheduling  (0) 2016.10.09
Process Concept  (0) 2016.10.09

+ Recent posts