-
컴퓨터 시스템의 핵심 구성 요소인 CPU, 주기억장치 및 입출력 장치(I/O 장치)는 서로 시스템 버스를 통해 연결됩니다.
시스템 버스
시스템 버스를 사용하여 CPU, 주기억장치 및 I/O 장치를 연결함으로써 컴퓨터 시스템을 구성할 수 있습니다.
시스템 버스의 구성
시스템 버스에 연결된 모든 요소들은 정보 교환과 동작 시간 조절을 위해 버스를 통해 데이터, 프로그램 코드, 제어 명령 등을 교환합니다. 따라서 버스는 많은 전기 도체 선으로 구성되며, 소형 컴퓨터에서는 일반적으로 50개에서 100개의 선이 사용되고 중대형 시스템에서는 그 이상일 수 있습니다. 버스를 구성하는 선의 수는 전송되는 데이터 비트, 주소 비트, 그리고 제어 신호의 수에 따라 결정됩니다. 버스는 다음과 같이 세 가지 유형으로 나눌 수 있으며, 각 버스는 전송되는 정보의 종류를 나타내는 이름을 가지고 있습니다.
- 데이터 버스(data bus)
- 주소 버스(address bus)
- 제어 버스(control bus)
데이터 버스는 시스템 요소들 사이에서 데이터를 전송하는 데 사용되는 선들의 집합입니다. CPU가 기억장치로부터 8비트씩 데이터를 읽어온다면 8개의 데이터 버스 선이 필요하며, 32비트씩 읽어오는 시스템에서는 32개의 선으로 구성됩니다. 데이터는 CPU와 기억장치, CPU와 I/O 장치, 그리고 기억장치와 I/O 장치 사이에서 양방향으로 전송되므로 데이터 버스는 양방향 전송을 지원해야 합니다. 주소 버스는 CPU가 기억장치로 데이터를 쓰거나 읽을 때 해당 기억 장소를 지정하기 위한 선들의 집합입니다.
주소 버스는 CPU가 I/O 장치를 사용할 때에도 필요합니다. 주소 버스는 CPU에 의해만 생성되며, 단방향 전송 기능을 가지고 있습니다. 주소 버스의 폭은 CPU가 주소를 지정할 수 있는 기억장치의 최대 용량을 결정합니다. 주소 버스의 폭은 CPU가 생성하는 주소 비트 수에 따라 결정되며, 주소 지정 단위에 따라 기억장치의 최대 용량이 달라집니다. 예를 들어, 32비트 시스템에서 주소 지정이 바이트 단위로 이루어진다면, 16비트와 24비트 주소의 경우 최대 기억장치 용량은 각각 64 Kbyte와 16 Mbyte가 됩니다. 주소 버스는 주소를 전송하는 데 사용되며, 데이터 버스와 제어 버스와 함께 시스템 버스를 구성합니다.
제어 버스는 CPU와 기억장치, I/O 장치 간에 데이터를 교환하기 위해 필요한 제어 신호를 포함합니다. 이러한 제어 신호는 기억장치에 데이터를 쓰거나 읽을 때, I/O 장치로 데이터를 출력하거나 읽을 때 사용됩니다. 일반적인 제어 신호로는 기억장치 쓰기 신호, 기억장치 읽기 신호, I/O 쓰기 신호, I/O 읽기 신호 등이 있습니다.
시스템 버스에는 버스 마스터라고 불리는 요소들이 연결되어 있습니다. 버스 마스터는 CPU, I/O 제어기 등이 되며, 시스템의 구성과 동작에 따라 제어 신호의 종류와 수가 달라집니다. 버스 마스터들은 서로 정보를 교환하기 위해 공통의 시스템 버스를 사용합니다. 그러나 한 순간에는 한 개의 버스 마스터만 버스를 사용할 수 있기 때문에, 동시에 사용하려는 마스터들은 중재(arbitration)를 통해 사용 순서를 결정해야 합니다. 중재를 위해 버스 요구 신호, 버스 승인 신호, 버스 사용 중 신호 등의 제어 신호들이 사용됩니다. 버스의 동작은 쓰기 동작과 읽기 동작으로 구분됩니다. 쓰기 동작에서는 버스 마스터가 버스 사용권을 획득한 후 주소, 데이터, 쓰기 신호를 전송합니다. 읽기 동작에서는 버스 마스터가 버스 사용권을 획득한 후 주소와 읽기 신호를 전송하고, 데이터가 전송될 때까지 기다립니다. 시스템 버스의 동작은 동기식 버스와 비동기식 버스로 나뉩니다. 동기식 버스는 버스 동작들이 공통의 버스 클록을 기준으로 발생하는 것을 말하며, 버스 클록의 주파수에 따라 버스 대역폭이 결정됩니다. 비동기식 버스는 버스 동작들의 발생 시간이 다른 버스 동작에 의해 결정되는 것을 말합니다.
'IT와 인터넷' 카테고리의 다른 글
병렬처리에 대해 알아보기 (0) 2023.07.04 I/O 장치의 접속에 대해 알아보기 (0) 2023.07.03 제어 유니트에 대해 알아보기 (0) 2023.07.02 멀티미디어에 대해 알아보기 (0) 2023.06.30 인터넷과 정보보안에 대해 알아보기 (0) 2023.06.30