본문/내용
parallel processing: 병렬처리
parallel processing(병렬처리)란 프로그램 명령어를 여러 프로세서에 분산시켜 동시에 수행함으로써 빠른 시간 내에 원하는 결과를 얻으려는 작업을 말하는 것이다. 초기의 컴퓨터에서는 한번에 오직 하나의 프로그램만 수행되었는데 예를 들면 계산 수행에 1시간 걸리는 프로그램과, 테이프 장치에서 데이터를 읽어오는데 걸기는 시간이 1시간인 프로그램이 있다면, 이 두 프로그램을 수행시키는데는 총 2시간이 소요되었다.
병렬처리(parallel processing)
- 컴퓨터 시스템의 계산속도 향상이 목적
동시 데이타 처리 기능 제공
처리율의 증가
추가 하드웨어 필요
시스템의 비용 증가
다중 기능 장치를 가진 프로세서
- 동일한 또는 서로 다른 동작을 동시에 수행하는 여러 개의 기능 장치
- 데이타를 각각의 장치에 분산시켜 작업을 수행
실행장치를 동시에 동작시키는 8개의 기능 장치로 구분된 방법
레지스터의 피연산자는 명령어에서 지정한
동작의 종류에 따라 여러 장치 중 하나로 입력
각 장치는 서로 독립이기 때문에
서로 다른 데이타를 동시에 정해진 연산 수행
병렬처리의 분류
- 프로세서 내부의 구조, 프로세서들 사이의 연결구조, 시스템들 사이의 정보흐름 등을 고려하여 분류
- Flynn의 분류
동시에 처리되는 명령어와 데이타 항목수에 의한 분류 방법
단일 명령어 흐름, 단일 데이타 흐름(SISD)
단일 명령어 흐름, 다중 데이타 흐름(SIMD)
다중 명령어 흐름, 단일 데이타 흐름(MISD)
다중 명령어 흐름, 다중 데이타 흐름(MIMD)