컴퓨터 하드웨어는 크게 중앙처리장치(CPU), 메인 메모리(기억 장치), 입출력 장치로 나뉘며 이들은 모두 버스(Bus)로 연결되어 있습니다. 이번 포스팅에서는 버스에 대해서 알아보겠습니다.
버스 (Bus)
버스(Bus)란 CPU, 주기억 장치, 외부의 입출력 장치 사이의 정보 전송을 위한 전기적 통로입니다. 즉, 컴퓨터의 많은 장치들이 서로 데이터를 주고 받기 위한 통로입니다. 버스의 크기, 버스를 통한 데이터 전송 속도가 시스템의 성능을 좌우합니다.
버스의 분류
버스에 실리는 신호의 종류에 따라 데이터 버스, 주소 버스, 제어 버스로 구성됩니다.
- 데이터 버스(Data Bus): 메인 메모리와 CPU 사이, 입출력 장치와 메인 메모리 사이, CPU 내부의 모듈들 간의 데이터가 이동하는 경로
- 주소 버스(Address Bus): CPU가 사용하고자 하는 데이터가 위치한 주소가 이동하는 경로
- 컨드롤 버스(Control Bus): CPU에서 발생하는 제어 명령이나 상태 신호들이 이동하는 경로
버스의 위치에 따라서 내부 버스(CPU 내부), 외부 버스(CPU 외부)로 구성됩니다.
- 내부 버스: CPU 내부에 위치한 버스
- 외부 버스: CPU와 메인 메모리, 입출력 장치를 연결하는 버스
버스의 역할 수행
CPU가 주기억 장치에 데이터를 읽고 쓰기를 진행할 때, 버스는 다음의 역할을 수행합니다.
- CPU가 버스에 데이터를 싣는다
- 주소 버스: 데이터를 쓰거나 읽고자 하는 주기억 장치의 주소값
- 데이터 버스: 쓰는 경우에는 쓰고자 하는 데이터 값
- 제어 버스: 기억장치 읽기 신호 또는 기억장치 쓰기 신호 - 주기억 장치는 제어 버스에 실린 제어 신호를 확인한다.
- 읽기 신호인 경우: 주소 버스에 실린 주소 값의 데이터 값을 주기억 장치에서 읽어서 데이터 버스에 실는다.
- 쓰기 신호인 경우: 주소 버스의 해당하는 주소에 데이터 값을 쓴다. - 읽기 작업 인 경우, 일정 시간 후 CPU가 데이터 버스에 실린 값을 CPU로 가져온다.
버스 중재 방식
버스 중재란 버스에 접속된 두 개 이상의 모듈들이 동시에 버스를 사용하고자 할 때 순서대로 한 개씩 버스를 사용할 있게 해주는 제어를 말합니다. 버스의 종류나 구조는 다양하고, 다양한 모듈들이 버스를 공유하기에 버스 중재 방식도 다양한 방식이 있는 것입니다. 버스 중재를 위해서는 다음과 같은 신호를 사용합니다.
- 버스 요구 신호(Bus Request): 특정 장치가 버스 사용을 요구했음을 알리는 신호
- 버스 승인 신호(Bus Grant): 버스 사용을 요구하는 장치에게 사용을 허가하는 신호
- 버스 사용 중 신호(Bus Busy): 현재 버스가 사용되고 있는 중임을 나타내는 신호
반응형