버스

기운찬곰·2020년 10월 11일
1

Computer Science

목록 보기
16/27

Bus

버스하면 대표적인 대중교통인 그 버스가 생각날텐데 컴퓨터안의 버스도 그 기능은 동일합니다.

개념

버스는 컴퓨터 안의 부품들 간에, 또는 컴퓨터 간에 데이터와 정보를 전송하는 통로(통신 시스템)이다. 이러한 표현에는 관련된 모든 하드웨어 부품들 (선, 광 파이버 등) 및 통신 프로토콜을 포함한 소프트웨어를 아우른다. -위키피디아-

저번시간에 이 그림에 대해 본 적이 있을텐데 그때는 버스에 대해 설명을 하지 않고 넘어갔습니다. 오늘은 버스에 대해 자세히 알아보도록 하겠습니다.


Bus의 종류

  • 데이터 버스 : 시스템 모듈들 간의 데이터 이동 경로를 제공. 주로 32, 64, 128 또는 그 이상의 분리된 선들로 구성되어 있으며 선의 수는 한 번에 전송할 수 있는 비트 수를 결정지어주는데 이것은 CPU가 수용할 수 있는 데이터 크기(Word)와 밀접한 연관이 있다.

  • 주소 버스 : 데이터의 근원지나 목적지의 일정한 메모리 주소를 전달하는 버스이다. 주소버스의 width가 메모리 수용능력, 크기를 결정한다.

  • 제어 버스 : 데이터 버스와 주소 버스를 제어하기 위해 사용되어 진다.


컴퓨터 구성 요소간 통신

경우1. Memory, I/O -> CPU

  • cpu가 메모리나 입출력장치한테 데이터를 요청하는 경우. cpu는 address로 먼저 그 주소를 가리킵니다.
  • 또한 control signals을 보내 Read할껀지 Write할껀지를 전달합니다. 여기서는 Read 신호를 보냅니다.
  • 그다음 그 주소에 해당하는 값을 넘겨받아서 cpu는 처리해줍니다.

경우2. CPU -> Memory, I/O

write하는 경우도 마찬가지입니다. 단 여기서는 control signals가 Write라는 점이 다를뿐이고, 데이터를 내보내는 방향이라는 점입니다.


경우3. 인터럽트

인터럽트 설명부분에서도 말했지만, I/O가 어떤일이 발생하거나, 지정한 일이 다끝나면 인터럽트를 발생한다고 했습니다. 그래서 interrupt선이 있고 cpu에 interrupt signals이 존재합니다.


경우4. External data

마지막은 External data부분입니다. CPU를 거치지 않고 External data를 받아서 바로 External data로 내보내줍니다. (이거 맞나...?)


local bus와 system bus

  • local bus : processor 내부에서 주로 사용
  • system bus : computer components 연결에 사용

이런식으로 bus를 구분하는 이유는 예를 들어 고속도로에서 어떤차는 시속 120km로 달리고 어떤차는 1차선에서 시속 90km로 달린다면... 전체적으로 순환이 잘 안될것입니다. 차라리 구분지어서 구성하는게 더 효율적이겠죠?


마침

어떤 버스가 존재하고 CPU, 메모리, I/O 사이에서 동작할때 버스가 어떤식으로 쓰이는지 살펴봤습니다.

다음시간에는 병렬통신과 직렬통신에 대해 알아보도록 하겠습니다.

References


참고영상

profile
배움을 좋아합니다. 새로운 것을 좋아합니다.

0개의 댓글