Bus에 대해 설명해보세요.
Bus
Bus란 신호 또는 정보를 전송하기 위한 연결통로이다. 컴퓨터 정보통신에 있어서 Bus는 어느 한 발신지에서 어느 한 수신지로 정보(DATA)를 전달하는 공통로를 말하며, 시스템의 구성요소인 프로세서 보드, 메모리 보드, 입출력 보드를 결합해 시스템을 구축하는 공통라인이다.
시스템버스는 인체에서 동맥과 같은 것으로 모든 데이터를 전달하는 공통통로로, 각 보드 내에 존재하는 로컬버스 또는 내부버스라고도 한다. 모든 기종에 사용할 수 있는 호환성을 갖는 표준버스는 마이크로프로세서가 8비트인 시대에 S-100, 16비트에 IEEE796 버스(멀티 버스1)가 널리 사용되어 왔고, 요즘엔 PC나 워크스테이션에 사용되는 32비트의 마이크로프로세서에 대응해 VME버스, 멀티버스2, Nu버스 등이 사용되어 왔다
- 버스의 종류
버스는 메인보드 상에서 CPU를 비롯하여 메모리, 칩셋, 확장 슬롯 등을 서로 연결하여 데이터를 주고받을 수 있게 해주는 통로이다. 버스의 데이터 폭과 속도는 위치와 역할에 따라 다르다. 버스의 방식에는 ISA, EISA, MCA, VESA, PCI, AGP 방식 등이 있다.
- 내부 입출력 방식
(1) ISA(Industry Standard Architecture) 버스 방식
미국 IBM이 AT방식의 PC에 채용한, 8bit 및 16bit 데이터를 전송시키는 버스의 규격을 말하며, "AT 버스" 또는 "산업표준구조"라고도 한다. 이전의 PC 버스, 즉 XT 버스에서는 4.77MHz 8bit 버스였으나 ISA 버스를 채용한 AT가 등장하면서부터 8MHz 16bit, 최고 초당 8MB의 전송속도를 가진 버스로 확장되었다.
기존 XT에서 AT가 개발되었을 때 8bit의 데이터만 전송 가능하던 62pin 확장슬롯에 다시 36pin 커넥터를 추가해서 16비트의 데이터 전송도 가능하게 만들었다. XT 버스의 어드레스 라인은 A0-A19까지의 20개(2의 20제곱은 1MB)이므로 XT에서는 1MB의 어드레스밖에는 사용할 수 없었으나, AT 버스가 되면서 어드레스 라인은 A0-A23까지의 24비트(2의 24제곱은 16MB)로 늘어나서, 16MB까지 메모리를 사용할 수 있게 되었다.
현재 나오는 ISA를 채용한 메인보드는 예전에 쓰던 주변기기를 사용할 수 있도록 1~2개의 슬롯이 있지만, 대부분은 PCI 방식과 AGP방식으로 넘어가는 추세이다. ISA 버스 방식은 이전부터 대부분의 주변 장치에 채용되어 구하기 쉽고 가격이 저렴하다. 처음 386이 나올 당시 32bit 버스를 채용하지 못한 이유는 286 AT와의 호환성 문제 때문이었다. AT에서 사용하던 주변기기가 386에서도 제대로 작동이 되어야 386으로의 업그레이드를 생각할 수 있었기 때문이다.
▷ 8MHz의 16bit 데이터 전송
▷ CPU의 클럭이 높은 주파수에서는 왜곡이 심하다.
▷ DRAM의 리프레쉬로 인한 과도한 전류 때문에 잡음이 많이 생긴다.
▷ 어드레스 공간 확장에 따른 DMA 공간 확장이 제한적이다.
▷ CPU와 시스템 버스 사이의 엄청나 속도 차이로 고해상도 그래픽 등 많은 양의 데이터를 처리해야 할 경우 병목현상이 일어난다.
(2) MCA(Micro Channel Architecture) 버스 방식
32bit 80386 계열 프로세서들이 16bit ISA 버스에 채용되어 제 성능을 발휘하지 못하자, IBM에서는 16bit 버스와 DOS 운용체계의 640KB이라는 제한된 환경에서 벗어나 획기적인 성능 향상을 가질 수 있도록 32bit 버스 구조의 MCA 버스를 채용한 PS/2를 발표하게 되었다.
MCA 버스는 32bit 구조로 14.5MHz의 데이터 전송 속도를 가지고 있어서 8MHz ISA 버스보다는 데이터 전송 속도가 훨씬 빨라졌다. 하지만 MCA 버스는 ISA 버스와는 구조가 전혀 다르기 때문에 지금까지 사용해 왔던 ISA 버스에서 쓰던 내장형 보드 등과 같은 주변기기는 MCA 버스 방식을 채용한 PS/2와 같은 기종에서는 전혀 사용할 수가 없다는 단점이 있다.
▷ PS/2에서 채택
▷ 초당 40MB 대역폭
▷ 14.5MHz 버스 클럭
▷ 32bit의 I/O 구조
▷ 중대형 컴퓨터에 사용되었던 버스를 PC에 도입한 것으로, 시스템 내부에 작은 공간을 차지하여 전파 간섭 현상을 줄였다.
(3) EISA (Extended Industry Standard Architecture) 버스 방식
인텔의 32bit CPU인 80386을 위한 PC가 개발되면서 더 빠른 전송속도를 갖는 버스의 개발이 필요해지자, IBM이 이 버스와 비호환으로 개발한 MCA 버스와 컴팩 컴퓨터와 몇 업체가 개발한 호환을 중요시한 EISA 버스가 있지만, 개인용 PC에는 많이 사용되지 않았던 방식이다.
ISA의 16bit 한계를 극복하고, IBM사의 마이크로 채널 MCA 방식에 대항하여 휴펫팩커드, 컴팩 등 9개 PC 제조업체들이 IBM 컴퓨터의 시장 독주를 막기 위해 공동으로 개발한 32bit 확장 버스 규격이다. 33MB/sec 전송률과 8.33MHz 밴드 폭을 가진 EISA 버스는 고속 SCSI 어댑터와 그래픽 카드에 사용되고 있다. 그러나 EISA 방식의 주변기기가 ISA 방식의 주변기기보다 가격이 비싸 사용자의 선택의 폭을 좁히고 있다.
▷ ISA 호환 아키텍쳐
▷ 초당 32MB 대역폭
▷ 8.33MHz 버스 클럭
▷ 32bit의 I/O 구조
(4) VESA(Video Electronics Standard Architecture) Local 버스 방식
ISA버스를 사용할 경우 비디오카드, IDE 카드, 랜 카드 등의 데이타 병목현상이 심해진다. 결국 CPU만 빠르고, 주변기기는 따라오지 못해서 시스템의 성능에도 영향을 미치게 되는 것이다. 이러한 현상을 막기 위해서 비디오 칩 제조업체인 AMD, C&T, 쳉랩스, 바이텍, AT, S3 등이 연합하여 1992년에 규정한 방식이다.
VESA Local 버스는 ISA 슬롯과 같은 16bit 체제이지만 ISA보다 구조상 빠르게 설계되어 있다. 32bit 데이터 버스폭, 버스 클럭 주파수 33.3MHz에서 최고 초당 133MB의 전송속도를 보인다. 그러나 컴퓨터의 두되라 할 수 있는 CPU에 과중한 부담을 주게 되어, 그래픽 처리속도나 주변장치로의 정보전달 등에 결정적인 약점이 있는 것으로 지적되고 있다.
발표될 때만 하더라도 베사로컬 버스 방식은 기존의 ISA 방식과 거의 완벽한 호환성을 유지한다는 점과 비교적 저렴한 가격으로 성능향상을 꾀할 수 있다는 장점 때문에 차세대를 주도할 버스 방식이라고까지 극찬을 받았다. 그러나 베사로컬 버스 방식은 이 방식의 장점이라고 할 수 있는 버스 마스터링 모드 때문에 오히려 성능이 제한될 수밖에 없는 상황이 되었다.
VESA Local 방식은 CPU와 직접 연결되기 때문에 CPU의 외부 동기속도와 맞아야 하는데, 과거 486 CPU는 486DX2-66의 외부 버스 속도가 33MHz, 486DX2-50이 25MHz, 486DX-40이 40MHz이므로 VESA Local 버스 규격인 최대 속도 40MHz와 같거나 맞을 수 있었다. 하지만 PENTIUM CPU는 외부 버스 속도가 66MHz이므로 VESA Local 버스 40MHz로는 지원이 불가능하다.
▷ ISA/EISA와 호환을 고려한 기능 확장
▷ 32bit의 I/O 구조
▷ 33MHz 버스 클럭
▷ 최대한 지원할 수 있는 디바이스 수 3개
▷ CPU와 버스 마스터링이 동시에 동작하지 못해 버스, 마스터링이 작동할 때 CPU를 비롯한 다른 로컬 버스들이 대기 상태에 있어야 한다.
(5) PCI(Peripheral Component Interconnect) 버스 방식
미국의 인텔사가 제창하고 주요 PC 관련 업체들이 참가한 PCI SIG(Special Interest Group)가 만든 버스 규격으로, 현재 PENTIUM 이상의 보드에 채택되고 있는 고속버스이다. VL 버스가 CPU에 의존하는 방식인 것에 비해 PCI는 CPU와 버스 사이에 브리지 회로를 넣는 방식이기 때문에 VL 버스에 비해서는 가격이 조금 비싼 편이다.
PCI 버스는 CPU의 종류가 달라지더라도 대응하는 브리지 회로를 갖추어 주면 버스의 구조를 변경할 필요가 없다는 장점이 있다. PCI의 133MB/sec 전송률과 33MHz 밴드폭 디자인은 고속 CPU를 위해 만들어진 것으로, VL 버스와 EISA 버스를 대체해 나가는 지금의 64bit 위지의 PENTIUM 이상의 PC에 있어 표준 고속버스로 자리 매김하고 있다.
버스 구조도 CPU와 버스가 독립적으로 작동하도록 되어 있어 정보처리 속도가 빠르다. PCI 버스는 호환성 또한 VL 버스에 비해 뛰어나다. PCI방식은 33MHz 클럭을 사용한 최대 대역폭(Bandwindth)이 132MB이다. 인텔에서는 개발 초기에 관련 업체에 기술을 공개하고 지원하였다. 그래서 PCI 주변장치의 확장에 있어서는 VL 버스 방식과 비교할 수 없는 완전한 호환성을 보장하고 있어서 PCI는 PENTIUM 시대의 대표적인 버스가 된 것이다.
PCI는 CPU에 직접 부담을 주지 않도록 CPU와 PCI 버스 사이에 PCI브리지를 설치하여 CPU와는 별개로 동작하도록 되어 있다. 그래서 PCI 버스에 연결되는 확장 슬롯도 10개까지 확장이 가능하다. 기존 ISA, VL 버스 방식으로 된 주변 장치와의 호환성 때문에 버스 전체를 PCI로 구성한 메인보드는 아직 흔하지 않다. 그래서 요즘 출시되는 PCI 보드는 ISA나 EISA 또는 베사로컬 버스를 혼합(1~2개)하여 구성하고 있지만, VL 또는 EISA 버스 방식은 거의 찾아보기가 힘들다. 또한, 대부분의 카드들이 ISA에서 PCI로 바뀌어 가고 있다.
▷ 멀티미디어 컴퓨팅 환경에서 유리하다.
▷ 기존의 메인보드나 주변장치의 설계를 대폭 변경해야 한다.
▷ 비디오 데이터를 실시간 처리해 멀티미디어에 안성맞춤.
▷ 32bit의 I/O 구조
▷ 32MHz 버스클럭
▷ 최대한 지원할 수 있는 디바이스 수 10개
▷ CPU와 버스 마스터링이 동시에 동작한다. 주변장치가 CPU의 속도를 따라가지 못하더라도 CPU는 주변장치의 동작과는 무관하게 계속해서 작업할 수 있으며, 주변장치도 그 나름대로 계속 동작할 수 있다.
(6) AGP(Accelerated Graphics Port) 버스 방식
PCI는 매우 빠른 데이터 전송속도를 가지고 있다. 그러나 최근의 PCI장치, 특히 대표적인 PC 장치인 그래픽 디바이스 보드(VGA)가 3차원, Full motion Video를 점차 표준화하고 있어 더욱 빠른 전송속도를 요구하게 되었다. 인델을 비롯한 그래픽 회사들은 이러한 그래픽 카드의 고속데이터 전송요구를 만족시키기 위해서 AGP라는 방식을 채택하게 되었다.
AGP(Accelerated Graphics Port)</font>는 초고속 비디오 전용 포트의 약어로, 한 때 웍스테이션 또는 고급 PC 등에만 한정되었던 3차원 그래픽과 같은 고급 기능을 일반적인 PC에서도 가능하게 한 기술이다. 메모리장치와 그래픽처리장치 사이에 있는 버스의 대역폭을 확장시켜, 66/133MHz 클럭을 사용한 최대 대역폭이 528MB/sec로 고속전송이 가능하며, 특히 3D의 성능을 높일 수가 있다.
1996년 당시 PENTIUM II 프로세서와 intel 440LX 칩셋에서 이 기능을 구현할 수 있었고, 최근에 출시되는 메인보드에서는 모두 AGP 방식을 지원한다. 현재 4배속 AGP를 지원하는 방식의 메인보드가 출시되었다.
기본적으로 비디오 카드의 프레임 버퍼를 사용하는 대신 시스템 메모리를 텍스처 버퍼 / Z 버퍼/ 알파 버퍼 등의 목적으로 사용할 수 있게 함으로써, 텍스처 관리능력을 대폭 강화시키고 아울러 폴리곤 수를 증가시킬 수 있도록 데이터 전송 능력을 향상시키기 위해서 기존의 PCI 버스를 개선한 것이다. 일종의 융통성을 강화시킨다는 측면에서는 인텔에서 발표한 UMA(Unified Memory Architecture)와 비슷한 맥락이라고도 볼 수 있다.
▷ 3D 등 고속의 비디오 데이터 처리에 안성맞춤
▷ VGA 카드 전용 포트
▷ 64bit I/O 구조
▷ 32bit의 I/O 구조
▷ 66/133MHz 버스 클럭
커뮤니티 Q&A
위 이론과 관련된 게시글이에요.
이해가 안 되거나 궁금한 점이 있다면 커뮤니티에 질문해 보세요!
게시글 작성하기