> 일반적인 문제 > 단일 프로세서 시스템에서 병렬화할 수 있는 것은 무엇입니까?

단일 프로세서 시스템에서 병렬화할 수 있는 것은 무엇입니까?

青灯夜游
풀어 주다: 2022-07-13 12:03:35
원래의
13891명이 탐색했습니다.

단일 프로세서 시스템에서는 "프로세서와 장치", "프로세서와 채널", "장치와 장치"를 병렬화할 수 있습니다. 채널은 프로세서가 작업을 수행할 때 입출력 작업을 동시에 수행할 수 있는 장치입니다. 채널은 병렬입니다. 프로세서가 작동 중일 때 주변 장치는 입력/출력 작업을 동시에 수행할 수 있으므로 프로세서와 장치가 병렬화될 수 있으며 장치도 병렬화될 수 있습니다.

단일 프로세서 시스템에서 병렬화할 수 있는 것은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

하나의 컴퓨팅 프로세서만 포함하는 컴퓨터 시스템을 단일 프로세서 시스템이라고 합니다.

단일 프로세서 컴퓨터 시스템에는 최대 1개와 최소 0개의 실행 상태, 최대 N개와 최소 N-1개의 대기 상태, 최대 N-1개와 최소 0개의 준비 상태가 있습니다.

단일 프로세서 시스템에는 단 하나의 명령어 파이프라인과 하나의 다기능 운영 구성요소만 있어 클록 주기당 하나의 명령어를 "가져오고" "분석"합니다. 많은 파이프라인 프로세서에서 명령어 파이프라인의 파이프라인 단계 수는 k=4입니다. 이는 주로 명령어 실행 프로세스를 "명령 가져오기", "분석", "실행" 및 "결과 쓰기"의 4단계로 분해합니다. 명령에 의해 실행되는 기능은 주로 다기능 조작 구성 요소에서 완료되며 "실행" 섹션에서 완료됩니다. 대부분의 파이프라인 프로세서의 다기능 작동 구성 요소는 파이프라인 구조를 채택합니다. 일부 간단한 명령은 "실행" 파이프라인 세그먼트에서 단 한 번의 클록 주기로 완료될 수 있는 반면, 보다 복잡한 명령에는 종종 여러 클록 주기가 필요합니다. 또한 조건부 전송 등의 효과도 있으므로 일반적인 파이프라인 스칼라 프로세서에 의해 클록 사이클당 실행되는 평균 명령어 수는 1 미만, 즉 명령어 레벨 병렬성 ILP<1입니다.

단일 프로세서 시스템에서 병렬화할 수 있는 것은 프로세서와 장치, 프로세서와 채널, 장치와 장치입니다. 그러나 프로세스는 병렬화할 수 없습니다.

  • 단일 프로세서 시스템에서는 개선을 위해 시스템 효율성, 메모리에서 여러 프로세스를 서로 다른 상태로 유지하지만(프로세스 동시 실행이라고 함) 동시에 프로세서를 점유하는 프로세스는 하나만 있으므로 프로세스는 병렬이 아닙니다.

  • 최신 운영 체제는 채널이 CPU와 독립적으로 입출력을 제어할 수 있는 장치입니다. 따라서 두 채널은 동시에 I/O 작업을 수행할 수 있습니다. ;

  • 프로세서가 작동 중일 때 주변 장치가 동시에 입출력 작업을 수행할 수 있으므로 병렬성도 발생합니다.

  • 분명히 장치도 병렬화될 수 있습니다.

확장된 지식: 단일 프로세서 시스템과 다중 프로세서 시스템의 차이점

초기 컴퓨터 시스템은 단일 프로세서를 기반으로 한 순차 처리 기계였습니다. 프로그래머는 직렬 실행을 위한 코드를 작성하고 각 명령어의 실행도 직렬로 수행됩니다(명령어 가져오기, 피연산자 가져오기, 작업 수행 및 결과 저장). 컴퓨터 처리 속도를 높이기 위해 Lenovo 메모리 시스템과 파이프라인 시스템이 먼저 개발되었습니다. ghostwin7 전자는 데이터 중심의 아이디어를 제안했고 후자는 명령의 직렬 실행 문제를 해결했습니다. 그 중 하나는 컴퓨터 병렬성 예제의 초기 개발이었습니다. 하드웨어 기술의 발전으로 병렬 처리 기술은 급속히 발전해 왔으며, 컴퓨터 시스템은 더 이상 단일 프로세서와 단일 데이터 스트림에 국한되지 않고 다양한 병렬 구조가 적용되고 있습니다.

현재 컴퓨터 시스템은 다음 4가지 범주로 나눌 수 있습니다.

(1) 단일 명령어 스트림 단일 데이터 스트림(SISD). 프로세서는 메모리의 데이터에 대해 단일 명령 스트림을 실행합니다.

(2) 단일 명령어 스트림 다중 데이터 스트림(SIMD). 단일 명령 흐름은 여러 처리 장치의 동시 실행을 제어합니다. 각 처리 장치에는 프로세서와 관련 데이터 저장소가 포함되어 있습니다. 실제로 하나의 명령은 서로 다른 데이터에 대해 작동하도록 서로 다른 프로세서를 제어합니다. 벡터 머신과 어레이 머신은 이러한 유형의 컴퓨터 시스템을 대표합니다.

(3) 다중 명령어 스트림 단일 데이터 스트림(MISD). 데이터 스트림은 프로세서 그룹으로 전송되고 처리 결과는 이 프로세서 그룹의 서로 다른 명령 작업을 통해 최종적으로 얻어집니다. 이러한 유형의 컴퓨터 시스템에 대한 연구는 아직 실험실 단계에 있습니다.

(4) 다중 명령어 스트림 다중 데이터 스트림(MIMD). 다중 프로세서는 서로 다른 데이터 세트에서 서로 다른 명령 스트림을 동시에 실행합니다. MIMD 시스템은 공유 메모리가 있는 긴밀하게 결합된 MIMD 시스템과 분산 메모리가 있는 느슨하게 결합된 MIMD 시스템이라는 두 가지 범주로 나눌 수 있습니다.

관련 지식이 더 궁금하시다면 FAQ 칼럼을 방문해 주세요!

위 내용은 단일 프로세서 시스템에서 병렬화할 수 있는 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