Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 11 시스템 버스 (SYSTEM BUS). 버스란 ? 2  버스  컴퓨터의 컴포넌트 사이에 정보를 전송하기 위해, 전기적 신호가 지나가는 라인들의 집합  Data bus  Address bus  Control bus  내부 버스와 외부 버스 (

Similar presentations


Presentation on theme: "CHAPTER 11 시스템 버스 (SYSTEM BUS). 버스란 ? 2  버스  컴퓨터의 컴포넌트 사이에 정보를 전송하기 위해, 전기적 신호가 지나가는 라인들의 집합  Data bus  Address bus  Control bus  내부 버스와 외부 버스 ("— Presentation transcript:

1 CHAPTER 11 시스템 버스 (SYSTEM BUS)

2 버스란 ? 2  버스  컴퓨터의 컴포넌트 사이에 정보를 전송하기 위해, 전기적 신호가 지나가는 라인들의 집합  Data bus  Address bus  Control bus  내부 버스와 외부 버스 ( 책과 위키피디어의 관점 다름 )  내부 버스 (internal bus) 메모리 버스, 시스템 버스, Front-side bus, 로칼 버스로 불림 컴퓨터의 내부 구성 요소들을 연결하는 버스 CPU, memory, 디스크, 모니터 등  외부 버스 (external bus) 컴퓨터에 외부 장치를 연결하기 위한 버스 확장 버스 (expansion bus), 프린터, 모뎀 등을 연결  병렬 버스와 직렬 버스  병렬 버스 : 여러 라인으로 동시에 여러 비트의 정보 전송 동기를 맞추어 작동하는 회로에서 사용 (synchronous circuits) 데이터 전송 속도가 증가할 수록, 주고 받는 두 요소 간에 클럭이 도달하는 시간이 달라서 생기는 clock skew(timing skew), 전 력 소모량 증가, 신호 간섭, 병렬 라인 사이의 혼선 (cross talk) 으로 고속화 하기 힘듬  직렬 버스 : 한번에 한 비트씩 clock skew, cross talk 가 근본적으로 없기 때문에, 고속 전송에 적합 USB, Serial ATA, FireWire 대부분의 최신 직렬 버스는 daisy chain 방식이나 hub 방식

3 computer add on cards 를 위한 bus standard 의 진화 3 ISA MCA EISA VESA Local PCIPCI-express 이들은 모두 컴퓨터의 기본 요소, CPU, memory, I/O device 등을 연결하는 시스템 버스이며, 메인보 드에 장착될 카드를 위해 설계됨 1988 386, 486PC 1991 IBM XT/AT 8086, 286 1992~1996(?) 486PC 1993 Pentium PC 1987~1990 년대 중반 PS/2 2004 Pentium PC

4 ISA(Industry Standard Architecture) 버스  IBM PC/XT/AT 에 사용된 버스 체계 (AT bus 라고도 불림 )  CPU 의 신호 라인들을 직접 주변 장치들과 연결하기 위한 버스 체계  1981 년 개발된 버스 체계  CPU 클럭과 동기화 (4.77, 8 Mhz), 8~16 bit 데이터 전송  표준 확장 슬롯에 플러그인 (plug-in card) 또는 board 삽입  현재의 PC 의 주기판에서도 ISA 버스 슬롯 지원  상업용 / 군용으로 개발된 ISA 카드 지원을 위해 4 CPU (8088, 80286) Memory Interrupt controller DMA controller address(20bit~24bit), data(8~16 비트 ), control lines 확장 슬롯 IBM XT/AT 컴퓨터에 사용된 버스 ISA 버스

5 EISA (Extended Industry Standard Architecture) 버스  규격  16 비트의 ISA 버스를 32 비트로 확장한 버스 규격  IBM 의 트레이트 마크인 ISA 의 권리를 침해하지 않기 위 해 EISA 로 이름 붙임  32 비트 데이터버스, 32 비트 주소선  8.33Mhz 의 클럭 32 비트 버스 체계이므로 8.33*4 = 약 33MB/sec, 실제 20MB/sec 멀티프로세서 가능, 버스 마스트링 가능, 주로 SCSI 어댑터나 네트워크 어댑터  누가, 언제  1988 년, IBM PC/AT 호환기종을 만드는 gang of nine 으로 불리는 9 개의 회사 컨소시엄에서 개발 AST Research, Compaq computer( 주도 ), Epson, HP, NEC, Olivetti, Tandy, WYSE, Zenith  IBM 에서는 ISA 버스를 확장한 MCA(micro channel architecture) 버스를 가진 새로운 PC 인 PS2 개발  왜 ?  80286 CPU 에 10, 12, 16MHz 의 고속 클럭에 ISA 버스에 연결된 느린 장치들이 부적합, 불안정 결국 장치를 연결하는 버스의 클럭을 CPU 클럭과 분리 80386 을 장착한 386 PC 와 함께 gang of nine( 컴팩이 주도 ) 이 EISA 버스 체계 개발 80486 을 장착한 PC 에서 처음으로 EISA 버스 선보임 5

6 VESA (Video Electronics Standards Association) local bus  규격  VLB, VL bus, 112 개의 신호 체계  CPU 의 클럭 주파수 (33MHz) 그대로 활용  32 bit  memory-mapped I/O 와 DMA ISA - port-mapped I/O, I/O 포트의 주소로 입출력 장치를 인식하고 통신  언제  1992 년도  왜  1990 년대 초반, ISA 버스의 I/O bandwidth 문제로 PC 의 그래픽의 병목현상 발생 (GUI 발 달 )  여러 회사들이 자체 로칼 버스를 메인보드에 구현. 그래픽 카드가 직접 메인 메모리 접 근, 추후 VLB 표준으로 발전  VLB 의 목적은 고성능 그래픽을 위한 로칼 버스 하드 디스크 등 mass storage 도 덩달아 급성장  문제  80486CPU 의 메모리 설계에 종속. Pentium CPU 에서는 거의 사용할 수 없게 됨 6

7 7

8 PCI(Peripheral Component Interconnect) 버스 8  규격  PCI local bus(local computer bus) 컴퓨터에 하드웨어 장치들을 덧붙이는 버스  특정 CPU 에 종속적이지 않음  장치들은 CPU 버스에 직접 연결된 것처럼 동작  PCI 장치 구성 평면 장치 (planer device) : 메인 보드에 칩으로 장착 확장 카드 형식 : 확장 슬롯에 카드로 장작  주소버스와 데이터 버스는 신호를 공유 시분할 다중화  적은 신호선 32 비트 PCI : 62 개의 신호 체계 64 비트 PCI :  32 bit, 64 bit, 33.33MHz, 32 비트 PCI 경우 최대 133MB/s(33.33x32)  CPU  bridge  PCI bus  Bus mastering 지원 : CPU 와 독자적으로 작업 처리  누가, 왜  Intel, 1993 년  CPU 에 종속적이지 않은 버스 구조 필요. 고속 병렬 버스 필요  Bus mastering 지원 : CPU 와 독자적으로 작업 처리

9 PCI 버스와 PCI Bridge 9

10 PCI Express (Peripheral Component Interconnect Express)  규격  PCIe 로 표기  고속 직렬 버스 확장 버스 표준 병렬 라인의 timing skew 문제 해결 ( 라인들이 다른 PCB 판에 배치될 때 발생 ) 을 위해,  PCI, PCI-X, AGP 버스 표준 대체 PCI : shared parallel bus architecture PCI 호스트와 모든 장치들이 버스 공유 PCIe: point-to-point 연결 (topology) 방식 가장 최신 PCI Express 4.0  16GT/sec(Gigatransfers per second) GT 를 사용하는 이유 : 각 transfer 는 overhead bits 를 포함하기 때문 직렬 통신 시에 8 비트 전송을 위해 실제 10 비트 전송  누가, 왜  2004 년부터, Intel, Dell, HP, IBM  VLB 이후 고속 그래픽에 사용된 AGP 버스를 대체함 10

11 11 PCIe 버스에 노드의 연결. root complex 는 CPU 를 대신해 서 장치에 작업 요청을 내린다. CPUMem 독립된 직렬 (serial) 링크 bridge ( 하나의 PCI 장치 ) PCI bridge 는 연결된 PCI 장치들을 검색하고 PCI-to-PCI 사 이의 장치들을 연결 공유 버스 구조 point-to-point 연결 구조

12 버스의 폭과 대역폭  대역폭  단위 시간당 전송 가능한 데이터 양  bus clock cycle 에 의해 결정  예 ) 50ns  20 MHz, bus width = 64 bit Bandwidth = 8 byte / (50 × 10 -9 sec) = 160 [Mbytes/sec] 12

