본문 바로가기
공부/컴퓨터 구조

컴퓨터구조17 Parallel Processing

by 맑은청이 2020. 7. 3.
728x90
반응형

여기서는  병렬처리를 위한 최근의 architecture에 대해서 살펴보겠습니다. 

 

 

Flynn 이라는 사람이 컴퓨터 아키텍쳐를 다음과 같이 네개로 나누었습니다.

 

 

PU(Process Unit) 으로 명령을 처리하고 데이터를 처리하는 유닛이라고 보면 됩니다. 

CU 가 IS 를 PU에 주면 MU 에 데이터를 사용해서 처리를 합니다. 

즉 프로세스가 하나인겁니다. 

명령어는 하나인데(명령어가 하나라기 보단 목적이 하나) 여러 프로세서가 각각의 데이터를 처리합니다. 

공유메모리를 가지는 MIMD 입니다. 

각 PU 가 자기 나름의 Instruction stream을 다 가집니다. 

즉 컴퓨터가 여러개라서 코어마다 따라 스트림을 가지는 겁니다. 

여기서 중요한건 공유메모리를 가진다는 겁니다. 

조금 더 타이트하게 연결이 되어 있는 느낌

여긴 공유 메모리를 안 가지고 로컬메모리를 가져서 이게 네트워크를 연결이 되는 겁니다. 

여기서는 컴퓨터 몇대를 연결시켜서 복잡하는 걸 하는 느낌입니다. 조금 느슨하게 연결이 되어 있는 느낌입니다. 

 

 

SISD 는 간단하게 Uni-Processor 입니다.

 

SIMD

MISD

MISD는 좀 독특합니다. 

Sequence of data 가 있습니다. 

Insturction Pool 에서 동일한 목적을 수행 하는 건 맞지만 명령어가 각각의 PU에서 다르게 동작이 되는 겁니다. 

파이프라인은 MISD 아닙니다. 

Fault-tolerant computers 가 이런 경우가 많습니다. 동일한 목적을 수행하지만 계산법을 조금씩 다릅니다. 잦은 오류를 대처하기 위한 방식입니다. 

 

 

MIMD 

요즘 제일 흔하게 쓰는 겁니다.

코어들이 연결되어 있습니다. 

SMP(프로세스 칩),Clusters and NUMA(Non-uniformly memory access) 

 

병렬 컴퓨터 아키텍처는 다음과 같이 분류되고 있습니다. 

 

 

MIMD 에 대해서 더 자세히 살펴보도록 하겠습니다. 

 

MIMD 중 SMP(Symmetric Multiprocessor) 에 대해 알아보겠습니다.

대칭형 멀티프로세서, 무슨뜻일가요? 프로세스가 서로 대칭, 즉 N개가 있으면 그게 다 똑같다는 의미입니다. 

각 프로세서에서 메인메모리를 액세스하는 시간은 동일합니다. 

 

 

Tightly coupled - NUMA

위 그림은 누마가 아닙니다. 프로세스의 위치가 달라도 동일한 동작 결과를 냅니다. 

위 그림은 누마입니다. 

이 처럼 두 프로세서가 같은 메모리의 접근할때 access time 은 다릅니다. 

 

 

Loosely Coupled - Clusters(클러스털스)

로컬 메모리를 가진 CPU 끼리 상호연결이 되고 있습니다. 고속 버스로 연결이 되어 있습니다. 이 버스를 통해 CPU 가 자기의 로컬 메모릴 쓰든 다른 CPU 의 메모리를 쓰던지 하는 겁니다.

 

멀티 프로그램과 멀티 프로세싱 입니다. 

 

SMP의 장점

 

완전 짧게 넘어감

Time Shared Bus 는 

시간을 쪼개서 버스를 사용하는데 버스를 동시에 사용할 수 없습니다 .

728x90
반응형