티스토리 뷰

컴퓨터 구조

컴퓨터 시스템의 구성

콜라먹는 펭귄이 2024. 4. 28. 22:47

시스템 버스

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

주소 버스, 데이터 버스, 제어버스로 구성된다.

주소 버스

  • CPU가 외부(기억장치, 입출력장치 등)로 발생하는 주소 정보를 전송하는 신호선들의 집합이다.
  • 주소선의 수는 CPU와 접속될 수 있는 최대 기억장치 용량을 결정한다.
  • 예를 들면 주소 버스의 비트수가 16비트라면, 최대 2의16승=64K개의 기억장소들의 주소지정이 가능하다.
  • 단방향성: CPU로부터 기억장치 혹은 입출력장치들로 보내지는 주소 정보를 보내기만 한다.

데이터 버스

  • CPU가 기억장치 혹은 입출력장치와의 사이에 데이터를 전송하기 위한 신호 선들의 집합 이다.
  • 데이터선의 수는 CPU가 한 번에 전송할 수 있는 비트 수를 결정한다.
  • 예를 들면 데이터 버스 폭이32비트라면, CPU와 기억장치 간의 데이터 전송은 한 번에 32비트씩 가능하다.
  • 양방향성: CPU와 기억장치 혹은 입출력장치들로 데이터를 주고받는다.

제어버스

  • CPU가 시스템 내의 각종 요소들의 동작을 제어하는데 필요한 신호 선들의 집합이다.
  • 제어 신호 선들의 수는 CPU에 따라, 혹은 시스템의 구성에 따라 달라진다.
  • 기본적인 제어 신호들로는 기억장치 읽기/쓰기 신호와 I/O 읽기/쓰기 신호가 있다.
  • 양방향성

CPU와 기억장치의 접속

기억장치 쓰기 동작

CPU가 데이터를 저장할 기억 장소의 주소와 저장할 데이터를 각각 주소 버스와 데이터 버스를 통하여 보내는 동시에, 쓰기 신호를 활성화시킨다.

기억장치 쓰기 시간

CPU가 주소와 데이터를 보낸 순간부터 저장이 완료될 때까지의 시간을 의미한다.

기억장치 읽기 동작

CPU가 기억장치 주소를 주소 버스를 통하여 보내는 동시에, 읽기 신호 활성화시킨다. 당연하게도 데이터를 기억장치로부터 읽어오는 동작이기에 데이터 버스를 이용해 보낼 데이터가 없다.

일정 지연 시간이 경과한 후(데이터가 읽혀지는 시간)에 기억장치로부터 읽혀진 데이터가 데이터 버스 상에 실리고, CPU는 그 데이터를 버스 인터페이스 회로를 통하여 읽는다.

기억장치 읽기 시간

주소를 발생한 시간부터 기억장치의 데이터가 CPU에 도착할 때까지의 시간을 의미한다.

CPU와 I/O 장치의 접속

I/O 장치 제어기

CPU로부터 I/O명령을 받아서, 해당 I/O장치를 제어하고, 데이터를 이동함으로써 명령을 수행하는 전자회로 장치이다.

I/O장치 제어기안에는 상태 레지스터, 데이터 레지스터가 있다.

상태 레지스터

준비 상태(RDY) 비트, 데이터 전송확인(ACK) 비트 등의 I/O장치의 현재 상태를 나타내는 비트들을 저장한 레지스터이다.

데이터 레지스터

CPU와 I/O장치 간에 이동되는 데이터를 일시적으로 저장하는 레지스터이다

CPU와 키보드, 프린터간의 접속

키보드 데이터 입력과정

키보드의 어떤 한 키(key)를 누르면, 그 키에 대응되는 ASCII 코드가 키보드 제어기의 데이터 레지스터에 저장되고, 동시에 상태 레지스터의 In_RDY 비트가 1로 세트된다.

CPU는 키보드 제어기로부터 상태 레지스터의 내용을 읽어서 In_RDY 비트가 세트 되었는지 검사한다.

In_RDY 비트는 데이터 레지스터에 외부로부터 데이터가 적재되었는지를 표시하는 비트이다.

만약 세트 되지 않았으면, In_RDY비트가 세트되었는지 검사를 반복하며 대기하고, 만약 세트 되었다면, 데이터 레지스터의 내용을 읽는다.

프린트의 데이터 출력과정

CPU는 프린터 제어기의 상태 레지스터의 내용을 읽어서 Out_RDY 비트를 검사한다. (Out_RDY 비트 : 프린터가 출력할 준비가 되었는지를 표시)

만약 세트 되지 않았으면, 비트 검사를 반복하고, 만약 세트 되었다면, 프린트할 데이터를 프린터 제어기의 데이터 레지스터에 저장한다. (데이터 블록 전체를 제어기 내의 데이터 기억장치에 저장하는 것도 가능 : spooling)

프린터 제어기는 데이터 레지스터(혹은 데이터 기억장치)의 내용을 프린터로 보내고, 프린터의 하드웨어를 제어하면서 인쇄 동작을 수행한다.

CPU와 보조저장장치의 접속

보조저장장치들(디스크, SSD, CD-ROM등)도 각 장치를 위한 제어기를 통하여 키보드나 프린터와 유사한 방법으로 접속한다.

차이점은 키보드는 바이트단위로 데이터를 전송하는데, 보조 저장장치는 블록(512Byte)이나 페이지(2KByte, 4KByte) 단위로 전송한다. 때문에 제어기 내에 한 블록 이상을 임시 저장할 수 있는 데이터 기억장치가 필요하다.

전체 시스템의 구성

전체 시스템 구성도

컴퓨터의 기본 기능

  • 프로그램 실행
    • CPU가 주기억장치로부터 프로그램 코드를 읽어서 실행한다.
  • 데이터 저장
    • 프로그램 실행 결과로서 얻어진 데이터를 주기억장치에 저장한다.
  • 데이터 이동
    • 보조기억장치에 저장되어 있는 프로그램과 데이터 블록을 주기억장치로 이동한다.
  • 데이터 입출력
    • 사용자가 입력장치를 통하여 보내는 명령이나 데이터를 읽어들인다.
    • CPU가 처리한 결과값이나 기억장치의 내용을 출력장치(프린터, 모니터 등)로 출력한다.
  • 제어
    • 프로그램이 순서대로 실행되도록 혹은 필요에 따라 실행 순서를 변경하도록 조정하며 각종 제어 신호들을 발생시킨다.

'컴퓨터 구조' 카테고리의 다른 글

컴퓨터의 기본 구조  (0) 2024.04.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함