컴퓨터 구조 14 : 병렬 처리, 멀티 프로세서

728x90

컴퓨터 구조 14 : 병렬 처리, 멀티 프로세서


Serial Process system

현재의 CPU가 하나뿐인 시스템
컴퓨터 처리가 필요한 전 분야에 걸쳐 더 나은 성능 개선 요구가 계속 제기되고 있음.
기계적, 논리적 프로세싱에 있어서는 가장 효율적임.

병렬 처리


Parallel Process system(병렬 처리 시스템)

동시에 여러 명령, 작업들을 실행할 수 있는 병렬 처리 시스템
병렬 처리 소프트웨어(병렬 운영체제, 병렬 컴파일러, 메모리 공유)가 계속 발전하고 있으므로 병렬 구조 개발 여건을 제공하고 있음.

1 : 다중 장치 구조

다수의 CPU로 동시에 여러 개의 작업을 병렬로 처리할 수 있는 시스템.
특징 : 공간적 병렬성

2 : 파이프 라인 구조

다수의 작업을 각기 다른 실행 단계에서 병렬로 처리할 수 있도록 지원되는 구조.
특징 : 시간적 병렬성

 

멀티 프로세서

메모리와 I/O 장치를 공유하는 두 개 이상의 CPU를 가진 시스템.
하나의 운영체제에 의해 프로세서와 시스템의 다른 요소들 사이의 상호 동작이 제어됨.
계산이 병렬 처리되어 시스템 성능이 향상됨. 다수의 독립적 작업들이나, 하나의 작업이 여러 부분으로 나뉘어 병렬적으로 수행될 수 있음.

멀티 프로세서 시스템 형성 요소들에는 CPU, IOP, 모듈로 분리된 메모리 장치가 있으며 상호 연결 구조로 구성된다.


1 : 시분할 공통 버스(Time-Shared Common Bus)



다수의 프로세서가 공통의 통로를 통해 메모리 장치에 연결됨
하나의 프로세서만 주어진 시간에 전송이 가능함
충돌 발생 가능성이 있으나 버스 제어기에 의해 해결 가능
시스템 내의 전체 전송률이 단일 경로의 속도에 제한될 수 있음.

*이중 버스 구조의 경우


각 프로세서들의 대기 시간 감소.
여러 개의 버스 전송이 동시에 진행 가능하나 시스템 구축 비용과 복잡도가 증가함.
시스템 버스 제어기에 의해 각 로컬 버스를 시스템 버스에 연결.
주어진 시간에 하나의 프로세서만 시스템 버스를 사용함.


2 : 다중 포트 메모리(Multiport Memory)



CPU나 IOP가 각 메모리 모듈 사이에 각각의 버스를 갖고 있는 시스템.
다중 통로에 의해 높은 전송률을 보이나 값이 비쌈.
각 모듈은 주어진 시간에 어떤 포트가 메모리에 접근할 수 있는가를 결정하기 위한 내부 논리 회로를 가지고 있음.
메모리 접근을 위한 우선순위는 일반적으로 포트의 위치에 따라 결정됨.


*크로스바 스위치(Crossbar Switch)의 경우


프로세서 버스와 메모리 모듈 통로 간의 교차점에 다수의 크로스 포인트를 구성.
크로스 포인트는 프로세서와 메모리 모듈 간 통로를 결정하는 스위치로, 버스에 실린 주소를 확인하여 통로를 열어주거나 주어진 순위에 따라 중재 역할을 가능하게 함.
모든 메모리 모듈로부터 동시 전송이 가능하나, 스위치 하드웨어가 너무 크고 복잡함.


3 : 다단 교환망(Multistage Switching Network)



2입력, 2출력(0, 1) 통신을 제어하는 상호 교환 스위치로 이루어진 시스템.
이진수를 사용해 출발지에서 목적지까지의 경로 설정.
2개의 입력 중 하나만 선택해 전체 경로를 연결해주는 역할과 충돌을 중재하는 기능으로 구성됨.
스위치가 많아지면 경우의 수도 많아짐.


4 : 하이퍼 큐브 시스템(Hypercube Interconnection)



N = 2^n개의 프로세서가 n차원 이진 큐브 구조로 느슨히 결합된 시스템이다.
서로 이웃한 노드(CPU, IOP, 메모리)는 직접 통신 가능하나, 나머지는 다른 링크를 거쳐야 한다.

 

728x90