2009. 6. 23. 20:27
     

드디어 긴긴 Single Core Processor 관련 부분을 마무리하고 Multicore Processor쪽으로 들어갔습니다. 이번에는 가장 기본이 되는  MP Configuration Table을 분석하는 기능을 추가했습니다. MP Configuration Table은 BIOS에서 만드는 것으로, 코어의 개수와 인터럽트 연결에 관련된 포괄적인 정보를 담고 있습니다. ;) 아래 그림을 보는 게 더 빠를 듯...

MP Configuration Table을 분석하는 이유는 실제 Core의 개수를 찾는 것과 나중에 인터럽트를 모든 Core로 전달하기 위해서입니다. BIOS는 부팅 과정에서 부팅을 담당하는 프로세서인 BSP(Bootstrap Processor)로 PIC 컨트롤러의 인터럽트 라인을 연결하므로, AP(Application Processor)를 깨운다 해도 PIC 컨트롤러의 인터럽트는 전달되지 않습니다. ;) 전달된다 하더라도 PIC 컨트롤러는 Multicore Processor를 지원할 능력이 없으므로 오동작하겠지요. ;)

따라서 Local APIC와 I/O APIC를 이용해서 모든 Core로 전달되도록 설정해야 하는데, 이때 MP Configuration Table에 저장된 정보가 아주 중요한 역할을 합니다. 실제 메인보드 제조사는 인터럽트를 어떻게 연결했는지를 알고 있으므로, BIOS에 그 정보를 저장해 둡니다. 이 정보가 MP Configuration Table에 들어 있는 것입니다. 만약 MP Configuration Table을 사용하지 않는다면... ㅎㄷㄷ... 생각만 해도 이건... ㅠㅠ

여튼~!!! 분석하는 게 끝났으니 이제 깨워서 일 시키는(?) 일만 남았군요. ㅎㅎ 아우 진짜 죽겠습니다. 이것만 끝나면 GUI로 바로 날아갈 텐데... ㅠㅠ  좀이 쑤셔 죽겠군요. ㅎㅎ 다음 작업도 끝나는 대로 인증 샷을 올리겠습니다. 다음 인증 샷에는 쌍둥이(?)가 열심히 일을 하는 화면이 나오겠군요. ;)

그럼 다들 좋은 저녁 되세요 ;)

ps) 아래는 QEMU의 MP Configuration Table의 내용입니다. 실제 PC와는 좀 다른 모습이군요. ;)




Android App

Posted by 호기심 많은 kkamagui(까마귀, 한승훈)

댓글을 달아 주세요

  1. Favicon of http://charsyam.pe.kr BlogIcon charsyam 2009.06.24 00:11  댓글주소  수정/삭제  댓글쓰기

    리눅스 커널 부팅 소스를 보면 위와 같이 MP 관련 설정을 읽어오는 부분이 있었던거 같습니다.
    APIC 이랑, MP랑 흐음... 기억이 가물가물, 역시 멋지시네요 ^^

    • Favicon of http://www.mint64os.pe.kr BlogIcon kkamagui 2009.06.26 10:07  댓글주소  수정/삭제

      멀티 프로세서나 멀티코어 프로세서를 지원한다면 MP 설정 테이블을 사용해야하지요 ;)
      어흑 아직 갈길이 먼데 시간이 점점 딸리는군요. ㅠㅠ 큰일입니다. ㅠㅠ

  2. 2009.06.26 11:57  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  3. ace1810 2009.07.01 07:56  댓글주소  수정/삭제  댓글쓰기

    안녕하세요^^오랜만에 들렀습니다. 한게임 처리 하다가 막히는게 하나 있어서 물어보러왔습니다. 다른 프로그램의 리스트 박스의 값이나. 콤보박스의 값을 변경 가능 할까요?
    예를 들어 다른 프로그램의 콤보 박스의 값이 1. 10. 100을 가지고 있을때 10을 선택 하게 하거나 체크 박스가 여러게 있을 때 원하는 체크 박스에 체크를 하는 방법이 궁금 합니다.
    시간 되시면 답변좀 부탁 드립니다.~^^

  4. 2009.07.04 10:22  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  5. 2009.07.05 20:02  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  6. 2009.07.07 04:37  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  7. 2009.07.08 19:24  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다