본문 바로가기
Computer Architecture

컴퓨터 시스템 구성

by seunghyeok lee 2023. 7. 29.
해당 포스팅은 2023년 8월 부터 시작하는 cs 면접 스터디를 위해서 해당 이론을 공부하고 요약한 내용입니다.
매우 짧은 요약 글이므로 자세한 내용은 추후에 업로드하겠습니다.
해당 글은 계속 수정 될 수 있습니다.

컴퓨터의 구성

 

시스템 버스란?

 

cpu와 시스템 내의 다른 요소들의 사이에 정보를 교환하는 통로입니다.

 

system bus는 다음과 같이 세 가지 sub-bus들로 이루어져 있습니다.

 

  • address bus
    • 주소 정보를 전송하기 위한 신호선들의 집합
    • 각 주소선은 하나의 주소 비트를 전송하는 데 사용하며, 전체 주소선 들의 개수가 cpu와 접속될 수 있는 최대 기억장치 용량을 결정합니다.
    • address bus width
      • cpu가 발생하는 주소 비트들의 수
      • 16 비트로 이루어진다면 최대 64K 개 기억장소 주소를 지정할 수 있습니다.
    • 단방향 전송
  • data bus
    • cpu가 기억장치 혹은 I/O 장치와의 사이에 데이터를 전송하기 위한 신호들의 집합
    • 양방향성 전송
    • data bus width
      • 한번에 전송될 수 있는 데이터 비트의 수 결정
      • 데이터 버스가 16bit 시스템에서는 cpu가 기억 장치로 부터 한번에 2byte 씩 읽어올수 있습니다.
  • control bus
    • 시스템 요소들의 동작을 제어하기 위한 신호선들의 집합
    • 제어 신호 선들의 수는 cpu 와 시스템 구성에 따라 달라집니다.
    • 예를 들어 memory read/write 신호와 I/O read/write 신호가 있습니다.
    • 양방향성 전송

memory write time

  • CPU는 데이터를 저장할 기억 장소의 주소와 저장할 데이터를  각각 주소버스와 데이터 버스를 통하여 보내면서 write signal을 activate 시킨다.
  • write signal 은 쓰기 동작이 완료될 때까지 유지되어야 한다.
  • 즉 write time은 데이터를 보낸 순간 부터 저장이 완료될 때까지의 시간이다.

 

memory read time

  • cpu 가 기억장치로 주소를 보낸 순간부터 읽기 동작이 완료될 때까지의 시간이다.
  • cpu가 기억 주소를 주소 버스를 통하여 기억 장치로 보내면서 read signal을 activate 시킨다.
  • 일정 지연시간이 지나면 기억장치로 부터 읽혀진 데이터가 데이터 버스로 전송되며 cpu는 버스 인터페이스 회로를 통해 읽는다.
    • 지연시간?
      • 주소를 해독하는데 걸리는 시간 + 기억장치 내부에서 데이터를 인출하는 시간

cpu와 I/O 장치의 접속 과정

 

I/O 장치 역시 secondary memory 와 같이 peripheral device 이기 때문에 별도의 controller 와 interface circuit이 필요합니다.

 

예를 들어 cpu가 키보드로부터 데이터를 읽는 과정은 다음과 같습니다.

 

키보드의 어느 한 key를 누르면 그에 대응되는 ASCII 코드 7비트와 Parity bit 데이터가 키보드 controller 에 전송되며 data register에 저장됩니다.

그리고 동시에 status register에 지정된 비트 1이 세트됩니다.

 

이 비트는 입력 데이터가 준비되었다는 것을 가리키며 이를 In_RDY 비트라고 부릅니다.

 

즉 CPU는 키보드 데이터 입력을 읽으려면 status register를 읽어서 In_RDY 비트가 1로 세팅되어 있는지 검사합니다. 만약 세트되어 있다면 즉시 data register의 내용을 CPU로 읽어서 데이터 입력과정이 완료 됩니다.

 

그러나 만약 In_RDY 비트가 세트 되어 있지 않다면 CPU가 계속 해당 비트를 검사하며 반복합니다. 

 

여기서 말하는 data register는 cpu와 I/O 장치 사이에서 임시 저장소 역할 하기 때문에 data buffer이라고 부릅니다.

 

CPU는 I/O device를 직접 제어하지 않지만 각 장치의 controller가 수행할 동작을 지정하는 command를 보내거나 status와 data를 주고 받아야합니다.

 

해결 하기 위한 방법은 data register 와 status register를 마치 secondary memory 처럼 주소를 배정합니다.  

 

즉 memory r/w 동작 처럼 수행할 수 있습니다. 

 

그래서 address bus 가 I/O controller에 연결된 이유입니다.

 

'Computer Architecture' 카테고리의 다른 글

CPU의 작동원리 - (1)  (0) 2023.07.30
컴퓨터 구조 기초  (0) 2023.07.29

댓글