[Computer Structure] 컴퓨터 상호연결

상호연결

개요

상호연결 조직이란?

  • 컴퓨터의 주요 요소들을 연결하는 경로들의 집합이다.
  • 예시) 시스템 버스



컴퓨터 주요 모듈의 입출력 신호

기억장치가 처리하는 신호

  • 기억장치는 동일한 길이를 가진 N개의 word들로 구성된다.
    • word: 메인 메모리에 저장된 데이터의 폭
  • 데이터 송신/수신
  • 주소(위치) 수신
  • 제어 신호 수신

Untitled


I/O 모듈이 처리하는 신호

  • 기능적으로는 기억장치와 유사하다.
  • 데이터 송신/수신
    • 컴퓨터로 데이터 송신/수신 ⇒ Internal Data (컴퓨터 내부 데이터)
    • 주변기기로 데이터 송신/수신 ⇒ External Data (컴퓨터 주변기기 데이터)
    • 프로세서로 인터럽트 신호 송신
  • 주소(위치) 수신
    • 외부장치와 연결된 인터페이스를 식별한다.
  • 기억장치와 차이점
    • 프로세서로 인터럽트 신호를 송신한다.

Untitled


프로세서가 처리하는 신호

  • 명령어, 명령어 주소와 데이터 수신
  • 인터럽트 수신
  • 처리한 데이터 송신
  • 제어신호를 다른 장치로 송신

Untitled



상호연결 방식: 버스 상호연결

버스란?

  • 버스는 두 개 이상의 장치들을 연결하는 통신 경로이다.
  • 버스는 공유 전송 매체이다. (Shared Transmission Medium)
  • 한 번에 한 장치만 성공적으로 전송이 가능하다.


시스템 버스

  • 시스템 버스는 컴퓨터의 주요 구성요소들을 연결하는 버스이다.

Untitled

  • Control Lines
    • 제어 버스
  • Address Lines
    • 주소 버스
  • Data Lines
    • 데이터 버스


내부 버스

  • 내부 버스는 CPU 내부에 존재하는 버스이다.
  • ALU와 캐시 등을 연결하는 CPU 내의 통로이다.


버스 조직

  • 데이터 버스
    • 시스템 모듈 간에 데이터 이동 경로를 제공하는 버스이다.
    • 데이터 버스의 폭이 컴퓨터 성능에 영향을 미친다.
  • 주소 버스
    • 데이터 버스로 전달되는 데이터의 근원지/목적지를 지정한다.
    • 주소 버스의 폭이 시스템의 최대 기억 장치의 용량을 결정한다.
      • 왜냐하면, 표현할 수 있는 주소의 최대 개수가 주소 버스의 폭에 따르기 때문이다.
    • I/O 포트를 지정하기 위해서 주소 버스를 사용하기도 한다.
  • 제어 버스
    • 데이터 선과 주소 선의 사용을 제어한다.
    • 시스템 모듈들 사이에 명령과 타이밍 정보를 전달한다.
    • 제어 신호의 종류
      • 기억장치 읽기/쓰기
      • I/O 읽기/쓰기
      • 전송 확인
      • 버스 요구
        • 어떤 모듈이 DMA를 위해서 버스 사용을 요구한다.
      • 버스 승인
        • 버스를 요구한 모듈에게 버스 사용권이 허가된다.
      • 인터럽트 요구
        • 인터럽트가 대기하고 있음을 알린다.
      • 인터럽트 확인
        • 대기하던 인터럽트가 인식되었음을 알린다.


버스 동작

  • 어떤 모듈이 다른 모듈에게 데이터를 보내려 할 때
    • 버스의 사용권을 얻는다.
    • 버스를 통하여 데이터를 전송한다.
  • 어떤 모듈이 다른 모듈로부터 데이터를 받으려 할 때
    • 버스의 사용권을 얻는다.
    • 적절한 제어 선과 주소 선을 통하여 다른 모듈에게 요구 신호를 전달한다.
    • 그 모듈이 데이터를 전송해줄 때까지 기다린다.


버스의 유형

  • 전용 버스
    • 한가지 기능만 수행하도록 지정되거나, 컴퓨터 구성요소들의 일부분을 연결하도록 지정한 것이다.
    • 장점
      • 버스에 대한 경합이 낮아 처리율이 높다.
    • 단점
      • 시스템의 크기와 가격이 높다.


  • 다중화된 버스
    • 공통의 버스(시분할 방식)을 사용하는 것이다.
      • 한 번에 한 장치만이 버스에 정보를 전송할 수 있다.
      • 따라서, 적절한 중재 기법이 필요하다.
    • 장점
      • 사용하는 선들의 수가 적어 공간과 비용이 절약된다.
    • 단점
      • 각 모듈은 복잡한 회로가 필요하고, 성능이 떨어진다.


다중 버스 구조

Untitled

  • on-chip Cache
    • CPU 내부 캐시
  • off-chip Cache
    • CPU 외부 캐시



상호연결 방식: 점대점 상호연결

점대점 상호연결 등장배경

  • 기존의 방식은 공유버스 구조였다.
  • 공유버스 구조는 데이터율 상승에 따른 동기화 및 중재의 제약이 존재한다.
  • 공유버스 구조는 멀티코어, 대용량 캐시 등으로 인해 프로세서-기억장치 간 정송 병목이 발생한다.
  • 공유버스 구조보다 지연이 적고, 데이터율이 높으며 확장성이 좋다.


QPI

  • QPI: QuickPath Interconnection
  • 다중 직접 연결 방식이다.
  • 계층화된 프로토콜 구조를 갖는다.
    • 물리 계층
    • 링크 계층
    • 라우팅 계층
    • 프로토콜 계층
  • 패킷화된 데이터를 전송한다.

Untitled


PCI

  • PCI는 인텔이 설계한 고대역폭 프로세서-독립적 버스이다.
  • 주변장치를 자동으로 인식하는 PnP를 지원한다.
    • PnP: Plug And Play
  • 버스 자체가 일종의 버퍼 역할을 수행한다.
  • 병렬 버스 방식이다.


PCIe

  • PCIe: PCI Express
  • PCI를 대체한다.
  • 점대점 상호연결 방식을 제공하는 고속 시리얼 버스이다.
  • 전송채널로 독립적인 선로(lane)를 사용한다.
  • 전송채널 개수를 늘려 간단히 전송속도를 향상시킬 수 있다.
  • 직렬 버스 방식이다.





  • 성결대학교 컴퓨터 공학과 최정열 교수님 (2021)
  • William Stalling, 『컴퓨터시스템구조론(10판)』
본 게시글은 위 강의 및 교재를 기반으로 정리한 글입니다.