맨키리

목표는 세계정복 목적은 우주대통합

[공부]/[정보처리기사]

[필기] 정보처리기사 16강

우주최강자맨키리 2021. 3. 15. 14:16
SMALL

TOPIC : 입력 및 출력

1. 입출력 제어방식

1-1. 

입출력 제어방식에는 크게 네 가지가 있다.

  • Programmed I/O
  • Interrupted I/O : 예기치 못한 상황으로 종료됐을 때 실행이 멈춘 부분으로 복귀
  • DMA (Direct Memory Access) : CPU를 거치지 않고 주기억장치와 DMA 사이에서 입출력 동작이 이뤄짐.
    1. CPU의 사이클을 훔쳐서 진행 (Cycle Stealing), CPU의 지시를 받지않고 독단적 데이터 전송 수행
    2. 따라서 CPU는 얘 신경 쓸 시간 아껴서 효율적 사용이 가능해짐.
  • Channel I/O : CPU - (Cache - Main Memory)와 입출력장치 사이에 있는게 Channel I/O
    1. 선생님 (CPU)이 할 일을 반장(Channel)에게 권한을 넘겨줌. CPU의 제어권을 Channel이 가짐으로서 CPU는 다른 일을 볼 수 있게 돼 효율적 사용 가능.
    2. 종류는 세 가지가 있다.
      1. 선택채널 (Selector Channel) : 1개의 입출력 관리, 1:1 개인과외, 속도 빠름
      2. 다중채널 (Multiplexer Channel) : 여러 개의 입출력 관리. 단체과외니 속도는 느림.
      3. 블록 다중채널 (Block Multiplexer Channel) : 동시에 여러 개의 고속 입출력을 제어한다.

 

 

 

1-2. 

인터럽트의 체계와 동작원리

인터럽트(Interrupt) : 예기치 못 한상황에 중단됨, 실행 중지 의미. 정상적인 동작을 수행하지 못하는 경우.

두 가지 요인에 의해 발생된다. 외부적이냐 (Hardware), 내부적이냐 (Software)

  • 외부적 요인 (하드웨어)
    1. 정전
    2. 기계착오
    3. 외부(External) : 사용자, Operator, 타이머 등
    4. 입출력장치의 오류
  • 내부적 요인 (소프트웨어)
    1. 프로그램
    2. SVC (SuperVisor Call), 감독프로그램 호출로 인함.

인터럽트에서 중요한 것은 Stack 구조를 이용한다는 것. 예상치 못한 상황에 중단된 뒤, 복귀시점은 실행이 중단된 부분으로 타임워프 시켜주는 역할은 Stack 구조이다.

 

 

 

1-3. 

스풀링(Spooling) : 동시처리

고속의 CPU와 저속의 입출력장치 사이의 케미(?)를 의미함. 일련의 예시로, 3가지 문서를 인쇄한다 가정했을 때, 

  1. 1번 문서는 CPU가 인쇄기에 출력 명령을 내린다.
  2. 2번 문서와 3번문서는 CPU가 스풀링(대기실)에 맡겨놓고 다른 일 하러간다.
  3. CPU가 저 세친구 다 나올 때 까지 기다릴 순 없으니 대기실에 맡겨두고 딴 일하러 가는 것 = 스풀링
  4. 거의 백화점의 키즈카페 수준아니냐 이건

스풀링은 어떤 기억장치를 사용하냐에 따라 또 구별이 되는데, 보조기억장치를 이용하면 스풀링, 주기억장치의 일부를 이용한다면 버퍼링이라 명명한다.


2. 병렬컴퓨터 구조

2-1. 

병렬처리가 뭡니까

: 실행할 프로그램을 여러 개 가져와서 처리하는 방식. 또다른 말로 폰 노이만 형식이라고 부른다.

 

 

2-2.

병렬처리 방법에는 무엇이 있습니까

: Flynn에 의해 병렬처리방법을 4가지로 분류했다. 기준점은 명령어와 데이터.

명령어나 데이터가 단일일 때는 S(Single), 다중일 땐 M(Multiplexer)으로 구별지어 총 4가지 방식이 나왔다.

  1. SISD (Single Instruction, Single Data) : 폰 노이만 방식(병렬처리)을 사용하는 일반적인 컴퓨터 구조
  2. SIMD (Single Instruction, Multiplexer Data) : 배열처리기에 주로 사용된다. 처리 요소들이 여러 개 배열되며, 하나의 처리구조가 여러 개의 데이터를 가져간다.
  3. MISD (Multiplexer Instruction Single Data) 
  4. MIMD (Multiplexer Instruction Multiplexer Data)

이와 같은 병렬처리를 통해 만든 병렬 처리기의 종류는 다음 네 가지 이다.

  • 파이프라인
  • 벡터프로세서
  • 배열프로세서
  • 다중처리기
LIST

'[공부] > [정보처리기사]' 카테고리의 다른 글

[필기] 정보처리기사 18강  (0) 2021.03.17
[필기] 정보처리기사 17강  (0) 2021.03.17
[필기] 정보처리기사 15강  (0) 2021.03.15
[필기] 정보처리기사 14강  (0) 2021.03.12
[필기] 정보처리기사 13강  (0) 2021.03.11