인프런 커뮤니티 질문&답변

ksrlogic님의 프로필 이미지
ksrlogic

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

동기화 기법

파이프라이닝 질문

해결된 질문

작성

·

368

1

ALU나 제어장치같은 건 한 개인데 어떻게 파이프라이닝으로 1코어 2스레드를 구현하는건가요?

 

2스레드를 구현하려다가 인출 해석 실행 저장 중 한 가지 과정에서 ALU나 제어장치를 동시에 사용하는 경우가 발생하지 않나요?

답변 1

1

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요

하나씩 답변 드리겠습니다~

 

ALU나 제어장치같은 건 한 개인데 어떻게 파이프라이닝으로 1코어 2스레드를 구현하는건가요?

[빠른 CPU를 위한 설계 기법] 강의에서 설명드렸듯, 레지스터 세트가 두 개 있으면 됩니다. 가령 프로그램 카운터가 두 개 있다고 가정해보세요. 그럼 다음으로 실행할 주소를 두 군데 가리킬 수 있게 됩니다. 이를 빠르게 실행하면 두 개의 명령어가 동시에 실행되는 것과 같은 효과가 있습니다.

 

2스레드를 구현하려다가 인출 해석 실행 저장 중 한 가지 과정에서 ALU나 제어장치를 동시에 사용하는 경우가 발생하지 않나요?

네 그럴 수 있습니다. 그 부분에 대한 설명이 [명령어 병렬 처리 기법] 강의에서 언급해드린 파이프라인 위험, 그 중에서도 구조적 위험입니다.

https://en.wikipedia.org/wiki/Hazard_(computer_architecture)#Structural_hazards

ksrlogic님의 프로필 이미지
ksrlogic
질문자

감사합니다!! 책 사서 잘 보고있어요!

ksrlogic님의 프로필 이미지
ksrlogic

작성한 질문수

질문하기