Skip to content

Latest commit

 

History

History
527 lines (324 loc) · 23.1 KB

11강 시스템버스 및 버스중재.md

File metadata and controls

527 lines (324 loc) · 23.1 KB

🦄 시스템버스 및 버스중재 (11 / 13회차)


7.1 시스템 버스   jakang

1번. 다음 보기에서 알맞은 단어를 골라 빈칸을 채우세요.

a) 버스 마스터 (bus master)

b) 버스 중재 (bus arbitration)

c) 버스 요구 신호 (bus request signal)

d) 버스 승인 신호 (bus grant signal)

e) 버스 사용중 신호 (bus busy signal)

f) 동기식 버스

g) 비동기식 버스

1) ________ 는 두 개 이상의 버스 마스터들이 동시에 버스 사용을 요청할 경우에 순서를 결정해주는 시스템 동작이다.

2) ________ 는 버스 사용을 요구한 마스터에게 사용을 허가한다는 것을 나타낸다.

3) ________ 는 버스 클럭을 사용하지 않으며, 각 버스 동작이 완료되는 즉시, 연관된 다음 동작이 발생되므로 동기식 버스에서와 같이 낭비되는 시간이 없다.

2번. 다음 지문들의 참 거짓 여부를 표시하세요.

[ ] 주소 버스는 양방향 전송을 반드시 지원할 수 있어야 한다.

[ ] 동기식 버스에서 기억장치 액세스 시간이 클록의 한 주기보다 더 긴 경우는 존재하지 않는다.

[ ] 동기식 버스와 비교했을 때, 비동기식 버스의 인터페이스 회로는 복잡하다.

3번. 버스 대역폭은 버스를 통하여 단위 시간당 전송할 수 있는 데이터 량을 가리킨다. 그렇다면 클록 주기가 50ns이고, 데이터 버스의 폭이 32비트일 때, 버스 대역폭은 몇 MBytes/sec 얼마인가?

📄 답지

1번. 다음 보기에서 알맞은 단어를 골라 빈칸을 채우세요.

a) 버스 마스터 (bus master)

b) 버스 중재 (bus arbitration)

c) 버스 요구 신호 (bus request signal)

d) 버스 승인 신호 (bus grant signal)

e) 버스 사용중 신호 (bus busy signal)

f) 동기식 버스

g) 비동기식 버스

1) b) 버스 중재 는 두 개 이상의 버스 마스터들이 동시에 버스 사용을 요청할 경우에 순서를 결정해주는 시스템 동작이다.

2) d) 버스 승인 신호 는 버스 사용을 요구한 마스터에게 사용을 허가한다는 것을 나타낸다.

3) g) 비동기식 버스 는 버스 클럭을 사용하지 않으며, 각 버스 동작이 완료되는 즉시, 연관된 다음 동작이 발생되므로 동기식 버스에서와 같이 낭비되는 시간이 없다.

2번. 다음 지문들의 참 거짓 여부를 표시하세요.

[X] 주소 버스는 양방향 전송을 반드시 지원할 수 있어야 한다.

: 주소는 CPU에 의해서만 발생되기 때문에 단방향 전송(unidirectional transfer) 기능만 있으면 된다.

[X] 동기식 버스에서 기억장치 액세스 시간이 클록의 한 주기보다 더 긴 경우는 존재하지 않는다.

: 기억장치 액세스 시간이 클록의 한 주기보다 더 길 경우에는 그만큼 더 많은 주기가 경과한 후에 기억장치가 데이터와 확인 신호를 보내게 되며. CPU 는 그동안 기다려야한다.

[O] 동기식 버스와 비교했을 때, 비동기식 버스의 인터페이스 회로는 복잡하다.

: 비동기식 버스에서는 각 버스 동작이 완료되는 즉시, 연관된 디음 동작이 발생되므로 동기식 버스에서와 같이 낭비되는 시간이 없다. 그러나 이러한 연속적 동작들을 처리하기 위한 인터페이스 회로가 복잡해지는 단점이 있다.

