맨위로가기

시스템 버스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

시스템 버스는 컴퓨터 내에서 데이터 전송을 위한 통신 경로이다. 1945년 EDVAC 보고서를 통해 폰 노이만 구조가 제시되면서 시스템 버스의 개념이 나타났으며, CPU, 메모리, 입출력 장치를 연결하는 데 사용되었다. 초기에는 개별 케이블로 연결되었지만, 이후 집적 회로의 발달과 함께 표준화되었고, 메모리 버스, I/O 버스, 제어 버스 등을 통합한 형태의 시스템 버스로 발전했다. 인텔은 듀얼 독립 버스(DIB) 개념을 도입하여 CPU 캐시와 시스템 메모리 간의 데이터 전송 속도를 향상시켰으며, 현재는 시스템 온 칩(SoC) 및 다이렉트 미디어 인터페이스(DMI) 등 다양한 형태로 사용되고 있다.

더 읽어볼만한 페이지

  • 컴퓨터 버스 - NMEA 0183
    NMEA 0183은 선박용 GPS, 자동식별장치(AIS) 등 항해 장비에서 데이터를 송수신하는 데 사용되는 ASCII 기반의 직렬 통신 프로토콜로, RS-422 전기 표준을 사용하며, 문장 형태의 데이터를 통해 정보를 전달하고, 물리 계층, 데이터 링크 계층, 애플리케이션 계층의 3가지 레이어로 구성되어 다양한 소프트웨어에서 지원된다.
  • 컴퓨터 버스 - 인피니밴드
    인피니밴드는 고성능 컴퓨팅 환경에서 서버, 스토리지, 네트워크 장치 간 고속 데이터 전송을 위한 직렬 통신 기술로, 슈퍼컴퓨터나 데이터 센터에서 주로 사용되지만 이더넷 기반 기술과의 경쟁 및 새로운 컴퓨팅 환경에 대한 적응이라는 과제를 안고 있다.
시스템 버스
시스템 버스 개요
종류전면 버스
백사이드 버스
데이터 버스
주소 버스
제어 버스
용도컴퓨터 내의 주요 구성 요소 연결
상세 정보
설명시스템 버스는 컴퓨터 시스템 내에서 데이터 전송을 담당하는 단일 컴퓨터 버스이다.
주요 연결 대상중앙 처리 장치 (CPU)
메모리
입출력 장치

2. 역사적 배경

1945년 폰 노이만 구조의 등장과 함께 시스템 버스의 개념이 시작되었다. 초기 컴퓨터는 CPU, 메모리, 입출력 장치가 각각 케이블로 연결된 별도의 캐비닛 형태였다. 엔지니어들은 이러한 케이블 묶음을 표준화했고, 인쇄 회로 기판을 상호 연결하기 위한 백플레인 개념으로 확장했다. "버스"라는 명칭은 이미 초기 기계식 계산기를 포함한 전기 기계의 각 부분에 전력을 공급하는 "버스바"에 사용되었다.[5] 집적 회로(IC) 기술의 발전으로 컴퓨터 크기가 작아지면서 버스는 더욱 표준화되었고, 개발 및 유지보수가 용이해졌다.[6]

2. 1. 초기 발전

1945년에 발표된 ''EDVAC 보고서 초안''에 기반한 컴퓨터가 많았다. 폰 노이만 구조로 알려지게 된 이 구조에서, 중앙 제어 장치와 산술 논리 장치(ALU, 그는 중앙 산술 부분이라고 불렀다)가 컴퓨터 메모리 및 입출력 기능과 결합되어 저장 프로그램 방식 컴퓨터를 형성했다.[3] 이 ''보고서''는 컴퓨터의 일반적인 구조와 이론적인 모델을 제시했지만, 그 모델의 구현은 제시하지 않았다.[4] 곧 설계들은 제어 장치와 ALU를 통합하여 중앙 처리 장치(CPU)로 알려지게 되었다.

1950년대1960년대의 컴퓨터는 일반적으로 임시변통 방식으로 제작되었다. 예를 들어 CPU, 메모리, 입출력 장치는 각각 케이블로 연결된 하나 이상의 캐비닛이었다. 엔지니어들은 표준화된 와이어 번들의 일반적인 기술을 사용했고, 이러한 초기 기계에서 백플레인인쇄 회로 기판을 고정하는 데 사용되면서 이 개념을 확장했다. "버스"라는 이름은 이미 초기 기계식 계산기를 포함한 전기 기계의 다양한 부분에 전력을 공급하는 "버스바"에 사용되었다.[5] 집적 회로의 출현으로 각 컴퓨터 장치의 크기가 대폭 줄어들었고, 버스는 더욱 표준화되었다.[6] 표준 모듈은 더 균일한 방식으로 상호 연결될 수 있었고, 개발 및 유지 관리가 더 쉬워졌다.

