CPU의 구성과 동작(2)

GwanMtCat·2023년 9월 12일
0

버스의 종류

버스는 CPU와 메모리, 주변장치 간에 데이터를 주고 받을 때 사용한다.

버스에는 다음 작업을 지시하는 제어 신호, 메모리의 위치 정보를 알려주는 주소, 처리할 데이터가 오고가며 각각 제어 버스, 주소 버스, 데이터 버스에 실린다.

  • 제어버스(control bus)
    • 다음에 어떤 작업을 할지 지시하는 제어 신호가 오고 간다.
    • 제어 버스는 CPU의 제어장치와 연결되어 있다.
    • 메모리 읽기, 쓰기 신호가 오가며 하드디스크에 저장 명령을 내리거나 사운드 카드에 소리를 내라는 명령을 내릴 때에도 제어 버스를 통해 전달된다.
    • 메모리에서 오류 발생, 네트워크 카드에 데이터가 모두 도착했다는 신호도 제어 버스를 통해 CPU로 전달 된다.
    • CPU, 메모리, 주변장치와 양방향으로 오고 간다.

  • 주소 버스(address bus)
    • 메모리의 데이터를 읽거나 쓸 때 어느 위치에서 작업할 것인지 알려주는 위치 정보(주소) 가 오고 간다.
    • 주소 버스는 메모리 주소 레지스터와 연결되어 있으며 단방향이다.
    • CPU에서 메모리나 주변장치로 나가는 주소 정보는 있지만, 주소 버스를 통해 CPU로 전달되는 정보는 없다.

  • 데이터 버스(data bus)
    • 데이터가 실려 목적지로 이동한다.
    • 메모리 버퍼 레지스터와 연결되어 있으며 양방향이다.

버스의 대역폭(bandwidth)

버스의 대역폭은 한 번에 전달할 수 있는 데이터의 최대 크기를 말한다.

버스의 대역폭은 CPU가 한 번에 처리할 수 있는 데이터 크기와 같고 흔히 32bit CPU, 64bit CPU라고 하는데 여기서 bit가 한 번에 처리할 수 있는 최대 크기이다.

32bit CPU의 경우 메모리에서 데이터를 읽거나 쓸 때 최대 32bit를 처리할 수 있으며, 이 경우 레지스터의 크기도 32bit, 버스의 대역폭도 32bit이다.

버스의 대역폭, 레지스터의 크기, 메모리에 한 번에 저장할 수 있는 데이터의 크기는 항상 같다.

CPU가 한 번에 처리할 수 있는 데이터의 최대 크기를 워드(word)라고 하며, 버스의 대역폭과 메모리에 한 번에 저장되는 단위도 워드이다. 32bit CPU에서 1워드는 32bit 이다.


참조한 사이트 및 링크

쉽게 배우는 운영체제

0개의 댓글