OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 4:41 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Initializing Multi-Core Processor and its Hyper-Threading
PostPosted: Tue Aug 24, 2021 3:03 pm 
Offline
Member
Member

Joined: Sun Aug 01, 2021 5:24 pm
Posts: 51
wth is that section :shock:

How far is that complex, by reading this I know now that TSS is just faking multitask, it simulates it through saving registers before jumping to another waiting task and it continues like that until all task are done.

But that multi-processor system appear to be more natural.
Image
Image
Image

Is there any tutorial about that? ive found only about TSS stuff.

It starts being complex at The MP Initialization Protocol Algorithm for MP Systems.


Top
 Profile  
 
 Post subject: Re: Initializing Multi-Core Processor and its Hyper-Threadin
PostPosted: Tue Aug 24, 2021 3:58 pm 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 5100
Rukog wrote:
by reading this I know now that TSS is just faking multitask, it simulates it through saving registers before jumping to another waiting task and it continues like that until all task are done.

Most OSes only use the TSS for the ring 0 stack pointer. Everything else gets saved and restored manually. And even with multiple CPUs, you still need to be able to switch tasks on each CPU.

Rukog wrote:
Is there any tutorial about that?

There is an example on the wiki. You should also read more about multiprocessing if you haven't already.

Rukog wrote:
It starts being complex at The MP Initialization Protocol Algorithm for MP Systems.

That's because the Intel SDM explains what the BIOS needs to do, not what your OS needs to do. Your OS needs to collect a list of APs to start (from ACPI or the MP tables), then send each AP the INIT/SIPI/SIPI, then make sure all APs started. The Multiprocessor Specification explains all of that in more detail. You can ignore the parts about the 82489DX and the CMOS shutdown byte, those only apply to 486s and socket 4 Pentiums.

ACPI 6.4 introduced a new way to start APs that's much easier to use. I don't think it's very common yet, since it's so new.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot] and 82 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group