3번. 버스 대역폭은 버스를 통하여 단위 시간당 전송할 수 있는 데이터 량을 가리킨다. 그렇다면 클록 주기가 50ns이고, 데이터 버스의 폭이 32비트일 때, 버스 대역폭은 몇 MBytes/sec 얼마인가?

1 / (50ns) * 4Bytes = 80MBytes/sec



7.2 버스 중재 - 병렬중재방식    taelee

[문제1]
다음 빈칸에 알맞은 말을 넣어주세요

한 개의 시스템 버스에 접속된 여러 개의 버스 마스터들이 동시에 버스 사용을 요구하는 경우에는 경쟁이 발생하게 된다. 이러한 현상을 (a)이라고 한다.
(a)이/가 발생한 경우에 버스 마스터들 중에서 한 개씩 선택하여 순서대로 버스를 사용할 수 있게 해주는 동작을 (b)라 하며, 이러한 기능을 수행하는 하드웨어 모듈을 (c)라고 한다.

[문제2]
아래 그림은 어떤 중재 방식일까요?(복수정답가능)

image

가. 중앙집중식 고정-우선순위 중재 방식
나. 중앙집중식 병렬 중재 방식
다. 분산식 고정-우선순위 방식
라. 분산식 직렬 중재 방식

[문제3]
아래 그림은 위 버스 중재 방식의 신호에 따른 시간 흐름도입니다.
아래 그림을 보고 잘못된 말을 한 사람을 골라주세요(복수정답가능)

image

🐹gaekim
그림에서 1번을 보면, 마스터 3이 BREQ3 신호를 세트해서 버스 아비터에게 사용 요청을 보내고 있어

🐯hylee
그러면 2번이 나타내는 것은 버스 중재기가 마스터 3에게 
BGNT3 신호를 세트하여 버스 사용을 허가한다는 신호인거야?

🐩sancho
맞아. 그리고 그림에 나타난 3번 신호를 살펴보면 
마스터3이 버스 사용을 시작하여 BBUSY 신호가 발생했어.

이를 통해 다른 버스들이 버스 사용요청을 못하게 막는거지

🦨taelee
그러면 4번에서는 마스터3이 버스 사용을 마치고 
BBUSY신호를 내림으로써 다른 버스들에게 사용해도 된다고 알려주는 거네?

[문제4]
아래 그림은 위 버스 중재 방식의 내부회로도이다. 다음중 제일 우선순위가 가장 높은 버스 마스터와 가장 낮은 버스 마스터를 알려주세요

image
가장 우선순위가 높은 마스터는 몇번일까요?
가장 우선순위가 낮은 마스터는 몇번일까요?

[문제5]
아래 그림은 분산식 고정-우선순위 방식(분산식 병렬 방식)의 구성도이다. 다음중 이에 대한 설명으로 틀린 것은?

image

🦁daelee
위 그림에서 1번 마스터에 중재기가 없는 이유는 
1번 마스터의 우선순위가 제일 높기 때문이야

🐋yeha
그러면 4번 마스터의 경우 1,2,3마스터의 요청(REQ)이 없어야지만 
승인(GNT)을 받을 수 있겠네?

🐬kukim
응 하지만 승인을 받았다고 사용할 수 있는 것은 아냐 BBUSY 신호를 검사하여서, 
다른 마스터가 버스를 사용하지 않는 상태인것을 확인해야 비로소 버스 사용을 시작하는 거지

🐳jehong
이런 분산식 중재 방식은 중앙집중식에 비하여 
중재 회로가 복잡하기 때문에 동작 속도가 더 느린편이야

🍉secho
또한 중재기가 많다보니 하나가 고장을 일으키면 찾기 어렵다는 단점도 있지

📄 답지

[문제1]
다음 빈칸에 알맞은 말을 넣어주세요

