kwan's note

12주차 - system bus and bus arbitration 본문

Computer Programming/Computer System

12주차 - system bus and bus arbitration

kwan's note 2021. 1. 2. 23:51
반응형

수강일시 :2021.01.01

출처:  kmooc 컴퓨터구조

 

 

12주차: 시스템 버스의 일반 이론 및 시스템버스의 종류에 대해 설명할 수 있다.

다수의 주변장치가 이용하려고 할 때 발생하는 bus contention 및 이를 중재하기 위한 bus arbiration 방식에 대해 설명할 수 있다.

 

시스템 버스는 addressbus, data bus, control bus가 있다.

버스의 갯수는 memory address의 비트수+한번에 전송하는 data bit수+control signal들의 수가 된다.

예를들어 64비트컴퓨터의 경우 데이터버스가 64개가 된다. 이는 word의 비트수가 된다.

버스의 대역폯: 초당 이동할 수 있는 데이터수.

ex) 20MHZ(버스클락), databus 폭(64비트) 인경우 20x8=160MB/s가 된다.

 

address버스는 cpu에서 main memory와 io로 주소를 전송한다.(단방향)

메인 메모리 공간 크기에 따라 버스크기가 정해진다.

 

data 버스는 cpu에서 m/m, i/o로 데이터를 전송하거나 반대로 전송받는다.(양방향)

한번에 전송하는 데이터 길이가 버스의 크기가 된다.

 

따라서 메인메모리의 최대 크기는

address bus의 크기 k

data bus의 크기m일때

(2^k) * (m/8) 바이트가 된다.

즉 k=32 m=16일때 8기가바이트까지 인식이 가능하다.

 

 

 

control bus는 일반 컨트롤버스와 arbitration 버스, interrupt버스와 나머지로나뉜다.

 

transfer ack는 전송 완료여부를 알려주는 버스이다.

breq는 버스 사용승인을 위해 request하는 버스이고

bgnt는 버스사용 허가를 주는 버스이다.

bbusy는 버스가 사용중임을 표시하는 버스이다.

interrupt request는 io가 interrupt를 요구했음을 cpu에게 알릴때 사용하는 버스이고

interrupt ack는 이를 인식했을때 보내는 신호를 위한 버스이다.

 

rea/write operation 순서

 

bus를 사용하다보면 두개 이상의 구성요소가 bus사용을 필요로 하는 경우가 발생한다.

이때 buscontention이 발생한다. 이를 중재하는 방법이 필요하다.

즉, 어떤 요소가 먼저 버스를 사용하고 누가 나중에 사용할것인지 순서를 정하고 먼저 사용이 끝나고 나서 다음 사용이 이루어져야 한다.

이 중재를 bus arbitration이라고 하는데 이 방식에는 여러 종류가 있다.

 

중재 방식에 앞서 bus arbiter의 방식을 먼저 살펴보자.

버스 중재기가 하나인지 여러개인지로 먼저 분류하고

마스터가 직렬인지 병렬인지에 따라 분류한다.

폴링은 사용여부를 묻는방식으로 hw 방식과 sw방식으로 나뉜다.

cpa와 dpa
csa와 dsa
polling

반응형