시스템의 병렬 처리와 멀티프로세서
* 병렬 처리
* 멀티프로세서
병렬 처리
* Serial process system VS Parallel process system
- Serial process system
> 현재까지 설명되고 논의 대상이던 CPU가 하나 뿐인 시스템
> 과학, 계산, 영상, 네트워크 등 컴퓨터 처리 전 분야에 걸쳐 더 나은 성능 개선 요구가 끊임없이 제기 되고 있는 현실
> 하지만 기계적, 논리적 프로세싱으로는 가장 효율적이다
- Parallel Process system
> 동시에 여러 명령 또는 여러 작업을 실행할 수 있는 병렬처리 시스템
> 병렬처리 시스템이 가능한 시스템을 병렬 구조라 한다
> 병렬처리 시스템 구현 기술의 일환인 병렬 처리 소프트웨어(병렬 운영 체제, 병렬 컴파일러, 메모리 공유 등)가 과거에 비해 현저히 발전하고 있음으로 병렬구조개발 여건 제공
- Parallel Process system
> 다중 장치 구조
다수의 CPU로 동시에 여러 개의 작업을 병렬로 처리 할 수 있는 시스템
공간적 병렬 성 (spatial parallelism)
> 파이프라인 구조
다수의 작업을 각기 다른 실행 단계에서 병렬로 처리 할 수 있도록 지원되는 조
시간적 병렬성(temporal parallelism)
멀티프로세서
* 특징
- 메모리와 I/O 장치를 공유하는 두 개 이상의 CPU를 갖는 시스템을 말한다
- 다중 명령어 흐름과 다중 데이터 흐름 (MIMD)시스템으로 분류 된다
- 멀티 프로세서 시스템에서는 하나의 운영체제 의해 프로세서와 시스템의 다른 요소들 사이의 상호 동작이 제어되며, 동일한 문제의 해결을 위해 모든 요소들이 협력한다 (=/ 멀티 컴퓨터)
- 멀티 프로세서의 동작 원리 (시스템의 신뢰성 향상)
> 다수의 독립적인 작업들이 병렬적으로 처리 될 수 있다
> 하나의 작업이 여러 부분으로 나뉘어 각각이 병렬적으로 처리될 수 있다
- 사용자가 명시적으로 병렬 실행이 가능한 작업을 선언(프로그램 실행의 병렬성을 구현할 수 있는 프로그래밍 언어의 제공이 선결 과제)
- 컴파일러가 자동적으로 프로그램의 병렬성을 감지해 처리한다 (데이터 의존성을 검사하여 수행 순서나 병렬성을 찾아낸다)
- 멀티프로세서의 분류
> 공유 메모리 (shared-memory) 또는 밀착결합 멀티 프로세서 (tightly coupled multiprocessor)
> Distributed memory
> Loosely coupled
* 상호 연결 구조
- 멀티 프로세서 시스템은 CPU, IOP 그리고 여러 모듈로 분리된 메모리 장치에 의해 구성된다
- 공유 메모리 시스템 - 프로세스와 메모리 사이의 경로 수에 따라
- 느슨히 결합된 시스템 - 프로세싱 요소들 사이의 전송 경로 수에 따라 여러가지 물리적으로 다른 구성을 보인다
- 시분할 공통 버스 : 단일 공통 버스 시스템, 이중 버스 구조
[ 단일 공통 버스 시스템 ]
- 주어진 시간에 오직 하나의 프로세서만이 전송을 해할 수 있다
- 충돌 발생 가능성 있으나 버스제어기에 의해 해결 가능하다
- 시스템내의 전체 전송률이 단일 경로의 속도에 제한 될 수 있다
[ 이중 버스 구조 ]
- 각 프로세서들의 대기시간이 줄어들고, 여러개의 버스 전송이 동시에 진행 가능하다. 단, 시스템 구축 비용과 복잡도가 증가한다
- 시스템 버스 제어기에 의해 각 로컬 버스를 시스템 버스에 연결한다
- 역시 주어진 시간엔 하나의 프로세서만이 시스템 버스를 사용한다
[ 다중 포트 메모리 ]
- CPU 또는 IOP와 각 메모리 모듈이 버스라인을 갖고 있는 시스템
- 각 모듈은 주어진 시간에 어떤 포트가 메모리에 접근 할 수 있는가를 결정하기 위한 내부 논리 회로를 가지고 있다
- 메모리 접근을 위한 우선 순위는 일반적으로 포트의 위치에 따라 결정된다
- 프로세스와 메모리 사이의 높은 전송률
- 고가의 메모리 제어 논리회로와 전선 커넥터
[ 크로스바 스위치 ]
- Crossbar switch 구성은 프로세스 버스와 메모리 모튤 통로 간의 교차점에 위치한 다수의 크로스포인트로 구성 된다
- 크로스 포인트 (crosspoints)란 프로세서와 메모리 모듈간의 통로를 결정하는 스위치이다
- 이 스위치는 버스에 실린 주소를 확인하여 통로를 열어줄뿐 아니라 주어진 순위에 따라 중재 역할도 가능하다
[ 다단 교환망 ]
- 다단망에서의 기본 요소는 2입력, 2출력 상호교환 스위치이다
- 2개의 입력 중 하나만을 선택하여 전체 경로를 연결해주는 역할과 충돌을 중재하는 기능으로 구성된 연결 구조이다
- 입력과 출력 단자를 연결할 수 있는 제어 신호도 있어야 한다
[ 하이퍼큐브 상호연결 ]
- 2ⁿ개의 프로세서가 n차원 이진 큐프로 연결된 느슨히 결합된 시스템을 의미한다
- 각 프로세서는 큐브의 노드를 형성하는데 노드에는 CPU뿐만 아니라 로컬 메모리나 I/O인터페이스도 포함된다
출처 : 제로베이스
'공부 Note > 컴퓨터 구조' 카테고리의 다른 글
Chapter 07 병렬 컴퓨터 구조와 성능 구조 (2) (0) | 2022.02.24 |
---|---|
Chapter 06 입출력 구조 (3) (0) | 2022.02.24 |
Chapter 06 입출력 구조 (2) (0) | 2022.02.24 |
Chapter 06 입출력 구조 (1) (0) | 2022.02.24 |
Chapter 05 메모리 구조 (4) (0) | 2022.02.24 |