2. 2. 집적 회로와 표준화

집적 회로(IC)의 출현으로 컴퓨터 구성 요소의 크기가 대폭 줄어들면서 버스가 더욱 표준화되었다.[6] 표준화된 모듈은 상호 연결이 용이해졌고, 개발 및 유지 보수가 더 쉬워졌다.

2. 3. 시스템 버스의 통합

모듈성과 비용 절감을 위해 메모리 버스와 입출력 버스(그리고 필요한 제어 버스 및 전원 버스)는 때때로 단일 통합 시스템 버스로 결합되었다.[7] 컴퓨터가 단일 캐비닛에 들어갈 만큼 작아지면서(고객은 비슷한 가격 인하를 예상했음) 모듈성과 비용이 중요해졌다. 디지털 이큅먼트 코퍼레이션(DEC)은 대량 생산된 미니컴퓨터의 비용을 더욱 절감하고, 메모리 맵 I/O를 메모리 버스에 통합하여 장치가 메모리 위치처럼 보이도록 했다. 이는 1969년경 PDP-11유니버스에 구현되어 별도의 I/O 버스가 필요 없어졌다.[8] PDP-8과 같이 메모리 맵 I/O가 없는 컴퓨터조차 곧 시스템 버스로 구현되어 모든 슬롯에 모듈을 꽂을 수 있었다.[9] 일부 저자들은 이를 새로운 간소화된 컴퓨터 아키텍처 "모델"이라고 불렀다.[10]

2. 4. 마이크로컴퓨터와 시스템 버스

초기 마이크로컴퓨터는 알테어 8800의 S-100 버스[11]와 같이 단일 시스템 버스를 사용하여 구축되었다. IBM PC는 1981년에 시스템 버스로 산업 표준 아키텍처(ISA) 버스를 사용했다.[28] 초기에는 수동 백플레인 방식이었으나, CPU와 주기억장치를 마더보드에 배치하고 시스템 버스 슬롯에 확장 카드를 꽂는 방식으로 대체되었다.[28]

1983년, 멀티버스가 전기 전자 기술자 협회(IEEE) 표준 796으로 지정되었다.[12] 썬 마이크로시스템즈는 1989년에 더 작은 확장 카드를 지원하기 위해 SBus를 개발했다.[13] 1980년대에는 공유 시스템 버스에 둘 이상의 CPU를 연결하는 대칭형 멀티프로세싱 방식이 사용되었으나, 공유 버스의 병목 현상으로 인해 더 정교한 연결 기술이 연구되었다.[14]

2. 5. 멀티프로세싱과 시스템 버스

대칭형 다중 처리(SMP)를 구현하는 가장 쉬운 방법은 여러 개의 중앙 처리 장치(CPU)를 공유 시스템 버스에 연결하는 것이었으며, 이는 1980년대까지 사용되었다.[14] 1983년에는 멀티버스가 전기 전자 기술자 협회(IEEE) 표준 796으로 제정되었다.[12] 썬 마이크로시스템즈는 더 작은 확장 카드를 지원하기 위해 1989년에 SBus를 개발했다.[13] 그러나 공유 버스는 빠르게 병목 현상이 되었고, 더 정교한 연결 기술이 모색되었다.[14]

3. 듀얼 독립 버스 (DIB)

인텔은 "듀얼 독립 버스"(Dual Independent Bus, DIB)라는 용어를 두 가지 다른 목적으로 사용했다. 첫 번째는 단일 로컬 버스에서 DIB로 변경했을 때로, 외부 프런트 사이드 버스는 주 시스템 메모리 및 I/O 장치에, 내부 백 사이드 버스는 L2 CPU 캐시에 사용되었다. 이는 1995년 펜티엄 프로에서 처음 도입되었다.[15][16][17]

현대 개인용 및 서버 컴퓨터에서는 하이퍼트랜스포트 및 인텔 퀵패스 인터커넥트와 같은 고성능 상호 연결 기술이 사용되며, 시스템 버스 아키텍처는 더 간단한 임베디드 마이크로프로세서에서 계속 사용된다. 시스템 버스는 단일 집적 회로 내부에 있을 수도 있으며, 시스템 온 칩을 생성한다. 예시로는 AMBA, 코어커넥트, 위시본 등이 있다.[19]

