컴퓨터구조 #23 시스템 버스 구성 및 제어

underlier12·2020년 4월 30일
0

컴퓨터구조

목록 보기
23/26

23. 시스템 버스 구성 및 제어

시스템 버스의 필요성

버스와 메모리 전송

전형적인 디지털 컴퓨터는 많은 레지스터와 레지스터들 사이의 정보 전송을 위한 경로를 가져야 한다. 시스템은 이를 위해 각 레지스터들 사이를 연결하는 번거로움 대신 공통의 버스 시스템이라는 효율적 방법을 사용한다.

또한 CPU가 행하는 중요한 기능 중 하나는 외부 주변 장치 및 통신의 주체로서 정보의 입출력을 관장하는 일이다.

시스템 버스와 I/O 버스

시스템 버스의 제어

시스템 버스와 I/O 버스 간 상호 중재

컴퓨터 시스템에는 각 요소들 사이의 정보 전송을 위한 다양한 단계의 여러 버스가 존재한다.

  • 메모리 버스 : 데이터, 주소, 그리고 읽기/쓰기 정보 전송
  • I/O 버스 : 입출력 장치로 정보를 주고 받을 때 사용

공유 메모리 멀티 프로세서 시스템에서 프로세서는 시스템 버스를 통하여 공유 자원에 대한 접근을 요구한다.

  • 공유 자원이 사용되고 있지 않을 경우 : 바로 사용 승인
  • 공유 자원이 사용되고 있을 경우 : 선점 프로세스의 종료까지 대기
  • 동시에 버스를 요구하는 경우 : 공유 자원에 대한 충돌을 해결하기 위한 중재 동작 수행

IEEE 표준 796 다중 버스 신호

  • 데이터 라인
    • 프로세스와 공통 메모리 사이의 데이터 전송 경로 제공(16~32 라인, 양 방향 정보 전송)

    • 데이터 전송 모드

      • 동기 : source & target 장치 간 공통 클락 구동에 의해 정해진 시 분할 동안 데이터 전송
      • 비동기 : 각 장치들을 독립적 클럭으로 동기화, source & target 장치 간 핸드 셰이킹 제어 신호에 의해 각 데이터를 전송
    • 주소 라인 : 메모리 주소와 입출력 포트 식별에 활용(단 방향 정보 전송)

    • 제어 라인 : 장치들 간 정보 전송을 제어하는 신호 제공

      • Timing signal : 데이터와 주소 정보의 유효성 체크
      • Command line : 수행 할 동작을 지정
      • 전송 신호 : 메모리 읽기와 쓰기 등
      • 전송 승낙 : 전송이 완료되었음을 알림
      • 인터럽트 요구 : 인터럽트 요구 명령과 승낙 명령으로 구성
      • 버스 제어 신호 : 버스 요구 및 버스 승인 등
      • 중재 절차를 위한 신호 등으로 사용

시스템 버스의 활용

직렬 중재 절차

시스템 버스 제어기에서 진행되는 절차를 말하며 중재를 위한 논리 회로를 내장한다. 우선 순위를 바탕으로 Daisy-chain 연결로 중재하는 방법 제시

  • 가장 높은 중재자의 PI는 1, PO는 0
    • 해당 중재자가 버스의 사용을 원치 않을 경우 해당 중재자의 PI = 0, PO = 1이 되어 전송

    • Bus busy line 활용 : 사용 중 버스를 할당받을 때

      • 해당 중재자는 버스 신청 전 bus busy line의 상태 확인
      • bus busy line 비활성 상태일 경우 해당 프로세서는 버스 라인을 할당 받고 bus busy line을 활성 상태로 변경
      • bus busy line 활성 상태일 경우 낮은 우선 순위의 프로세서가 버스를 사용하고 있는 것으로 완료할 때까지 대기

병렬 중재 논리

각 버스 중재자는 버스 요청 출력 라인(Req)과 버스 승낙(Ack) 입력 라인을 보유하며 버스 비지 라인은 Daisy-chain의 경우와 동일하다.

    
profile
logos and alogos

0개의 댓글