티스토리 뷰
병렬컴퓨터 구조(Flynn의 분류와 병렬처리의 다양한 형태)
현대의 컴퓨터 시스템은 단일 프로세서에서 다중 프로세서로의 진화를 거쳐 병렬처리 기술을 적용하고 있습니다. 병렬처리는 다수의 프로세서가 동시에 작업을 처리하는 기술로, 처리 속도의 향상과 작업 분배의 효율성을 극대화할 수 있습니다. 이번 글에서는 병렬처리를 위한 기술과 병렬컴퓨터의 분류에 대해 알아보겠습니다.
병렬처리를 위한 선결 조건
많은 수의 저렴하고 고속인 프로세서의 사용 가능성
문제를 분할하고 병렬로 처리할 수 있는 분할 가능성
야기되는 새로운 문제들
문제 분할: 병렬처리를 위해 문제를 여러 개의 작은 부분으로 분할하는 작업
프로세서 간 통신: 분할된 부분을 처리하는 프로세서 간의 데이터 교환을 위한 메커니즘 필요
필요한 관련 기술들
병렬 프로그램 언어와 컴파일러의 개발
상호 배타 메커니즘(mutual exclusion mechanism) 지원
공유자원에 대한 경합을 줄이고 이용률을 극대화할 수 있는 운영체제의 개발
Flynn의 분류
SISD: 단일 명령어 스트림, 단일 데이터 스트림 구조
SIMD: 단일 명령어 스트림, 복수 데이터 스트림 구조
MISD: 복수 명령어 스트림, 단일 데이터 스트림 구조
MIMD: 복수 명령어 스트림, 복수 데이터 스트림 구조
MIMD 구조의 분류:
밀결합 시스템: 공유-기억장치 구조를 가진 다중프로세서 시스템
소결합 시스템: 지역 기억장치를 가진 독립적인 컴퓨터 모듈로 구성되는 다중컴퓨터 시스템
결론:
병렬컴퓨터는 다수의 프로세서가 동시에 작업을 처리하는 기술로, 컴퓨팅 성능을 대폭 향상시킬 수 있습니다
SISD (Single Instruction, Single Data)
SISD 구조는 단일 명령어 스트림과 단일 데이터 스트림으로 구성됩니다. 이 구조는 하나의 프로세서가 하나의 명령어와 하나의 데이터를 순차적으로 처리하는 방식입니다. 파이프라이닝(pipelining)과 슈퍼스칼라(superscalar) 구조를 활용하여 성능을 향상시킬 수 있습니다.
SIMD (Single Instruction, Multiple Data)
SIMD 구조는 단일 명령어 스트림과 복수 데이터 스트림으로 구성됩니다. 배열 프로세서(array processor)라고도 불리며, 다수의 프로세싱 유니트(PU)가 하나의 제어 유니트에 의해 통제되며, 하나의 명령어 스트림을 실행하면서 복수의 데이터 스트림을 동시에 처리합니다. 병렬화가 필요한 데이터 집합에 대해서는 높은 처리 성능을 보입니다.
MISD (Multiple Instruction, Single Data)
MISD 구조는 복수 명령어 스트림과 단일 데이터 스트림으로 구성됩니다. MISD 구조는 특정한 애플리케이션에서만 사용되는 특수한 경우로, 일반적으로는 사용되지 않습니다.
MIMD (Multiple Instruction, Multiple Data)
MIMD 구조는 복수 명령어 스트림과 복수 데이터 스트림으로 구성됩니다. MIMD 구조는 다수의 프로세서가 서로 다른 명령어와 데이터를 처리하는 형태로, 가장 일반적인 병렬처리 구조입니다. MIMD 구조는 밀결합 시스템과 소결합 시스템으로 분류됩니다.
밀결합 시스템은 공유-기억장치(shared-memory) 구조를 가진 다중프로세서 시스템입니다. 프로세서들이 메모리를 공유하며 상호작용할 수 있습니다.
소결합 시스템은 지역 기억장치(local memory)를 가진 독립적인 컴퓨터 모듈로 구성되며, 프로세서들 간의 통신은 메세지 전달(message-passing) 방식을 이용합니다. 이런 시스템은 분 산된 작업을 독립적으로 처리할 수 있어 분산 컴퓨팅에 유용합니다.
이렇듯 병렬컴퓨터는 다양한 구조와 형태를 가지며, 각각의 구조는 특정한 응용 분야나 요구 사항에 적합한 장점을 가지고 있습니다. 따라서 병렬컴퓨터의 분류와 이해는 병렬처리 기술을 활용한 효율적인 컴퓨팅 시스템을 구축하는 데 중요한 역할을 합니다.
병렬컴퓨터의 분류와 구조를 이해함으로써 우리는 병렬처리 기술의 다양한 형태와 잠재력을 인식할 수 있습니다. 이를 토대로 효율적인 병렬컴퓨터 시스템을 설계하고 개발할 수 있으며, 병렬처리를 적용하여 작업의 처리 속도를 대폭 향상시킬 수 있습니다.
병렬컴퓨터 구조와 병렬처리에 대한 이해는 현대 컴퓨팅 분야에서 매우 중요한 역할을 합니다. 다양한 분야에서 대용량 데이터 처리, 과학 및 공학 시뮬레이션, 인공지능과 머신러닝 등의 작업을 효율적으로 수행하기 위해 병렬처리 기술은 필수적입니다.
이러한 이유로, 병렬컴퓨터 구조와 병렬처리에 대한 이해는 컴퓨터 과학 및 엔지니어링 분야에서 학습하고 연구하는 사람들에게 중요한 지식이 되며, 블로그 글을 통해 이를 알리고 확산시킬 수 있습니다.
'it' 카테고리의 다른 글
입출력 I/O 제어 (왜 I/O 장치는 시스템 버스에 직접 접속되지 않을까?) (0) | 2023.07.06 |
---|---|
인터럽트를 이용한 I/O(데이터 처리의 효율성과 성능 향상을 위한 방법) (0) | 2023.07.05 |
다중프로세서시스템 구조(공유-기억장치와 분산-기억장치의 장단점과 선택 기준) (0) | 2023.07.03 |
컴퓨터의 기본 구조(중앙처리장치(Central Processing Unit: CPU),기억장치(Memory),입출력장치(I/O Device)) (0) | 2023.07.02 |
클라우드웨이즈 계정 탈퇴(삭제) 하기 (0) | 2023.07.02 |
- Total
- Today
- Yesterday
- tvn무료로보기
- 큐알코드만드는법
- qr코드만드는방법
- 엄마친구아들무료보기
- 무료사진다운
- 신데렐라게임실시간
- linux용량
- 오블완
- 서버용량확인
- 티스토리챌린지
- 검색기록지우는방법
- 엄마친구아들실시간무료보기
- 리눅스용량
- qr코드만드는법
- 신데렐라게임실시간시청방법
- 무료사진다운로드
- 검색히스토리삭제
- 리눅스서버용량
- 엄마친구아들
- 손해보기싫어서무료시청
- 엄마친구아들무료시청
- 엄마친구아들무료로보기
- 노트북인터넷연결
- 네이버검색기록삭제
- linux용량확인
- 노트북인터넷
- 검색히스토리
- 신데렐라게임생방
- 신데렐라게임
- linux서버용량확인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |