스레드 관련 질문 남겨봅니다.
글쓴이: bureokjam / 작성시간: 금, 2013/10/18 - 8:45오후
백신 프로그램을 이용해서 파일을 검사하고 있는 상황입니다.
사진을 보면 16개의 스레드로 파일을 검사하고 있다고 나와있습니다.
의문이 생기는 부분이 하나의 CPU는 한번에 1개의 스레드 밖에 실행할 수 없다고 알고 있습니다.
그래서 위와 같은 문제를 극복하고자 하이퍼 스레딩이라는 기술이 개발되었다고 생각하구요.
따라서 여러개의 스레드를 하나의 CPU에서 처리할수 있게 되었다고 생각되구요.
여기서, 16개의 스레드를 수행하기 위해서는 CPU는 논리적으로 16개가 되는게 맞는건가요?
아니면 스레드간의 전환을 통해서 16개가 순차적으로 수행되는건가요?
어떤식으로 접근을 해야되는지 답답한 마음에 질문 남겨보았습니다. 감사합니다.
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 14.2 KB |
Forums:
요새는 멀티 코어가 대세라서 CPU 하나에 코어가
요새는 멀티 코어가 대세라서 CPU 하나에 코어가 여러개 있습니다.
코어 하나당 한번에 하나의 스레드만 실행할 수 있지만,
시간을 잘게 쪼개어 여러 스레드를 돌아가며 처리하기 때문에 보이기에는 동시에 여러개가 실행되는 것 처럼 보이죠.
하이퍼스레딩은 스레드를 늘리는 것이 아니고,
하나의 코어가 두개의 스레드를 실행 할 때 스레드 전환 시, 이전 스레드의 상태를 저장하는 등의 오버헤드가 발생하는데, 이를 하드웨어적으로 처리하는 방식입니다.
댓글 달기