ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [문제해설] 하드웨어 우선순위 인터럽트 장치는 병렬이나 직렬로 연결하여 우선순위를 결정한다. 다음 그림의 인터럽트 방식은?
    전자계산기조직응용기사/실기 필답형 기출문제 해설 2022. 2. 15. 05:58
    반응형

    전자계산기조직응용기사 실기 필답형 기출문제 (입출력 구조) - 2001년1회


    하드웨어 우선순위 인터럽트 장치는 병렬이나 직렬로 연결하여 우선순위를 결정한다. 다음 그림의 인터럽트 방식은?

     

     

     

     


    - 문제 해설 -

    입·출력 구조는 CPU와 주변장치가 데이터를 전송하는 방법들입니다. 본 문제에서는 그중 우선순위 인터럽트(priority interrupt)에 대한 문제이지만, 입·출력 구조를 개괄적으로 정리하는 기회를 가져보겠습니다.

    위 표는 컴퓨터 구조 중 모든 기사 등급 자격시험에서 다루는 입·출력 구조들을 정리한 표입니다. 10가지의 구조가 있으며, 이들은 4가지의 관점으로 분류가 됩니다. 개별적으로도 공부를 하셔야 하되, 어떤 관점에서 분류되는지를 파악하며 학습하시는 게 크게 도움이 됩니다.

    4가지 관점별로 간략히 살펴보겠습니다.

    1. 비동기 데이터 전송

    비동기 데이터 전송은 데이터 통신의 관점에서 분류되는 입·출력 구조입니다. 스트로브 펄스(strobe pulse)와 핸드 셰이킹(handshaking) 방식이 있으며, 전자공학이나 데이터 통신의 관점으로 접근하여야 하며, 큰 특징은 제어 신호가 어떻게 교환되지로 구분합니다.

    2. 전송 모드

    전송 모드는 주변장치와의 데이터 전송에서 CPU가 전송 경로에 포함되는지, 즉 CPU가 얼마나 관여를 하는지로 분류됩니다. '프로그램된 I/O', '인터럽트에 의한 I/O', 'DMA(Direct Memory Access)' 순으로 CPU의 관여가 적어지며, 당연히 CPU의 부담도 줄어듭니다.

    3. 입·출력장치 제어 방식

    입·출력장치 제어 방식은 주변장치와의 데이터 전송에서 주기억장치를 일반 데이터와 같이 사용하는지, 별도의 메모리 공간을 사용하는지에 따라 'Memory Mapped I/O'와 'Isolated I/O'로 분류됩니다.

    4. 데이터 채널

    데이터 채널은 그냥 채널(channel)이라고 부르기도 하며, IOP(Input-Output Processor)라고 불리는 입·출력을 전담하는 프로세서가 존재하여, CPU의 관여가 전혀 없습니다.

     

    입·출력 구조의 개괄적인 설명은 마치고, 본 문제에서 묻는 '인터럽트에 의한 I/O'에 대해서만 세부적으로 살펴보겠습니다.

    인터럽트(interrupt)라는 영단어는 '방해하다', '끼어들다', '침투하다' 등의 많은 뜻을 가지고 있습니다. 컴퓨터공학에서도 소프트웨어공학이나 운영체제 등 분야마다 다양한 의미를 가지고 있습니다.

    조직응용기사에서는 운영체제나 컴퓨터 구조에서 인터럽트가 등장합니다. 본 문제는 컴퓨터 구조에서의 우선순위 인터럽트입니다.

    폰노이만 구조

    위 그림은 컴퓨터구조 각론을 개관하는  폰 노이만 구조입니다. CPU와 기억장치(memory unit)는 시스템이 작동하는 데 있어 서로 필수 불가결한 관계입니다. 하지만, 입·출력장치(input·output device)는 시스템이 작동하는 데 있어 반드시 필요한 필수 장치는 아니어서, 주변장치(peripheral device)라고도 부릅니다.

    CPU는 컴퓨터 시스템에서 가장 중요한 장치입니다. 가장 빠르고, 많은 일을 처리하는 핵심적인 부품입니다. 너무도 많은 일을 처리하다 보니, CPU의 부담을 줄여주어 전체 시스템 성능을 높이는 많은 방법들이 연구되고 개발되어왔습니다. 대표적인 예로 그래픽카드의 GPU(Graphics Processing Unit)는 엄청난 작업량을 요구하는 그래픽 관련 연산을 담당하는 프로세서입니다. 게임 같은 그래픽 연산이 많은 프로그램을 실행할 때 CPU의 부담을 획기적으로 줄여주기도 하며, 최근엔 비트코인 채굴에도 활용되고 있습니다.

    이러한 주변장치와의 데이터 전송 방법들이 앞서 살펴본 입·출력 구조입니다. 그중 본문제에서 다루는 우선순위 인터럽트가 포함된 전송 모드 관점에서의 입·출력 구조를 살펴보겠습니다.

    전송 모드 관점으로 분류된 구조들은 CPU의 부담을 얼마나 줄여주는가를 기준으로 분류됩니다.

    첫 번째, '프로그램된 I/O'는 CPU는 주변장치가 입·출력을 행해야 하는 상태인지 끊임없이 감시해야 합니다. 그래서 CPU에게 가장 큰 부담을 안겨줍니다.

    두 번째 '인터럽트에 의한  I/O'는 이름 그대로 인터럽트를 활용한 것입니다. '프로그램된 I/O'처럼 지속적으로 입·출력 장치를 감시하는 것이 아니라, 데이터를 전송할 준비가 되면 인터럽트 기능을 이용하여 인터페이스가 컴퓨터에게 알려주도록 하는 방식입니다. 그래서 인터럽트가 발생하지 않으면, CPU는 주변장치에 대한 감시 없이 다른 작업을 수행할 수 있습니다.

    이러한 인터럽트에 의한 방식은, 동시에 여러 장치가 전송을 요구하여 여러 개의 인터럽트가 발생했을 때, 무엇을 먼저 처리할지 결정하여야 합니다. 이것이 바로 우선순위 인터럽트입니다.

    우선순위 인터럽트는 우선 소프트웨어적으로 구현된 폴링(polling) 절차가 있습니다. 소프트웨어로 구현되어 있기 때문에, 별도의 하드웨어적인 배선이나 장치가 필요 없다는 이점이 있지만, CPU가 우선순위를 직접 판별해야 되기 때문에 CPU에게 부담이 되고 시간이 오래 걸린다는 단점이 있습니다.

    CPU의 부담을 확연히 줄여주는 하드웨어 우선순위 방식의 경우, 병렬이나 직렬도 연결하여 우선순위를 결정합니다.

    데이지 체인(daisy-chain)

    위 그림은 본문제에서 제시된 그림이기도 한 직렬로 장치를 배열하여 우선순위를 결정하는 데이지 체인(daisy-chain) 방식입니다. 그림에서처럼 장치(device)들을 우선순위가 높은 순으로 직렬연결합니다. 각 장치들은 전송을 해야 될 상태가 되면 공통의 BUS선을 이용하여 CPU에 'Interrupt request' 신호를 CPU에 보냅니다. 그럼 CPU에서는 'Interrupt acknowledge' 신호로 장치에게 응답하게 되는데, 응답신호를 PI로 입력을 받은 장치는 자신이 입·출력 상태이면 입·출력을 시행하고, 입·출력 상태가 아니면 PO로 다음 장치로 신호를 보냅니다. 그래서 그림에선 가장 먼저 'Interrupt acknowledge'를 받는 device 1이 가장 높은 우선순위를 가집니다. 이렇게 직렬연결을 통해 우선순위를 판별하는 것이 데이지 체인(daisy-chain)입니다. 본 문제의 정답입니다.

    병렬 우선순위 인터럽트

    위 그림은 하드웨어로 구현된 병렬 우선순위 인터럽트(parallel priority interrupt)입니다. 데이지 체인보다는 복잡해 보이지만, 핵심만 기억하시면 됩니다. 병렬 우선순위 인터럽트는 각 비트가 개별적으로 세트 될 수 있는 레지스터와 인터럽트의 요청 상태를 조절할 수 있는 마스크 레지스터, 그리고 우선순위 엔코더로 위 그림과 같이 구성됩니다. 사실 기사 시험에서 출제될 가능성은 희박합니다. 데이지 체인의 회로도와 비교하며 이해하기 위해 참고하시면 좋습니다.

    마지막으로, 전송 모드 관점의 방식은 DMA(Direct Memory Access)가 있습니다. DMA는 이름 그대로 주변장치가 직접 메모리에 접근하기에 CPU의 부담이 전송모드 관점의 분류에서 가장 적습니다. DMA도 아주 중요한 부분이기에 세부적으로 공부를 하시는 것이 바람직합니다. 이번 문제와의 풀이와는 직접적인 관련이 없기에 이 정도로만 소개하겠습니다.

     

     

     

     

    https://youtube.com/playlist?list=PLboXycXmAIDt4ObBRPVj29BuD2d27oRnO


     

    전자계산기조직응용기사 실기 필답형

    국가기술자격증 전자계산기조직응용기사 실기 필답형 강의

    www.youtube.com

     

    반응형
Designed by Tistory.