한 개의 시스템 버스에 접속된 여러 개의 버스 마스터들이 동시에 버스 사용을 요구하는 경우에는 경쟁이 발생하게 된다. 이러한 현상을 (a)이라고 한다.
(a)이/가 발생한 경우에 버스 마스터들 중에서 한 개씩 선택하여 순서대로 버스를 사용할 수 있게 해주는 동작을 (b)라 하며, 이러한 기능을 수행하는 하드웨어 모듈을 (c)라고 한다.

(a) 버스 경합(bus contention)
(b) 버스 중재(bus arbitration)
(c) 버스 중재기(bus arbiter)

[문제2]
아래 그림은 어떤 중재 방식일까요?(복수정답가능)

image

가. 중앙집중식 고정-우선순위 중재 방식
나. 중앙집중식 병렬 중재 방식
다. 분산식 고정-우선순위 방식
라. 분산식 직렬 중재 방식

책에서는 '가', 강의에서는 '나'라고 말합니다. 고정-우선순위, 가변-우선순위 방식은 아마 병렬방식에서만 나와서 저렇게 용어가 혼재해서 쓰이는게 아닐까 싶습니다.

[문제3]
아래 그림은 위 버스 중재 방식의 신호에 따른 시간 흐름도입니다.
아래 그림을 보고 잘못된 말을 한 사람을 골라주세요(복수정답가능)

image

🐹gaekim
그림에서 1번을 보면, 마스터 3이 BREQ3 신호를 세트해서 버스 아비터에게 사용 요청을 보내고 있어

🐯hylee
그러면 2번이 나타내는 것은 버스 중재기가 마스터 3에게 
BGNT3 신호를 세트하여 버스 사용을 허가한다는 신호인거야?

🐩sancho
맞아. 그리고 그림에 나타난 3번 신호를 살펴보면 
마스터3이 버스 사용을 시작하여 BBUSY 신호가 발생했어.

이를 통해 다른 버스들이 버스 사용요청을 못하게 막는거지

🦨taelee
그러면 4번에서는 마스터3이 버스 사용을 마치고 
BBUSY신호를 내림으로써 다른 버스들에게 사용해도 된다고 알려주는 거네?

sancho님과 taelee의 말이 틀렸습니다.
BBUSY 신호는 Active low(BBUSY위에 있는 Bar)로 Low상태가 busy상태를 나타냅니다. 따라서 3번 전까지 다른 마스터에 의해 버스가 사용중이었고 3번그림부터 4번 그림사이까지 신호가 해제되었다가 4번신호부터 비로소 마스터 3이 사용하고 있다는 신호를 알려주기 위해 BBUSY버스가 Low상태로 내려갑니다.

이때 BREQ3와 BGNT3는 모두 제거됩니다.

[문제4]
아래 그림은 위 버스 중재 방식의 내부회로도이다. 다음중 제일 우선순위가 가장 높은 버스 마스터와 가장 낮은 버스 마스터를 알려주세요

image
가장 우선순위가 높은 마스터는 몇번일까요? 1번
가장 우선순위가 낮은 마스터는 몇번일까요? 4번

[문제5]
아래 그림은 분산식 고정-우선순위 방식(분산식 병렬 방식)의 구성도이다. 다음중 이에 대한 설명으로 틀린 것은?

image

🦁daelee
위 그림에서 1번 마스터에 중재기가 없는 이유는 
1번 마스터의 우선순위가 제일 높기 때문이야

🐋yeha
그러면 4번 마스터의 경우 1,2,3마스터의 요청(REQ)이 없어야지만 
승인(GNT)을 받을 수 있겠네?

🐬kukim
응 하지만 승인을 받았다고 사용할 수 있는 것은 아냐 BBUSY 신호를 검사하여서, 
다른 마스터가 버스를 사용하지 않는 상태인것을 확인해야 비로소 버스 사용을 시작하는 거지

🐳jehong
이런 분산식 중재 방식은 중앙집중식에 비하여 
중재 회로가 복잡하기 때문에 동작 속도가 더 느린편이야

