Какво е многонишкова процесор

Има много различни принципи на многонишкова (като коренно различни, както и различни само в детайлите).

Ако е много кратка разходка в историята, можете да получите това:







1) единична многозадачна операционна система, като първата версия на DOS - само един проблем - това е задача на всички инструкции, които да изпълни процесора.

2) Започнете многозадачност - има подкрепа устройство, принтер, за да DOS, която отпечатва паралелно да изпълнява други задачи. Това е начина, идеята да се прекъсне. Когато изпълнението на текущата задача се прекъсва и започва да изпълнява друга, а след това се прекъсва и се връща всичко на първия.

3) Концепцията на потока. Всяко приложение, и всичко в нея увито в потока, който превключва самата операционна система. От една страна, по-скоро бавно минава, но от друга страна - за потребителя почти не се забелязва. Тичане в Windwos 95 двайсетина приложения, всяка от които 2-3 лесно биха могли да текат.

4) Идеята на многопроцесорна. С цел да се увеличи скоростта на е направено предложение да се разгледа различни теми за различни процесори - така че те трябва да преминат по-рядко, а след това цялата система да работи много по-бързо.







5) Предишна идея по това време е твърде скъпо и това е направено, за да се намали концепцията на разходите на ядра - най-много част от компютърното съставено в два екземпляра, и да се използват процесора да напусне една от двете ядра. В резултат на това всяка проба може да обработва множество потоци.

Общо. Mnogotochnost реализуема и без подкрепата на част от процесора. Но колкото повече ядра в един процесор, по-забележима е ефектът на многонишково.

И как ОС определя най потоци в реалния свят приложения? Какъв е критерият, който искате да превключите от този поток към друг, ако самата прилагането на каквито и да било потоци и не знае? Съгласен съм, че прекратяването на I / O - е причината за преминаване към друго приложение, и ако всички те не са на I / O, а след това? И защо многоядрени, ако преминаването към друга задача, процесорът все още не работи на празен ход? преди 3 години -

Твърде много различни въпроси, но аз ще се опитам да отговоря:
1) Оста по себе си е доста разбира какво приложение и колко теми са създадени. И все пак, тя вижда всички обаждания от приложението.
2) За да превключите от един поток към друг не е необходимо (обикновено) какво да научат от приложението. Ние просто го спре и да превключвате контекст съкращение за нещо друго. В Windows, има 11 нива на приоритетното прилагане (само 6 достъпни за потребителя) на оста на която сортира потоците и взема решение да преминат.
3) Само в произволни превключва от време. Ето защо тази операция е достатъчно дълъг - трябва да запазите контекста на текущия поток, изтеглете ново, и едва след това да продължи да брои.
4) Multi-сърцевина е необходимо за ускоряване. производителност растеж, макар и не линейно, но е доста значителна. преди 3 години -