3. 1. 펜티엄 프로와 펜티엄 II

인텔은 CPU 설계가 더 빠른 내부 버스와 더 느린 주변 장치 버스를 사용하는 방식으로 발전함에 따라, 메인 시스템 메모리와의 외부 프런트 사이드 버스(FSB)와 CPU, CPU 캐시 사이의 내부 버스인 back-side bus영어를 사용하는 듀얼 독립 버스(Dual Independent Bus, DIB) 개념을 도입했다. 이는 1990년대 중반부터 후반까지 펜티엄 프로펜티엄 II에 적용되었다.[32] CPU가 메인 메모리나 입출력 장치와 데이터를 주고받기 위한 기본 버스를 프런트 사이드 버스라고 하며, 백사이드 버스는 2차 캐시에 접근하는 데 사용된다.

3. 2. 칩셋의 DIB

2005년과 2006년에 인텔은 8500 및 5000 칩셋을 출시했는데, 여기서 DIB는 칩셋의 두 개의 프런트 사이드 버스(FSB)를 의미하며, 이는 모든 CPU가 공유하는 하나의 FSB만 있는 경우에 비해 시스템 대역폭을 두 배로 늘렸다.[18] 그러나 서로 다른 캐시에 위치한 공유 데이터의 캐시 일관성을 보장하는 데 필요한 정보는 다른 FSB의 CPU 캐시 상태를 확인하기 위해 브로드캐스트(스누핑)로 전송해야 하므로 사용 가능한 대역폭이 감소한다.[18] 일관성 트래픽을 줄이기 위해, 상위 칩셋에는 온칩셋에서 캐시 상태 정보를 사용할 수 있도록 스눕 필터가 포함되었다.[18] 2007년 인텔은 7300 칩셋에서 4개의 독립적인 FSB를 사용하여 다중 버스 개념을 확장했으며, 이를 "전용 고속 상호 연결"(DHSI)이라고 불렀다.[18]

4. 현대적 응용

현대의 개인용 컴퓨터와 서버에서는 시스템 버스 방식 대신 하이퍼트랜스포트(HyperTransport), 인텔 퀵패스 인터커넥트(Intel QuickPath Interconnect)와 같은 고성능 상호 연결 기술이 사용된다.[19] 하지만 시스템 버스 아키텍처는 여전히 더 간단한 임베디드 마이크로프로세서에서 사용된다.[19]

4. 1. 시스템 온 칩 (SoC)

시스템 버스를 단일 집적 회로 내부에 내장하여 시스템 온 칩을 구현할 수도 있다. 그 예로 Advanced Microcontroller Bus Architecture|AMBA영어, CoreConnect영어, Wishbone (computer bus)|Wishbone영어 등이 있다.[33]

4. 2. 인텔 다이렉트 미디어 인터페이스 (DMI)

다이렉트 미디어 인터페이스인텔이 2004년부터 사용한 시스템 버스의 한 예시이다 (직접 접근하는 PCIe 레인 외).[1] 주로 메모리 맵 입출력 장치에 접근하고 CPU와 칩셋 간에 통신하는 데 사용된다.[1]

5. 버스 경합과 중재

매우 간단한 시스템에서 데이터 버스는 프로그램 메모리, RAM 및 입출력(I/O) 장치에 의해 구동된다. 버스 경합을 방지하기 위해 한 번에 하나의 장치만 데이터 버스를 구동한다. 매우 간단한 시스템에서는 데이터 버스만 양방향 버스이다.[7]

매우 간단한 시스템에서 메모리 주소 레지스터는 항상 주소 버스를 구동하고, 제어 장치는 항상 제어 버스를 구동한다. 주소 디코더는 이 버스 사이클 동안 데이터 버스를 구동할 특정 장치를 선택한다. 모든 명령어 사이클은 프로그램 메모리가 데이터 버스에 명령어를 구동하고 명령어 레지스터가 데이터 버스에서 해당 명령어를 래치(latch)하는 읽기(READ) 메모리 사이클로 시작한다. 일부 명령어는 선택한 RAM 또는 입출력 장치로 데이터 버스에 데이터를 구동하는 메모리 데이터 레지스터가 있는 쓰기(WRITE) 메모리 사이클로 계속된다. 다른 명령어는 선택한 RAM, 프로그램 메모리 또는 입출력 장치가 데이터 버스에 데이터를 구동하고 메모리 데이터 레지스터가 데이터 버스에서 해당 데이터를 래치하는 또 다른 읽기(READ) 메모리 사이클로 계속된다.[7]

