컴퓨터 구조 : 시스템 버스, I/O 및 인터럽트
Computer Architecture

컴퓨터 구조 : 시스템 버스, I/O 및 인터럽트

시스템 버스
    • 데이터 버스
      • 중앙처리장치가 기억 장치 혹은 I/O장치 사이에 데이터를 전송하기 위한 신호들의 집합
        • 기억 장치(computer data storage)는 데이터(자료)를 일시적으로, 또는 영구히 보존하는 장치를 말한다. 비슷한 말로 저장 장치라고도 하는데 이때는 대체로 비휘발성의 기억 장치를 의미한다. 기억 장치는 주기억 장치보조 기억장치로 나눌 수 있다. 메모리(memory)는 종종 '기억 장치'라는 용어와 혼용되기도 하지만, 대체로는 주기억장치를 말하며 특히 램을 가리키는 경우가 많다.
      • 양방향
      • 8bit, 16bit, 32bit

 

  • 주소버스
    • 데이터 전송을 위한 주소 지정용
    • 단방향
      • CPU에서 메모리나 I/O 로 주소를 지정하는 경우는 있지만, CPU에는 주소가 없기 때문에 CPU를 향한 주소 지정은 할 수 없음
      • 사용할 기억장치의 용량에 따라서 주소버스의 폭이 결정됨. 16bit -> 2^16 (=65,536) -> 64Kbyte. 단, CPU의 단어(word)가 32bit 인 경우
        • byte 단위로 주소를 지정할 경우, 주소 버스의 폭이 16bit라 가정 -> 64Kbyte
        • 혹은, 단어(word)로 주소를 지정할 경우, 16bit -> 64 * 4 = 256Kbyte

 

  • 제어버스
    • 제어 신호 전송용, 양방향 (제어신호에 대한 응답신호)
      • 기억장치 쓰기(memory write) 신호
        • 저장된 기억 장소에 데이터가 쓰여지게(저장되게) 한다
      • 기억장치 읽기(memory read) 신호
        • 지정된 기억 장소의 데이터를 읽어서 버스에 실리게 한다
      • I/O 쓰기(I/O write) 신호
        • 지정된 I/O 장치로 데이터가 출력되게 한다
      • I/O 읽기(I/O read) 신호
        • 지정된 I/O 장치로부터 데이터를 읽어서 데이터  버스에 실리게 한다

 

I/O 장치의 접속 방식
  • 프로그램을 이용한 I/O (Programmed I/O) (=프로그램된 I/O) , ( = *폴링방식(polling) )
    • CPU가 반복적으로 I/O장치의 상태를 검사하면서 I/O동작을 처리하는 방식
    • 장점 : 별도의 h/w가 필요치 않음
    • 단점 : I/O 처리중에는 CPU가 다른 연산처리를 하지 못함

 

  • 인터럽트를 이용한 I/O (Interrupt_driven I/O)
    1. CPU가 I/O제어기로 명령을 보낸 후, CPU는 다른 작업을 함
    2. I/O제어기는 입출력작업이 완료되면 CPU로 인터럽트 신호를 보냄
    3. CPU는 인터럽트 신호를 받으면, 현재 하고있는 작업을 중단하고 다시 다음 입출력 명령을 내림

 

  • DMA를 이용한 I/O (Direct Memory Access I/O)
    • CPU개입없이 I/O장치와 기억장치간에 대량의 데이터를 전송하는 방식

 

  • I/O 프로세서 방식 (I/O Processor, IOP) ( 프로세서 = CPU )
    • DMA방식을 확장하여 별도의 I/O프로세서를 사용하는 방식
    • 교수가 소작업만을 도와줄 조교를 하나 고용하는 것에 비유

 

  • I/O 주소지정 방식 (기억장치 사상 I/O, Memory-mapped I/O)
    • 기억장치 주소영역의 일부분을 I/O장치의 주소영역으로 사용하는 방식
    • 장점 : 동일한 명령어로 기억장치와 I/O장치를 억세스 할 수 있음
    • 단점 : 기억장치의 주소공간이 줄어듬

 

  • 분리형 I/O (고립형 I/O, I/O-mapped I/O)
    • I/O 장치의 주소공간이 기억장치 주소공간과 별도로 할당
    • 장점 : 기억장치의 주소공간이 줄어들지 않음
    • 단점 : 기억장치용, I/O 장치용 명령어가 따로 있어야함

 

버스 중재
  • 폴링 방식(Polling scheme : 주기적 검사 방식)
    • 버스 중재기가 각 마스터들이 버스 사용을 원하는지를 주기적으로 검사하여 버스 승인 여부 결정
  •