13 시스템 버스란 ? 13  정의  Computer system 의 구성 장치들을 연결하고 교환할 각종 정보들을 전송하는 공유 전송 매체

14 버스의 유형별 분류  전용 버스  오직 한 목적으로만 사용됨  다중화 버스  하나의 신호 혹은 버스를 여러 목적으로 사용  버스 선의 수를 줄이기 위한 목적 공간과 비용 절약 주로 시분할 다중화 (time multiplexing) 제어 회로 복잡, 성능 저하 가능성  사례 주소와 데이터 신호를 하나의 버스로 다중화 14

15 시스템 버스의 기능별 분류 15  Data bus  Address bus  Control bus

16 제어 버스의 신호 사례 16  Memory read/write  I/O read/write  Transfer acknowledge  Bus request/grant/busy  arbitration bus  Interrupt request/acknowledge  interrupt bus  Clock  Reset

17 System Bus (4) 17  기본 동작  Write operation Bus master 사용권 획득 Address bus 를 통해 address 전달 + data bus 에 data 전달 + control bus 에 write signal 전달  Read operation Bus master 사용권 획득 Address bus 를 통해 address 전달 + control bus 에 read signal 전달 Wait data transfer

18 동기식 버스와 비동기식 버스  버스 타이밍에 의한 구분  두 요소간의 정보 전송을 위해  동기식 버스 (Synchronous bus)  시스템 버스의 공통 버스 클럭 (common bus clock) 사용  시스템 버스에 연결된 모든 하드웨어 요소들에 공통적 사용  장점 회로 구성 단순 일반적으로 고속 전송 가능  단점 가장 느린 연산 혹은 동작을 기준으로 버스 타이밍 설계되므로 어떤 경우에 불필요한 대기 시간 존재 공통 클럭을 발생시키는 소스에서 클럭이 도달하는 장치들의 거리가 다르기 때문에 장치들 사이에 clock skew 발생. -> 클럭을 일정 이상 고속화하지 못함.  사례 : Intel CPU  비동기식 버스 (Asynchronous bus)  공통 클럭 없음, hand shaking 방식  버스에 연결된 장치들의 속도가 모두 다른 경우에 적합 느린 장치 때문에 동기식 버스에서 발생하는 낭비되는 시간은 없음  주로 느린 장치에 이용  장점 공통 클럭이 없으므로 느린 장치에 대한 낭비 시간 없음  단점 회로 구성 복잡  사례 : Motorola MC68000 18 동기식 버스는 모든 사람들이 종 소리를 들으면서 작업하는 예. 다음 종이 울리기 전에 작업 완료 필요. 그러나 종이 울리는 간격이 짧아지면, 멀리 있는 사람은 종소리를 늦게 될 가 능성.

