[Computer Architecture] 컴퓨터 구성 요소 및 상호 연결

💻 컴퓨터의 구성 요소

컴퓨터는 여러 구성 요소로 이루어져 있으며, 각 구성 요소는 상호작용을 통해 프로그램을 실행하고 데이터를 처리한다. 주요 구성 요소는 프로세서(CPU), 기억장치, 그리고 입출력(I/O) 장치로 구분된다.


🖥️ 컴퓨터의 기능

컴퓨터의 기본적인 기능은 프로그램을 실행하는 것이다. 프로그램은 기억장치에 저장된 명령어들로 구성되어 있으며, 프로세서는 이 명령어들을 인출하여 실행한다.

🧠 명령어 처리

컴퓨터의 명령어 처리는 명령어 사이클(instruction cycle)로 구성되며, 인출과 실행의 두 단계를 포함한다.

  1. 명령어 인출: 프로세서는 프로그램 카운터(PC)에 저장된 주소를 바탕으로 기억장치로부터 명령어를 인출한다. 인출된 명령어는 명령어 레지스터(IR)에 적재된다.
  2. 명령어 실행: 프로세서는 인출한 명령어를 해석하고, 명령에 따라 데이터 처리, 입출력 동작 등을 수행한다.

🛑 인터럽트 처리

인터럽트(Interrupt)는 컴퓨터가 현재 수행 중인 작업을 중단하고, 더 중요한 작업을 먼저 처리할 수 있게 해주는 메커니즘이다. 이 메커니즘을 통해 시스템의 효율성을 높이고, 여러 작업을 동시에 처리할 수 있다.

인터럽트의 작동 방식

  1. 프로그램 중단 및 문맥 저장: 프로세서는 현재 실행 중인 작업을 중단하고, 다음 명령어의 주소(프로그램 카운터, PC) 및 관련 데이터를 저장한다.
  2. 인터럽트 처리기 호출: 프로그램 카운터(PC)에 인터럽트 처리기(Interrupt Handler)의 시작 주소를 세팅하여 인터럽트 처리 루틴을 호출한다.
  3. 인터럽트 처리: 인터럽트 처리기를 통해 발생한 이벤트를 처리한 후, 프로세서는 중단된 작업으로 복귀한다.

인터럽트의 종류

  • I/O 인터럽트: 입출력 장치의 작업 완료나 데이터 전송 요청 시 발생.
  • 프로세서 오류: 프로세서 내부 오류가 발생했을 때 발생.
  • 소프트웨어 인터럽트: 소프트웨어에서 특별한 작업을 요청할 때 발생.

다중 인터럽트 처리

여러 개의 인터럽트가 동시에 발생할 경우, 컴퓨터는 순차적 처리 또는 우선순위 처리 방식을 사용한다.

  • 순차적 처리: 하나의 인터럽트를 처리하는 동안 다른 인터럽트는 대기 상태로 있다가 순차적으로 처리된다.
  • 우선순위 처리: 중요한 작업을 먼저 처리하기 위해 인터럽트의 우선순위를 설정하고, 더 높은 우선순위를 가진 인터럽트를 먼저 처리한다.

🔗 상호연결 조직

상호연결 조직은 컴퓨터의 주요 구성 요소들 간의 연결 경로로, 데이터를 주고받는 통로를 제공한다. 주로 버스(bus)점대점 상호연결(point-to-point interconnection) 방식으로 구분된다.

📦 컴퓨터의 주요 모듈과 신호

컴퓨터는 기억장치, I/O 모듈, 프로세서로 구성되어 있으며, 이들 간의 상호작용이 성능에 중요한 역할을 한다.

  • 기억장치: 데이터를 저장하고 송수신하는 역할을 하며, 읽기 및 쓰기 명령을 처리한다.
  • I/O 모듈: 외부 장치와 연결되어 데이터를 송수신하며, I/O 장치에서 프로세서로 데이터를 전송한다.
  • 프로세서: 명령어를 실행하고 데이터를 처리하며, 제어 신호를 통해 다른 장치와 상호작용한다.

이들 구성 요소는 데이터 송수신, 주소 신호, 제어 신호를 통해 상호작용하며, 각 모듈은 필요한 데이터를 주고받는다.


🛠️ 버스 상호연결

버스는 컴퓨터 내의 여러 구성 요소를 연결하는 공유 통신 경로로, 데이터를 송수신하는 역할을 한다. 버스는 여러 개의 선으로 구성되며, 각 선은 1비트를 전송한다. 한 번에 하나의 장치만이 데이터를 전송할 수 있다.

🚍 버스의 구성

  • 데이터 버스: 시스템 모듈 간 데이터 전송 경로를 제공하며, 데이터 버스의 폭이 넓을수록 더 많은 데이터를 동시에 전송할 수 있다.
  • 주소 버스: 데이터를 어느 위치로 보낼지 지정하며, 시스템의 최대 기억 용량을 결정한다.
  • 제어 버스: 데이터와 주소 버스의 사용을 제어하고 명령 및 타이밍 정보를 전달한다. 제어 신호에는 기억장치 읽기/쓰기, I/O 장치 통신, 인터럽트 처리 등이 포함된다.

🔀 버스의 유형

  • 전용 버스: 특정한 장치 간의 전용 경로로 경합이 적어 성능이 높지만, 시스템 가격이 올라가는 단점이 있다.
  • 다중화된 버스: 여러 장치가 공유하는 공통 버스로, 여러 장치가 동시에 사용할 수 있도록 시분할 방식으로 운영된다. 이는 비용을 절감할 수 있지만, 성능은 전용 버스보다 떨어진다.

🚀 점대점 상호연결

점대점 상호연결은 기존의 공유 버스 방식보다 효율적인 데이터 전송을 위해 각 구성 요소 간 직접 연결을 제공하는 방식이다. 특히 멀티코어 프로세서대용량 캐시 사용에서 발생하는 병목 현상을 줄이는 데 효과적이다.

⚡ PCIe

PCIe(Peripheral Component Interconnect Express)는 기존 버스 기반의 PCI를 대체하는 점대점 상 호연결 방식을 제공하는 고속 시리얼 버스이다.

  • 전송 채널을 통해 데이터 전송을 수행하며, 채널의 개수를 늘려 성능을 쉽게 확장할 수 있다.
  • 독립적인 전송 채널을 통해 데이터 전송 속도를 대폭 향상시킬 수 있다.
  • 예를 들어, PCIe 3.0 x 16 링크는 약 16GB/s의 전송 속도를 제공한다.

🔄 QPI

QPI(QuickPath Interconnect)는 인텔이 2008년에 개발한 점대점 상호연결 방식으로, CPU와 메모리 간의 직접적인 통신을 가능하게 한다.

  • 계층화된 프로토콜 구조: QPI는 물리 계층, 링크 계층, 라우팅 계층, 프로토콜 계층으로 나뉜 계층적 구조를 사용해 데이터를 효과적으로 처리하고 전송한다.
  • 패킷화된 데이터 전송 방식을 사용하여 성능을 극대화한다.
  • 주요 요소 간 다중 연결을 통해 데이터를 빠르게 주고받을 수 있다.

Leave a comment