멀티프로세서+멀티코어에 대해 궁금한게 있습니다.

박한범 2010.11.01 15:35 조회 수 : 8789

 

초점이 모호해지는 기분이 들어서 질문 다시 올리겠습니다.

제가 궁금한 것에만 포커스를 맞추려고 합니다. 이해 부탁드리고

먼저 이 궁금증의 발단부터 말씀드리겠습니다.

 

윈도우에서는 멀티-코어(물리적 CPU코어) 를 지원합니다.

그리고 윈도우에서는 하나의 CPU 코어당 하나의 PRCB 라는 프로세서 관리 구조체를 갖습니다.

 

각각의 PRCB는 자신만의 쓰레드 디스패처 데이터베이스를 갖으며,

PRCB 구조체 내용상 각각의 IDT와 VAD외에 많은 고유한 자료구조를 갖습니다.

 

 

-------------------------------------------------------------------------------------------------------------------------------------

 

정리해서 말하자면 하나의 CPU 는 하나의 PRCB에 대응되며, 각자 자신의 쓰레드 디스패치 데이터베이스를 가지고 쓰레드 디스패칭을 하고 있습니다. 쓰레드를 스케쥴링 함에 있어서 멀티레벨큐 방식을 사용합니다.

 

제가 궁금한건 이런 이론적인게 아닙니다.

 

윈도우에서

"PRCB를 코어에 대응되게 만들어놨는데, 이게 어떻게 CPU코어와 대응되어 동작하는지"

가 제 질문의 요지입니다.

 

다시 말씀드리자면, PRCB하나가 쓰레드를 하나 가져와서 실행합니다.

PRCB 다른 하나도 쓰레드를 하나 가져와서 실행합니다.

 

근데 여기서 어떻게 PRCB하나가 쓰레드를 하나 동작하는 것과 다른 PRCB가 다른 하나의 쓰레드를 동작하는 것을

CPU Core에 대응되게 동작할 수 있느냐?? 이게 도대체 이해가 안됩니다.

 

예를 들자면 인터럽트를 처리하는 IOAPIC같은 경우는, 

( 물론 IOAPIC에서 어떤 코어에서 이 인터럽트를 처리할지 결정해 그 코어의 Local APIC로 전달해주죠. )

Windows의 IDT 와 대응되기 위해서 물리 메모리에 매핑을 해놓습니다.

이를 토대로 Vector를 얻어서 IDT Entry를 찾아갈 수 있습니다.

 

하지만 PRCB - Cpu core 간의 관계에서는 어떤 단서도 찾을 수가 없어서 답답해서 질문을 드립니다.

 

이에 대한 어떤 단서라도 좋습니다. 댓글 부탁드립니다. ㅠㅠ

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22246
118 C 문법을 위반하는 경우가 생긴건지도 모르겠네요...뭐가 이러지?.. [6] 김영일 2010.12.06 7738
117 모듈오류가 나는데 이유가 뭔지 안잡히네요.. [5] 김영일 2010.11.30 14557
116 아직 끼우지 못한 단추가 남았습니다. [6] 박한범 2010.11.30 8218
115 HVM 실험 좀 부탁합니다. [6] 백창우 2010.11.17 6454
114 리눅스에서 armulator 구동하는 방법 김성오 2010.11.08 7660
113 arm에서 mmu 설정 문제... [1] 유대철 2010.11.03 9741
» 멀티프로세서+멀티코어에 대해 궁금한게 있습니다. [14] 박한범 2010.11.01 8789
111 멀티프로세서+멀티코어에 대해 궁금한게 있습니다!? [8] 박한범 2010.10.30 7672
110 리눅스 인터럽트 금지 해제 관련 [9] 홍문화 2010.09.30 11634
109 gcc 디버깅방법 [1] 피승현 2010.09.27 8820
108 컴파일러 최적화 부분에서... [2] 김국진이 2010.09.04 8666
107 특정 라이브러리만 정적링킹하도록... [3] 김경태 2010.08.17 9812
106 8차 스터디 인원 모집에 대해 문의 드립니다. [1] 신창호 2010.08.17 4837
105 address_space 구조체에 대한 질문 [9] 송원준 2010.07.27 9948
104 S3c2440의 USB host 기능 실현에 대한 질문입니다. 이죽송 2010.07.16 9451
103 커널 스터디에 관해 질문드립니다. 김진수 2010.07.16 5119
102 pgd_offset_K() 커널함수에 대한 질문입니다. [2] 백철민 2010.06.23 9942
101 커널 스터디에 참여하고 싶은데요.. [1] 박영현 2010.06.22 5516
100 dd명령어 써서 디스크 카피 할 시 신재욱 2010.06.16 7362
99 linux에서partition분할하지 않고 포멧한 경우 신재욱 2010.06.16 6379
XE Login