19 Synchronous Bus Timing 19  CPU 와 Memory 사례

20 Asynchronous Bus Timing 20

21 다중 버스 계층 구조 21  다중 버스 계층 구조의 목 적  시스템 버스에 연결되는 장 치의 동작 속도가 서로 다 름, 효율적인 연결이 되도 록 버스 구조 설계  단일 버스  하나의 버스를 모두 컴퓨터 구성 요소들 공유  한 번에 하나의 전송 밖에 할 수 없음. 동시에 여러 전 송 불가 버스 병목 발생 가능성 높음  버스의 속도를 증가하기 힘 듬. 느린 장치 때문  구성 비용 저렴

22 22 2-layer multiple bus

23 3-layer multiple-bus Hierarchy 23

24 24

25 버스 중재 (Bus Arbitration) 25  버스 마스터 (bus master)  버스에 연결되어 버스를 주도적으로 사용할 수 있는 하드웨어 구성 요소 initiate bus transaction  버스 제어, 주소와 제어 정보를 버스에 흘린다.  CPU, DMA Controller  버스 슬레이브 (bus slave)  버스 마스터와 데이터를 주고 받는 상대 구성 요소  메모리, 캐시 입출력 장치  버스에서의 데이터 입출력  버스 마스터가 버스에 원하는 신호를 전송하면 버스 슬레이브가 응답하여 데이터 입출 력 진행  Bus contention  버스 중재 (Bus arbitration)  왜 ? 하나의 버스에 버스 마스터가 2 개 이상인 경우, 서로 버스를 사용하려고 하는 경우 중재 필요 하나의 버스를 사용하려는 두 개 이상의 버스 마스터가 있는 경우 중재를 통해 하나의 버스 마스 터에게 버스 사용권 허락

26 중앙 집중식 버스 중재 26  버스 중재기 (Arbiter) 이용하는 방법 중앙 집중 병렬식, 고정 우선 순위 중재 중앙 집중 직렬 (Daisy chain) 중재        

27 분산식 버스 중재 27  버스 마스터가 버스 중재기를 독립적으로 소유한 형태  버스 마스터의 우선 순위와 연계됨 더 높은 우선 순위의 버스 마스터가 버스를 사용하지 않을 때만 버스 사용 신청 각능  동작 과정 각 버스 마스터는 BREQ 를 발생시킨다. BGNT 가 수신되면 버스 마스터는 BBUSY 신호를 발생시켜 버스 사용 중임을 알린다.

28 Bus Arbitration (10) 28  Decentralized serial arbitration DBGNT (daisy-chained bus grant signal)

29 폴링 29  하드웨어 폴링  버스 중재기가 버스 마스터가 검사 (polling)  n 개의 폴링선 -> 2 n 개의 코드로 2 n 개의 버스 마스터 지정 가능  방식 버스 마스터가 폴링 선을 이용하여 1 에서 2 n 까지 버스 필요한지 폴링 버스가 필요한 버스 마스터는 BREQ 신호 발생 버스 사용권이 허락되고 BBUSY 활성


Download ppt "CHAPTER 11 시스템 버스 (SYSTEM BUS). 버스란 ? 2  버스  컴퓨터의 컴포넌트 사이에 정보를 전송하기 위해, 전기적 신호가 지나가는 라인들의 집합  Data bus  Address bus  Control bus  내부 버스와 외부 버스 ("

Similar presentations


Ads by Google