시스템 버스 (System Bus)

rin12·2020년 5월 1일
1

CSW

목록 보기
3/12
post-thumbnail


우리가 흔히 알고 있는 버스처럼 시스템에서의 버스는 데이터의 교통수단이다. 데이터들을 연결해 주는 역할을 해 준다. 더 자세한 그림은 아래와 같다.

CPU, I/O 장치, 기억 장치들을 연결해 주는 중심 통로이다. 하드웨어를 물리적으로 연결하여 서로 데이터를 주고 받을 수 있게 하는 역할. 각 장치들이 다른 장치로 데이터를 보낼 수 있도록 해 준다.

시스템 버스 중에서도 내부 버스와 외부 버스가 있지만 이 글에서는 내부 버스만 다룰 예정이다.

*I/O 장치란 입출력 장치의 줄임말. (Input, Output)

기본 동작

  • 쓰기 동작 과정 : 버스 사용권을 획득, 주소와 데이터 및 쓰기 신호를 전송

  • 읽기 동작 과정 : 버스 사용권을 획득, 주소와 읽기 신호를 보내고 데이터가 전송되어
    올 때까지 대기

데이터 버스

CPU와 기타 장치 사이에서 데이터를 전달하는 통로.

기억장치와 I/O 장치의 명령어와 데이터를 CPU로 보내거나 연산 결과를 기억장치와 I/O로 보낸다. 데이터 버스의 크기는 CPU가 한 번에 전송 가능한 데이터의 크기와 같다.

데이터를 주고 받아야 하기 때문에 양방향 버스이다.

주소 버스

CPU가 주기억 장치나 I/O 장치로 기억장치 주소를 전달하는 통로.

데이터를 정확하게 전달하기 위해서는 주소를 정해줘야 한다. 주소 버스는 주소를 전달만 하기 때문에 단방향 버스이다.

예) 프로세서에서 001010010이란 위치에 데이터를 보내려면 데이터 뿐만 아니라 목적지인 001010010도 주소 버스를 통해서 보낸다.

주소 버스의 비트 수는 기억장치의 주소 수를 결정.
2^8 = 256개
2^16 = 65,536개

제어 버스

데이터 버스와 주소 버스를 제어하기 위해 제어 신호들을 전송하는 통로

제어 버스는 읽기 동작과 쓰기 동작을 모두 수행하기 때문에 양방향 버스이다.

  • 기억장치 쓰기 신호 : 버스에 실린 데이터를 주소가 지정하는 기억장소에 저장 되도록 하는 제어 신호
  • 기억장치 읽기 신호 : 주소가 지정하는 기억장소의 내용을 읽어서 버스에 실리게 하는 제어 신호
  • I/O 쓰기 신호 : 버스에 실린 데이터를 지정된 I/O 장치로 출력되게 하는 제어 신호
  • I/O 읽기 신호 : 지정된 I/O 장치로부터 데이터를 읽어서 데이터 버스에 실리게 하는 제어 신호

버스 대역폭


버스의 클럭 주파수 X 데이터 버스의 폭

대역폭이란 데이터가 이동하는 버스를 통해 단위 시간당 전송하는 데이터의 크기

즉, 버스 대역폭은버스를 통해 단위 시간당 전송할 수 있는 데이터의 양. 버스 클럭 주기에 의해 결정 된다.

단위는 MB/s, GB/s

*버스 클럭 : 버스 동작들의 시작 시간을 일치시키기 위하여 제공되는 공통 클럭 신호

0개의 댓글