🍉secho
또한 중재기가 많다보니 하나가 고장을 일으키면 찾기 어렵다는 단점도 있지

jehong님의 말이 틀렸습니다.
이런 분산식 중재 방식은 중앙집중식에 비하여 **중재 회로가 간단하여 동작 속도가 더 빠르다는 장점**이 있습니다.



7.2 버스 중재 - 직렬중재방식  jehong

[파트 1] 성공률 50%, 즐거운 O / X 문제
  1. 중앙식 직렬 중재 방식에서 마스터는 버스 승인 신호를 받자마자 버스를 사용할 수 있다. (O / X)

  2. 분산식 직렬 중재 방식에서 DBGNT 신호를 받은 중재기의 마스터는 먼저 버스를 사용하고 있던 마스터가 버스 사용을 끝내고 BBUSY 신호를 리셋시키면 바로 버스를 사용할 수 있다. (O / X)

  3. 분산식 직렬 중재 방식은 어느 한 지점에 결함이 발생해도 분산식이기 때문에 다른 중재기는 영향을 받지 않는다. (O / X)


[파트 2] 한눈에 이해하는 머리머리 쏙쏙 그림 문제
  1. <그림1>, <그림2>는 각각 어느 중재방식에 해당되는지 보기에서 골라주세요.

    보기

    중앙집중식 병렬 중재 방식 (CPA: Centralized Parallel Arbitration Scheme)

    분산식 병렬 중재 방식 (DPA: Decentralized Parallel Arbitration Scheme)

    중앙집중식 직렬 중재 방식 (CSA: Centralized Serial Arbitration Scheme)

    분산식 직렬 중재 방식 (DSA: Decentralized Serial Arbiration Scheme)

    <그림1> ___________(a)____________

    <그림2> ___________(b)____________

<그림1>

<그림2>

  1. <그림1>을 참고해 문제에 답해 주세요. 현재 중재 동작에서 7번 마스터가 버스 사용 승인을 받아 버스를 사용하고 있고 마스터 1, 3, 6은 버스 사용 요구 신호 (BREQ)를 발생시킨 상태입니다.

    a) 다음 중재 동작에서 각각 최하위최상위 우선순위를 가진 마스터는 몇 번일까요?

    b) 다음 중재 동작에서 버스 사용 승인 신호를 받게 되는 마스터는 몇 번일까요?

  2. <그림2>를 참고해 문제에 답해 주세요. 현재 중재 동작에서 4번 마스터가 버스 사용 승인을 받아 버스를 사용하고 있고 마스터 2, 5가 버스 사용 요구 신호 (BREQ)를 발생시킨 상태입니다.

    a) 다음 중재 동작에서 최상위 우선순위를 가진 마스터는 몇 번일까요?

    b) 다음 중재 동작에서 버스 사용 승인 신호를 받게 되는 마스터는 몇 번일까요?


📄 답지
[파트 1] 성공률 50%, 즐거운 O / X 문제
  1. 중앙식 직렬 중재 방식에서 마스터는 버스 승인 신호를 받자마자 버스를 사용할 수 있다. (O / X)

    답: X

    새롭게 버스 승인 신호를 받은 마스터는 이미 버스를 사용하고 있는 마스터가 버스 사용을 끝낼 때까지 기다려야 한다. 이를 보장하기 위해 어떤 마스터도 버스를 사용하지 않을 때만 버스 중재기가 승인 신호를 발생하도록 설계되어야 한다.

    하지만 만약 버스 중재기에 그러한 기능이 없다면 마스터는 BBUSY 신호가 해제될 때까지 요구 신호를 보내지 않거나 승인 신호를 받았더라도 버스를 사용할 수 없도록 해야 한다.

  2. 분산식 직렬 중재 방식에서 DBGNT 신호를 받은 중재기의 마스터는 먼저 버스를 사용하고 있던 마스터가 버스 사용을 끝내고 BBUSY 신호를 리셋시키면 바로 버스를 사용할 수 있다. (O / X)

    답: X

    만약 중재기가 DBGNT 신호를 받았더라도 해당 중재기의 마스터가 버스 사용 요구를 하지 않은 상태라면, 그 신호를 우측의 중재기로 넘겨준다.

  3. 분산식 직렬 중재 방식은 어느 한 지점에 결함이 발생해도 분산식이기 때문에 다른 중재기는 영향을 받지 않는다. (O / X)

    답: X

    분산식 직렬 중재 방식은 어느 한 지점에만 결함이 발생해도 전체 시스템이 영향을 받는다. 중재기는 DBGNT 신호를 우측 중재기로 넘겨주는 순환형 방식인데 하나의 중재기에서 결함이 발생하면 DBGNT 신호가 더이상 통과하지 못해 결국 전체 동작이 중단된다.


