마하데이터
병렬처리기의 정의와 종류 본문
카테고리 없음

병렬처리기의 정의와 종류

마하데이터 2025. 4. 11.

병렬처리기의 정의와 종류에 관하여

병렬처리기의 정의와 종류에 관하여 알아보도록 하겠습니다. 먼저 병렬처리의 정의는 컴퓨터시스템의 처리율 향상을 위해 동시 데이터 처리 기능을 제공하는 광범위한 기술을 말합니다. 처리율을 증가시키기 위해서는 프로세서의 수를 늘려서 동시에 데이터를 처리함으로써 연산 속도를 높여 단위 시간당 수행할 작업의 양을 증가시키고 속도를 향상해야 합니다. 이렇게 컴퓨터시스템 내에 여러 개의 프로세서를 동시에 활용하는 개념을 병렬컴퓨터라고 합니다. 지금부터 병렬처리기의 다양한 종류에 관해서 설명해 드리겠습니다. 먼저 파이프라인 처리기입니다. 파이프라인이란 하나의 프로세스를 서로 다른 기능을 여러 개의 서브 프로세스로 나누어 각 서브 프로세스가 서로 다른 데이터를 취급하도록 연속적이고 동시적으로 작업이 수행되도록 하는 방식입니다. 파이프라인 처리기는 중앙처리장치 내에 있는 하드웨어의 일부가 파이프라인 형태로 구성된 것을 의미하며 병렬컴퓨터에 속하지 않습니다. 하지만 파이프라인 컴퓨터 내에는 처리기가 하나이지만 한순간에 처리기 내에서 수행되는 명령어가 하나 이상이므로 넓은 의미에서는 병렬컴퓨터에 속하기도 합니다. 병렬컴퓨터 내에 있는 여러 개의 처리기 장치도 파이프라인 처리기로 만들 수 있습니다. 또한 프로그램 내에 내재하고 있는 시간적 병렬성을 활용하기 위하여 프로그램 수행에 필요한 작업을 시간상으로 중첩하여 수행시키는 처리기를 의미합니다. 한 명령어가 수행되는 동작을 살펴보면 명령어의 수행에 사용되는 모든 하드웨어 장치가 계속해서 사용되는 것은 아니며, 더 작은 시간 단위로 순차적으로 사용됨을 알 수 있습니다. 즉 명령어를 디코딩하는 동안에는 주기억장치나 연산장치가 이용되지 않습니다. 예를 들자면 세차장에서 자동차를 세차할 때 살수, 세척, 헹굼, 건조의 4가지 단계를 거쳐서 세차가 이루어지는데 이와 마찬가지로 명령어 수행 단계가 흘러가게 됩니다. 이것을 바로 명령어 파이프라인이라고 합니다. 이처럼 명령어 파이프라인을 구현하기 위해서는 명령어 수행단계에서 사용되는 하드웨어를 구분하여 독립된 장치로 만들 수 있다고 가정하고 이것을 세그먼트 S1, S2, S3, S4라고 했을 때 이 독립된 세그먼트들을 연결하여 명령어 파이프라인을 구현할 수 있습니다. 어느 한 명령어가 세그먼트 S1에 들어가면 명령어 수행이 시작되는 순차적으로 S4까지 마치게 된다면 명령어 수행이 완료되는 구조입니다. 이때 프로그램이 수행되는 동안 분기가 없으면 파이프라인의 각 세그먼트에서는 서로 다른 명령어를 수행하는데 명령어 인출, 명령어 해독, 유효주소 계산, 피연산자 인출, 실행, 결과의 저장 등 6단계로 순차적으로 이루어집니다. 여기서 명령어 해독과 유효주소 계산을 한 세그먼트로 합치고, 명령어 실행과 저장을 한 세그먼트로 합쳐서 4개의 세그먼트가 가진 파이프라인을 구성할 수 있습니다. 하지만 프로그램 제어 명령어와 인터럽트가 발생했을 때는 순서대로 단계를 거치지 않습니다. 다음은 배열처리기입니다. 배열처리기는 한 컴퓨터 내에 존재하는 여러 개의 처리장치를 배열 형태로 가지고 있을 때 이것을 바로 배열처리기라고 합니다. 배열 내의 처리기들은 동기화되어 동일한 종류의 계산이 병렬적으로 실행되도록 합니다. 즉 프로그램에 의해서 어느 순간에 배열 내의 하나의 처리기가 정수의 덧셈을 수행하는 경우에 그 프로그램의 수행에 참여하는 모든 처리기도 정수의 덧셈을 수행합니다. 프로그램의 수행을 위해서는 배열 내의 처리기 사이에 데이터 교환할 수 있어야 하므로 배열처리기 사이에는 적절한 정보교환 수단이 설정되어야 합니다. 배열처리기를 가진 컴퓨터에서 프로그램의 수행은 제어처리기에서 수행되고 프로그램은 제어기억장치에 기억되어 있습니다. 또한 각 처리장치는 레지스터, 연산장치, 지역기억장치로 구성됩니다. 처리기들은 상호연결망에 의해서 데이터를 교환할 수 있으며, 제어처리기의 프로그램에 의해서 제어됩니다. 이러한 배열처리기는 주로 벡터 계산이나 행렬 계산에 많이 사용됩니다. 다음은 다중처리기입니다. 다중처리기는 시스템상의 여러 처리기에 여러 개의 독립적인 작업을 각각 배정하여 2개 이상의 처리기를 동시에 수행할 수 있도록 기능을 갖춘 시스템입니다. 한 작업을 여러 개의 처리기로 나누고 서로 다른 처리기에 할당한 다음에 동시적으로 수행함으로써 수행시간을 줄이고 여러 작업을 동시에 처리해서 시스템의 전반적인 효율을 높인다는 장점이 있습니다. 또한 같은 기능의 처리기를 중복시켜서 에러 허용과 동시처리로 인한 수행 속도를 향상합니다. 이러한 다중처리기는 프로그램의 수행 속도를 포함한 성능의 개선이 주된 목표지만 신뢰성, 유연성, 가용성 등을 개선하는 것도 그 목표에 포함됩니다. 또한 다중처리기의 하드웨어 시스템 구성은 주로 기억장치와 처리기, 기억장치와 입출력 채널 간의 상호연결구조에 의해서 결정됩니다. 다중처리기를 보유하고 있는 컴퓨터는 비슷한 성능을 가진 2개 이상의 처리기를 가지고 있는데 모든 처리기는 공통의 기억장치 모듈과 입출력 채널, 입출력장치에 접근할 수 있으며 각 처리기는 자체적으로 지역기억장치를 보유하고 있습니다. 더불어 다중처리기는 복합적인 운영체제에 의해서 전체 시스템이 제어된다는 것을 특징으로 볼 수 있습니다. 지금까지 병렬처리기의 정의와 종류에 관하여 알아봤습니다.

Comments