출처: https://velog.io/@front/패캠-컴퓨터-구조-47강-55강-정리, https://amy-ming.tistory.com/151,
(출처는 위 링크! 형광펜은 개인적으로 공부하면서 체크한 부분입니다)






병렬처리 시스템 / 멀티프로세서



⭐ 병렬처리 시스템

병렬로 처리한다, 즉 이전 작업을 반드시 끝내지 않아도 다음 작업을 시작할 수 있는 시스템
컴퓨터에서는 여러 개의 프로세서들이 여러 프로세스 혹은 한 프로세스의 분할된 부분을 분담해 동시에 처리하는 기술을 의미함

📌 병렬처리 시스템 개요

병렬운영체제, 컴파일러, 메모리 공유 등 관련 소프트웨어 및 여러 기술들이 발전함에 따라, 직렬처리 시스템 구조에서 병렬처리 시스템 구조로 그 양상이 변화하게 됨

📌 병렬처리 시스템 구조

병렬처리 시스템은 크게 다중장치 구조, 파이프라인 구조로 분류

  • 다중장치구조
    : 공간을 병렬화하는 방식으로, 다수의 CPU여러개의 작업을 병렬로 처리할 수 있는 시스템

  • 파이프라인구조
    : 시간을 병렬화하는 방식으로, 하나의 CPU에서 작업을 계층적으로 구분(segment)하여 병렬로 처리할 수 있는 시스템




멀티프로세서

멀티프로세서는 위 병렬처리 시스템 중 2개 이상의 CPU를 갖는 시스템(= 다중 장치 구조)으로, MIMD의 흐름을 가지고 있음

멀티컴퓨터와는 별개의 개념으로, 하나의 운영체제에 의해 프로세서들의 상호동작이 제어되고 이슈 발생 시 프로세서간 cowork를 통해 문제를 해결

다수의 독립적인 작업들이 병렬적으로 처리되며, 이러한 작업들은 여러 부분으로 나뉘게 됨

멀티프로세서는 사용자가 작업명령(=API, 프로그램 언어)을 명시적으로 기재해주거나, 컴파일러가 자동적으로 프로그램 병렬성을 감지하여 처리를 함



📌 멀티프로세서의 종류

멀티프로세서는 연관성 있는 작업을 처리하기 위해 공유메모리 및 밀착결합 멀티프로세서 구조를 활용하며, 연관성이 크지 않은 작업을 처리할 경우엔 분산메모리 및 loosely coupled 구조를 활용함(Round Robin처럼 Rotational 처리).



📌 멀티프로세서 구조 종류


📍 < 시분할 공용 버스 구조 >

  • 단일 공통 버스 시스템이라고도 하며, 여러 CPU가 1개의 공통버스라인(common bus line)을 통해 1개의 공유메모리에 접근하는 구조

  • 동일 시점에서 하나의 프로세서만이 전송을 수행하며, 충돌가능성이 있을 경우 버스 제어기에 의해 해결이 가능

  • 단일경로 속도가 시스템 성능에 많은 영향을 주는 구조



📍 < 다중 포트 메모리 >

(이미지 출처 : https://velog.io/@front/패캠-컴퓨터-구조-47강-55강-정리)

  • CPU, I/O Processor, 메모리 모듈 등 각 처리 주체들이 독립적인 Bus line을 따로 가지고 있는 시스템

  • Memory에 접근하는 입구, 즉 포트가 여러 개 존재하여 다중 포트 메모리라고 명명함

  • 각 모듈은 특정 시점에 어떤 포트가 메모리에 접근할 지 결정하기 위한 내부적인 논리회로를 보유하고 있으며, 보통은 메모리와 가까운 곳에 위치한 순서대로 포트를 지정

  • 프로세서와 메모리 사이의 높은 전송률을 보이지만, 메모리 제어 논리회로 등으로 가격이 비싸다는 단점이 있음



📍 < 크로스바 스위치 >

(이미지 출처 : https://velog.io/@front/패캠-컴퓨터-구조-47강-55강-정리)

  • 다중 포트 메모리 구조가 각 처리주체(CPU 등)별 독립적인 Bus line이 따로 존재하였다면, 크로스바 스위치는 프로세서와 메모리 간의 완전 연결성이 구현된 구조

  • 프로세서의 Bus line에서 메모리 모듈과의 교차점이 존재하며, 이 교차점을 크로스 포인트로 구성하여 모든 프로세서와 메모리간 경로가 이어질 수 있도록 구성

  • 이때 크로스포인트는 경로 역할도 하면서, 주어진 순위에 따른 중재 역할을 수행하기도 함

  • 하드웨어 구성이 그만큼 복잡해져 구현이 상당히 어려운 단점이 있음



이 밖에도 다단 교환망, 하이퍼큐브 상호 연결 등이 있음




profile
⛅🛩️ 먼 길을 돌아서 온 프론트엔드 개발자 ✈️⛅

0개의 댓글