[파트 2] 한눈에 이해하는 머리머리 쏙쏙 그림 문제
  1. <그림1>, <그림2>는 각각 어떤 중재방식에 해당되는지 보기에서 골라주세요.

    보기

    중앙집중식 병렬 중재 방식 (CPA: Centralized Parallel Arbitration Scheme)

    분산식 병렬 중재 방식 (DPA: Decentralized Parallel Arbitration Scheme)

    중앙집중식 직렬 중재 방식 (CSA: Centralized Serial Arbitration Scheme)

    분산식 직렬 중재 방식 (DSA: Decentralized Serial Arbiration Scheme)

    <그림1> 분산식 직렬 중재 방식 (DSA: Decentralized Serial Arbiration Scheme)

    <그림2> 중앙집중식 직렬 중재 방식 (CSA: Centralized Serial Arbitration Scheme)

<그림1>

<그림2>

  1. <그림1>을 참고해 문제에 답해 주세요. 현재 중재 동작에서 7번 마스터가 버스 사용 승인을 받아 버스를 사용하고 있고 마스터 1, 3, 6은 버스 사용 요구 신호 (BREQ)를 발생시킨 상태입니다.

    a) 다음 중재 동작에서 각각 최하위최상위 우선순위를 가진 마스터는 몇 번일까요?

    답: 최하위는 7번 마스터, 최상위는 8번 마스터

    현재 사용 승인을 받은 7번 마스터는 다음 중재 동작에서 최하위 우선권을 갖게 됩니다.

    DBGNT 신호는 시계 방향으로 우선 순위가 하나씩 낮아지므로 현재 동작의 바로 우측에 위치한 8번 마스터가 다음 동작의 최상위 우선순위를 갖게 됩니다.

    b) 다음 중재 동작에서 버스 사용 승인 신호를 받게 되는 마스터는 몇 번일까요?

    답: 1번 마스터

    DBGNT 신호를 받은 중재기는 마스터가 버스 요구를 하지 않은 상태라면 신호를 우측 중재기로 넘기고, 요구를 한 상태면 마스터에 BGNT 신호를 발생시킵니다. 따라서 버스 사용을 신청한 마스터 중 현재 버스를 사용하고 있는 7번 마스터로부터 우측으로 가장 가까이 위치한 1번 마스터가 버스 승인 신호를 받게 됩니다.

  2. <그림2>를 참고해 문제에 답해 주세요. 현재 중재 동작에서 4번 마스터가 버스 사용 승인을 받아 버스를 사용하고 있고 마스터 2, 5가 버스 사용 요구 신호 (BREQ)를 발생시킨 상태입니다.

    a) 다음 중재 동작에서 최상위 우선순위를 가진 마스터는 몇 번일까요?

    답: 1번 마스터

    중앙식 직렬 중재 방식에서는 버스 중재기에 가장 가까이 위치한 첫 번째 마스터인 1번 마스터가 가장 먼저 버스 승인 신호 (BGNT)를 받기 때문에 버스 사용에 있어 최상위 우선순위를 가지게 됩니다.

    b) 다음 중재 동작에서 버스 사용 승인 신호를 받게 되는 마스터는 몇 번일까요?

    답: 2번 마스터

    최상위 우선순위를 가진 마스터 1번 마스터는 버스 사용을 요구하지 않은 상태이므로 마스터 1번의 중재기는 DBGNT를 다음 우선순위를 가진 마스터에게 전달합니다. 버스 사용 요구를 보낸 마스터들 중 중재기에 가장 가까이 위치한, 즉 우선순위가 가장 높은 2번 마스터가 다음 중재 동작에서의 버스 승인 신호를 받게 됩니다.



