Dependability: Computer System Dependability is the Quality of Delivered Service such that reliance can justifiably be placed on this service. (System failure는 실제 행동이 명시된 행동과 다를 때 일어난다.)

Reliability: Is anything broken?

Availability: Is the system still available to the user?



* Bus

A bus is: 

- shared communication link

- set of wires used to connect multiple subsystems

- a fundamental tool for composing large, complex systems


Advantages of Buses: 

- Versatility: 

새로운 디바이스를 쉽게 추가할 수 있다.

같은 버스 스탠다드를 쓰는 컴퓨터 사이에서는 주변기기를 옮겨 쓸 수 있다.

- Low cost


Disadvantages of Buses:

- communication bottleneck

버스의 bandwidth가 maximum I/O throughput을 제한한다.

- 최대 버스 속도는 ~에 의해 제한된다:

버스의 길이

버스에 부착되어 있는 디바이스의 개수



* Bus is a set of Control Lines and Data Lines.

* Bus Transaction(처리) 

- A Sequence of Bus Operations that includes a Request and may include a Response. A Transaction is initiated by a single request and may take many individual Bus Operations

- Two parts: 1) Sending Address, 2)Receiving or Sending Data


Bus transaction의 two parts: Request & Action.

Master - slave model: Master - issuing the command (and address)

         Slave - sending or receiving data


마스터가 여러 개이면 중재가 필요하다. 

(가장 간단한 형태는 마스터가 하나이며 그것이 프로세서일 때이다. 하지만 그럼 모든 처리(transaction)에 프로세서가 관여해야 한다.)


* Bus Arbitration Scheme: Request, Granted, Release

- Bus arbitration scheme은 두 가지 factor의 balance를 유지해야 한다: Bus priority와 Fairness.

(우선순위와 아무리 우선순위가 낮아도 언젠가 실행은 되어야 한다는 것)


* Bus arbitration schemes는 4개의 broad class로 나눌 수 있다:

- Daisy chain arbitration: Single device with all request lines. 간단하지만 fairness를 보장하지 못한다. 

- Centralized, parallel arbitration: Multiple Request lines.

- Distributed arbitration by self-selection: Each device wanting the bus places a code indicating its identity on the bus. Each device determines independently if it is the high priority requestor.

- Distributed arbitration by collision detection: 충돌 감지. 이더넷이 이 방식을 사용함.


* Synchronous Bus vs. Asynchronous Bus


* Polling vs. Interrupt


* DMA (Direct Memory Access)

문제: interrupt driven I/O에서 큰 데이터 블록을 전송하려고 하면 프로세서가 데이터 전송 과정에 관여되어야 한다.

해결책: DMA


DMA:

- External to the CPU

- 버스 마스터처럼 행동한다

- CPU intervention 없이 데이터 블록을 메모리에서 가져오거나 메모리에 저장한다.




'나의' 카테고리의 다른 글

Chapter 4. The Processor - Performance  (0) 2011.03.17
Enhancing Performance with Pipelining  (0) 2011.03.16
Virtual Memory  (0) 2011.03.14
Chapter 5. Large and Fast: Exploiting Memory Hierarchy  (0) 2011.03.13
Chapter 3. Arithmetic for computers  (0) 2011.03.13

+ Recent posts