더 복잡한 시스템은 멀티 마스터 버스를 가지는데, 데이터 버스를 구동하는 장치뿐만 아니라 주소 버스를 구동하는 여러 버스 마스터도 있다. 버스 스누핑 시스템의 주소 버스와 데이터 버스는 모두 양방향 버스여야 하며, 종종 3상태 버스로 구현된다. 주소 버스에서 버스 경합을 방지하기 위해 버스 중재자는 현재 버스 사이클 동안 주소 버스를 구동할 특정 버스 마스터를 선택한다.[7]

참조

[1] 웹사이트 Chapter 10 – Overview of Busses http://www.edwardbos[...]
[2] 간행물 Computer Buses and Parallel Input/Output http://www.cse.unsw.[...] 2006
[3] 웹사이트 First Draft of a Report on the EDVAC http://qss.stanford.[...] 2011-05-27
[4] 학술지 The Computer as von Neumann Planned It http://qss.stanford.[...]
[5] US Patent Continuous Bus Bar for Connector Plate Back Panel Machine Wiring
[6] US Patent Computer System Adapted to be Constructed of Large Integrated Circuit Arrays
[7] 서적 The essentials of computer organization and architecture https://books.google[...] Jones & Bartlett Learning
[8] 학술지 A New Architecture for Mini-Computers—The DEC PDP-11 http://research.micr[...]
[9] 서적 Small Computer Handbook http://www.bitsavers[...] Digital Equipment Corporation
[10] 서적 Computer architecture and organization: an integrated approach John Wiley & Sons
[11] 웹사이트 Origins of S-100 computers http://retrotechnolo[...]
[12] 웹사이트 796-1983 — IEEE Standard Microcomputer System Bus https://standards.ie[...] Institute of Electrical and Electronics Engineers 2011-05-25
[13] 서적 Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage
[14] 서적 Bus and Cache Memory Organization for Multiprocessors http://www.eecs.umic[...] University of Michigan Electrical Engineering department 2011-05-29
[15] 뉴스 Intel's CEO Reveals New Bus Architecture To Be Implemented In Upcoming Pentium® II Microprocessor https://www.intel.co[...]
[16] 웹사이트 Introduction to Intel Architecture: The Basics ftp://download.intel[...] Intel Corporation 2011-05-25
[17] 간행물 Accelerated Graphics Port Imagine Media 1998-01
[18] 웹사이트 An Introduction to the Intel® QuickPath Interconnect https://www.intel.co[...]
[19] 웹사이트 OpenCores SoC Bus Review http://opencores.org[...] 2011-05-30
[20] 웹사이트 First Draft of a Report on the EDVAC http://qss.stanford.[...] 2011-05-27
[21] 학술지 The Computer as von Neumann Planned It http://qss.stanford.[...]
[22] US Patent Continuous Bus Bar for Connector Plate Back Panel Machine Wiring
[23] US Patent Computer System Adapted to be Constructed of Large Integrated Circuit Arrays
[24] 서적 The essentials of computer organization and architecture https://books.google[...] Jones & Bartlett Learning
[25] 학술지 A New Architecture for Mini-Computers—The DEC PDP-11 http://research.micr[...]
[26] 서적 Small Computer Handbook http://www.bitsavers[...] Digital Equipment Corporation
[27] 서적 Computer architecture and organization: an integrated approach John Wiley & Sons
[28] 웹사이트 Origins of S-100 computers http://retrotechnolo[...] 2020-04-09
[29] 웹사이트 796-1983 — IEEE Standard Microcomputer System Bus http://standards.iee[...] Institute of Electrical and Electronics Engineers 2011-05-25
[30] 서적 Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage
[31] 서적 Bus and Cache Memory Organization for Multiprocessors http://www.eecs.umic[...] University of Michigan Electrical Engineering department
[32] 웹사이트 Introduction to Intel Architecture: The Basics ftp://download.intel[...] Intel Corporation 2011-05-25
[33] 웹사이트 OpenCores SoC Bus Review http://opencores.org[...] 2011-05-30
[34] 웹사이트 Chapter 10 – Overview of Busses http://www.edwardbos[...]
[35] 간행물 Computer Buses and Parallel Input/Output http://www.cse.unsw.[...] 2006



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com