7.2 버스 중재 - 폴링방식   hylee

[문제1]
다음 중 폴링 방식에서 각 마스터들의 우선순위를 결정하는 것은?

  • 가. 먼저 신호를 보낸 순서
  • 나. 가장 오랫동안 사용하지 않은 정도
  • 다. 중재기가 검사하는 순서
  • 라. 마스터에 가장 가까운 위치

[문제2]
다음은 폴링방식 구성도이다. 현재 3번 마스터가 버스를 사용중이며 1씩 증가하는 이진카운터를 사용하고 있다.(이진 카운터는 1부터 시작했다.) 이에 대해 컴퓨터 스터디원들의 토론 내용을 일부 발췌했는데 다음 중 틀린 설명은 무엇일까요? (복수정답 가능)

제목 없음


secho: 저 3번 마스터는 버스 사용을 하기 위해서 BBUSY 신호를 세트를 통해 중개기를 호출했어요

gaekim: 저렇게 3번 마스터가 버스를 사용할 때 2진 카운터 동작을 멈춘다고 알고 있어요

jakang: 이게 만약 회전 우선 방식이라면 다음에는 1번을 선택하겠죠?

kycho: 소프트웨어 폴링 방식도 위 구성도랑 동일하게 구성돼요!

daelee: 소프트웨어 폴링 방식은 하드웨어 방식에 비해 속도는 좀 느리지만 융통성이 높다는 장점이 있어요

📄 답지

[문제1]
다음 중 폴링 방식에서 각 마스터들의 우선순위를 결정하는 것은?

답 : 다 폴링방식에서는 각 마스터들의 우선순위는 중재기가 마스터를 검사하는 순서에 의하여 결정된다. 이 순서는 마스터의 번호에 따라 정해질 수도 있고 가변 우선순위 알고리즘이 적용될 수도 있다.

  • 가. 먼저 신호를 보낸 순서
  • 나. 가장 오랫동안 사용하지 않은 정도
  • 다. 중재기가 검사하는 순서
  • 라. 마스터에 가장 가까운 위치

[문제2]
다음은 폴링방식 구성도이다. 현재 3번 마스터가 버스를 사용중이며 1씩 증가하는 이진카운터를 사용하고 있다.(이진 카운터는 1부터 시작했다.) 이에 대해 컴퓨터 스터디원들의 토론 내용을 일부 발췌했는데 다음 중 틀린 설명은 무엇일까요? (복수정답 가능)

제목 없음

답 : secho - BBUSY는 버스 사용을 시작하면 세트되는 신호이다.

jakang - 회전 우선방식이라면 중단된 순간의 다음 값부터 출력하게됨으로 4번을 검사하게된다.


secho: 저 3번 마스터는 버스 사용을 하기 위해서 BBUSY 신호를 세트를 통해 중개기를 호출했어요

gaekim: 저렇게 3번 마스터가 버스를 사용할 때 2진 카운터 동작을 멈춘다고 알고 있어요

jakang: 이게 만약 회전 우선 방식이라면 다음에는 1번을 검사하겠죠?

kycho: 소프트웨어 폴링 방식도 위 구성도랑 동일하게 구성돼요!

daelee: 소프트웨어 폴링 방식은 하드웨어 방식에 비해 속도는 좀 느리지만 융통성이 높다는 장점이 있어요