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

상우님의 프로필 이미지
상우

작성한 질문수

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

빠른 CPU를 위한 설계 기법

하드웨어적 스레드에 관하여 ( 17:05 그림 참고)

해결된 질문

작성

·

144

·

수정됨

0

image.png

강사님 안녕하세요 책 씹어먹을 각오로 보고 있는 개발자 지망생 수강생입니다..ㅎㅎ

위 그림과 같이 2코어 4스레드 CPU 에서

하나의 코어가 2개의 스레드(하드웨어적 스레드) 를 가지고 있잖아요? 하나의 코어 안에 레지스터 세트가 2개 있어서 2개의 명령어를 동시에 저장할수 있겠죠.

근데 ALU , 제어장치는 하나밖에 없기 때문에, 각 레지스터세트는 ALU, 제어장치를 공유하기 때문에, 결국에는 한 번에 하나의 명령어 밖에 처리 못하는거 아닌가요?

관련해서 GPTo 에게 물어봤는데, 하이퍼스레딩 기술을 통해 스레드 간의 전환을 빠르게 하여 마치 동시에 여러 명령어를 실행하는 것 같은 효과를 낸다고 하는데,

GPTo 답변이 맞다면, 1코어 2스레드가 하나의 코어에서 두 개의 명령어가 동시에 실행된다고 표현하신 부분이, 동시에 실행한다고 표현할 만큼 빠르게 스레드간 전환이 되기 때문에 그렇게 표현하신걸까요?

질문을 잘 한건지 모르겠네요 ㅠㅠ

답변 1

1

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

안녕하세요

매우 좋은 질문이십니다 :)

네, 맞습니다.

 

사실, '두 개의 명령어가 동시에 실행된다'는 표현은

조금 더 엄밀하게 정의할 수 있습니다.

 

병렬성을 띈다는 의미로 사용되기도 하고

동시성을 띈다는 의미로 사용되기도 하니까요

 

병렬성은 물리적으로 동일한 시간대에 실제로 동시에 작업이 처리되는 것을 의미하고

동시성은 동일하게 작업이 처리되는 것처럼 보이는 것을 의미합니다

질문에서 첨부드린 gpt 답변이 후자에 속한다고 볼 수 있습니다.

 

상우님의 프로필 이미지
상우

작성한 질문수

질문하기