300 likes | 660 Views
13 장 . 시스템 버스. 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재. Section 01 시스템 버스의 연결 보기. [그림 13-1] 시스템 버스의 개념도. Section 02 버스. 컴퓨터의 구성 요소들을 연결하는 공유 전송 매체 버스 선의 수는 버스 폭이라고 하며 , 한 번에 전송하는 데이터 비트들의 수를 나타냄 버스 선의 수는 기억장치 주소 비트들의 수 및 제어 신호들의 수에 따라 결정 소형 컴퓨터 50 ∼ 100 개의 신호선 중대형급 시스템
E N D
13장. 시스템 버스 • 다루는 내용 • 시스템 버스의 개념 • 다중버스 계층 구조 • 버스 중재
Section 01 시스템 버스의 연결 보기 [그림 13-1] 시스템 버스의 개념도
Section 02 버스 • 컴퓨터의 구성 요소들을 연결하는 공유 전송 매체 • 버스 선의 수는 버스 폭이라고 하며, 한 번에 전송하는 데이터 비트들의 수를 나타냄 • 버스 선의 수는 기억장치 주소 비트들의 수 및 제어 신호들의 수에 따라 결정 • 소형 컴퓨터 • 50 ∼ 100 개의 신호선 • 중대형급 시스템 • 100 개 이상의 신호선
버스 대역폭 • 버스의 속도를 나타내는 척도 • 단위 시간당 전송할 수 있는 데이터 양 • 버스 클럭의 주기에 의해 결정 [예] • 버스 클럭 주기가 50 nsec (클럭 주파수: 20 MHz) • 데이터 버스 폭이 64 비트(8 바이트) • 버스 대역폭 8 byte / (50 × 10-9 sec) = 160 [Mbytes/sec]
버스의 유형별 분류 • 전용 버스(Dedicated bus) • 기능이 지정되는 버스 • 데이터 버스, 주소 버스, 제어 버스 • 다중화 버스(Multiplexed bus) • 제어 신호에 의해 여러 목적으로 사용할 수 있는 버스 • 선의 수가 적기 때문에 공간과 비용을 절감 • 제어 회로가 복잡하고, 시분할(time multiplexing)방식으로 인한 성능 저하
버스의 기능별 분류 • 데이터 버스(Data bus) • 주소 버스(Address bus) • 제어버스(Control bus) [그림 13-2] 시스템 버스의 기능별로 분류된 연결
버스의 기능별 분류 • 데이터 버스(data bus) • 시스템 요소 사이에 데이터를 전송하는 데 사용되는 선들의 집합 • 연결된 장치간에 양방향 전송의 특징 • 주소 버스(address bus) • 기억장치 장소를 지정하는 주소를 전송하기 위한 선들의 집합 • CPU에서 기억장치 및 입출력 제어기로의 단방향 전송만이 존재 • 주소 버스의 비트 수는 기억장치의 주소 수를 결정 • 주소 버스의 폭이 16-비트 • 주소지정 가능한 최대 기억장소들의 수 = 216 = 65,536 개 • 주소 버스의 폭이 24 비트 • 주소지정 가능한 최대 기억장소들의 수 = 224 = 16,777,216 개
버스의 기능별 분류 • 제어버스 • 프로세서와 기억장치와 관련된 제어신호 • 기억장치 쓰기(memory write) 신호 • 기억장치 읽기(memory read) 신호 • 프로세서와 입출력 장치와 관련된 신호 • 입출력 쓰기(I/O write) 신호 • 입출력 읽기(I/O read) 신호 • 전송 확인(transfer acknowledge) 신호 • 버스 중재에서 사용되는 제어 신호 • 버스 요구(bus request) 신호 • 버스 승인(bus grant) 신호 • 버스 사용 중(bus busy) 신호
버스의 기능별 분류 • 제어버스 • 인터럽트 버스에서 사용되는 제어 신호 • 인터럽트 요구(interrupt request) 신호 • 인터럽트 확인(interrupt acknowledge) 신호 • 그 밖의 제어신호 • 버스 클럭(bus clock) • 리셋(reset)
동작과 타이밍에 따른 분류 • 시스템 버스의 기본동작 • 쓰기 동작(write operation) 과정 • 버스 사용권을 획득, 주소와 데이터 및 쓰기 신호를 전송 • 읽기 동작(read operation)의 과정 • 버스 사용권을 획득, 주소와 읽기 신호를 보내고 • 데이터가 전송되어 올 때까지 대기 • 버스의 동작 타이밍에 따른 분류 • 동기식 버스(synchronous bus) • 모든 버스 동작들이 공통의 버스 클럭을 기준으로 발생 • 비동기식 버스(asynchronous bus) • 버스 동작들의 발생 시간이 관련된 다른 버스 동작의 발생 여부에 따라 결정
동기식 버스와 비동기식 버스 • 동기식 버스의 특징과 동작 • 인터페이스 회로가 간단 • 버스 클럭 주기가 가장 긴 버스 동작의 소요 시간을 기준으로 결정 • 짧은 시간이 걸리는 버스 동작의 경우에는 동작이 완료된 후에도 다음 주기가 시작될 때까지 대기 • 비동기식 버스의 특징과 동작 • 각 버스 동작이 완료 즉시 연관된 다음 동작이 발생 • 동기식 버스에서와 같이 낭비되는 시간이 없음 • 연속적 동작을 처리하기 위한 인터페이스 회로가 복잡 • 소규모 컴퓨터시스템 : 비동기식 버스를 사용 • 중형급 이상의 시스템 : 동기식 버스를 사용
Section 03 다중버스 계층 구조 • 단일버스 구조 • 전통적인 계층적 다중 버스 • 3계층의 계층적 다중 버스
단일버스 구조 • 한 종류의 시스템 버스에 여러 가지 모듈이 연결 • 많은 장치가 버스에 연결 • 조정하거나 또는 중재하는 시간 오래 걸림 • 전파 지연(propagation delay)이 증가 • 버스 병목 현상이 발생 • 데이터 전송률을 증가시키거나 버스 폭의 확대로 부분적으로는 해결 가능
전통적인 계층적 다중버스 • 단일 버스 문제점의 해결책 • CPU는 지역버스(Local Bus)를 이용해서 지역 입출력 제어기(Local I/O controller)와 캐쉬와 연결 • 액세스가 많이 일어나는 기억장치를 위해서 시스템 버스에 단독으로 연결 • 전파지연과 병목현상을 방지 • 액세스의 빈도가 적고, 처리 속도가 저속이 장치들은 확장 버스를 거쳐서 연결 • 전파지연과 병목현상을 방지
전통적인 계층적 다중버스 [그림 13-4] 전통적인 계층적 다중 버스 구조
3계층의 계층적 다중 버스 • 지역 버스(local Bus) • 시스템 버스 • 고속 버스 • 그래픽 장치, 비디오 장치, 고속의 통신 장치가 연결 • 브리지 • 시스템 버스와 고속 버스에서 전달되는 데이터를 CPU 내의 지역버스로 전달 • 확장버스 • 고속을 요하지 않은 외부장치들이 연결
3계층의 계층적 다중 버스 [그림 13-5] 고성능 계층적 다중 버스 구조
Section 04 버스 중재 • 여러 개의 버스 마스터가 동시에 버스 사용을 요구 • 버스 경합(bus contention)상태가 발생 • 버스 중재 • 버스 마스터들이 정해진 순서대로 한 개씩 버스를 사용할 수 있게 해주는 동작
버스 중재 방식의 분류 • 제어 신호들의 연결 구조에 따른 중재 방식의 분류 • 병렬 중재 방식 • 직렬 중재 방식 • 버스 중재기의 위치에 따른 분류 • 중앙집중식 중재 방식 • 분산식 중재 방식 • 우선순위의 결정 방식에 따른 분류 • 우선 순위가 높은 버스 마스터가 버스를 먼저 사용할 수 있게 한 방법 • 고정-우선순위 방식 : 버스 마스터에 지정된 우선순위가 고정 • 가변-우선순위 방식 : 버스 마스터의 우선순위를 상황 따라 변경
병렬 중재 방식 • 버스 요구/승인 신호 등의 제어 신호들이 병렬로 연결 • 버스 마스터의 수만큼 버스 요구/승인 신호의 제어선 들이 존재하는 방식 • 중앙집중식 고정-우선순위 방식(centralized fixed-priority arbitration scheme) • 분산식 고정-우선순위 방식(decentralized fixed-priority arbitration scheme) • 가변 우선순위 방식
중앙집중식 고정 우선 순위 방식 • 버스 중재기는 미리 정해진 우선 순위 원칙에 따라서 선택된 버스 마스터에게만 승인 신호를 발생 • 승인 신호를 수신한 버스 마스터는 버스를 사용 • 우선 순위가 최초에 결정이 되면 변경 불가능 [그림 13-6] 우선 순위 방식에서 중재 버스 [그림 13-7] 우선 순위 회로도
분산식 고정우선 순위 방식 • 모든 버스 마스터들이 중재기를 한 개씩 보유 • 우선 순위를 조사해서 해당 순서가 되었을 때 버스를 사용 • 중앙집중식에 비하여 중재 회로가 간단하므로 동작 속도가 빠름 • 한 중재기의 고장이 전체 시스템의 동작에 영향을 미칠 수 있음 [그림 13-8] 분산식 고정 우선 순위 방식의 구성도
가변 우선순위 방식 • 시스템의 상태 또는 조건에 따라서 각 버스 마스터들의 우선순위를 계속 변화 • 중재 회로가 복잡 • 모든 버스 마스터들이 공정하게 버스를 사용 • 회전 우선순위 방식 • 임의 우선순위 방식 • 동등 우선순위 방식 • 최소 최근 사용(Least-Recently Used : LRU) 방식
회전 우선 순위 방식의 동작 [그림 13-9] 회전 우선 순위 방식의 동작
직렬 중재 방식 • 버스 마스터들이 버스 요구와 승인 신호선과 같은 제어선들에 직렬로 연결 • 중앙집중식 직렬 중재 방식 • 분산식 직렬 중재 방식
중앙 집중식 직렬 중재 방식 • 하나의 중재 신호선(BGNT)이 데이지-체인(daisy-chain)형태로 모든 버스 마스터들을 직렬로 연결 • 우선순위는 버스 승인 신호선이 연결된 순서대로 결정되는 방식 [그림 13-10] 중앙집중식 직렬 중재 방식
분산식 직렬 중재 방식 • 데이지-체인 버스 승인 신호(daisy-chained bus grant signal: DBGNT)가 버스 중재기들을 순환형(circular)으로 접속하는 구조 [그림 13-11] 분산식 직렬 중재 방식
폴링(Polling) 방식 • 버스 사용을 원하는 버스 마스터가 있는지를 버스 중재기가 주기적으로 검사 • 하드웨어 폴링 방식 • 버스 중재기와 각 버스 마스터 간에는 별도의 폴링 선이 존재 • 2진 코드화된 폴링 주소(binary encoded polling address)를 이용 • 버스 중재기는 폴링 주소를 발생 • 검사할 버스 마스터를 지정 • 그 마스터가 버스 사용을 원하는지 요청 • 마스터가 버스 사용을 원하면 BREQ 신호를 활성화 • 버스 중재기는 현재 검사 중인 마스터에게 버스 사용을 허가 • 마스터가 버스 사용을 원하지 않으면 다음 마스터 • 소프트웨어 폴링 방식 • 폴링의 순서와 과정을 버스 중재기내의 프로세서가 관리하는 방식 • 하드웨어 방식에 비하여 속도가 느림 • 우선순위 또는 폴링 순서의 변경이 용이
하드웨어 폴링 방식 [그림 13-12] 하드웨어 폴링 방식