Poradniki

Jakie są wątki procesora? różnice z jądrami

Spisu treści:

Anonim

W tym artykule poświęcimy chwilę na wyjaśnienie, jakie są wątki procesora lub zwane także wątkami w języku angielskim lub wątkami programistycznymi, aby zidentyfikować podstawowe różnice między nimi a rdzeniami procesorów. Wśród mniej doświadczonych, a nawet bardziej zaawansowanych użytkowników, wciąż jest sporo zamieszania na ten temat. Dlatego postanowiliśmy wyjaśnić te warunki w możliwym zakresie.

Ta koncepcja przetwarzania wątków nie jest niezbędna, aby wiedzieć, kiedy kupujesz procesor dla zwykłego użytkownika. W większości przypadków lepiej niż mniej, to prawie zawsze prawda. Tam, gdzie musimy wiedzieć, jakie są wątki, znajduje się w pracach programistycznych. W zależności od sposobu programowania i kompilacji aplikacja będzie miała bardziej zoptymalizowane działanie dla procesorów z większą liczbą wątków niż rdzeni. I tutaj postaramy się wyjaśnić.

Indeks treści

Jakie są rdzenie procesora

Zaczniemy od wyjaśnienia, jakie są rdzenie naszego procesora, więc będziemy mieli tę wcześniejszą wiedzę, aby się nie pomylić.

Wiemy, że procesor jest odpowiedzialny za wykonywanie i wykonywanie instrukcji programów załadowanych do pamięci RAM naszego komputera. Przechodzą przez nią praktycznie wszystkie instrukcje niezbędne do wykonania typowych zadań na naszym komputerze, nawigacji, pisania, przeglądania zdjęć itp. W części fizycznej procesor to układ scalony złożony z milionów tranzystorów, które tworzą logiczne bramki do przesyłania lub nie przepuszczania bitów danych w postaci energii, bez zbędnych ceregieli.

Cóż, ten mały układ zawiera różne moduły, które możemy nazwać jądrami, oprócz innych elementów, którymi nie jesteśmy teraz zainteresowani. Procesory kilka lat temu miały tylko jeden z tych rdzeni i były w stanie przetworzyć jedną instrukcję na cykl. Cykle te są mierzone w megahercach (MHz), im więcej MHz, tym więcej instrukcji możemy wykonać co sekundę.

Teraz mamy nie tylko jeden rdzeń, ale kilka. Każdy rdzeń reprezentuje podprocesor, to znaczy każdy z tych podprocesorów wykona jedną z tych instrukcji, dzięki czemu będzie w stanie wykonać kilka z nich w każdym cyklu zegara z wielordzeniowym procesorem. Jeśli mamy 4-rdzeniowy procesor, możemy wykonać 4 instrukcje jednocześnie zamiast tylko jednej. Tak więc poprawa wydajności jest czterokrotnie. Jeśli mamy 6, to 6 instrukcji jednocześnie. W ten sposób obecne procesory mają znacznie większą moc niż starsze.

I pamiętaj, te rdzenie są fizycznie obecne w naszym procesorze, nie jest to coś wirtualnego ani nie jest tworzone przez kod.

Co przetwarzają wątki?

Wątki, wątki lub wątki nie fizyczną częścią procesora, przynajmniej jeśli chodzi o więcej rdzeni lub coś w tym rodzaju.

Możemy zdefiniować wątek przetwarzania jako przepływ kontroli danych programu. Jest to środek, który pozwala efektywniej zarządzać zadaniami procesora i jego różnych rdzeni. Dzięki wątkom minimalne jednostki alokacji, które są zadaniami lub procesami programu, można podzielić na części, aby zoptymalizować czas oczekiwania każdej instrukcji w kolejce procesów. Te fragmenty nazywane są wątkami lub wątkami.

Innymi słowy, każdy wątek przetwarzania zawiera część zadania do wykonania, coś prostszego do wykonania niż gdybyśmy wprowadzili całe zadanie do jądra fizycznego. W ten sposób procesor jest w stanie przetwarzać kilka zadań jednocześnie i jednocześnie może wykonywać tyle zadań, ile ma wątków, i zwykle jest jeden lub dwa dla każdego rdzenia. W procesorach, które mają na przykład 6 rdzeni i 12 wątków, będą mogły podzielić procesy na 12 różnych zadań zamiast tylko 6.

Ten sposób pracy sprawia, że ​​zasoby systemowe są zarządzane w bardziej równy i wydajny sposób. Wiesz… dzieli się, a ty wygrasz całe życie. Procesory te nazywane są wielowątkowymi. Na razie musimy wyjaśnić, że procesor z 12 wątkami nie będzie miał 12 rdzeni, rdzenie są pochodzenia fizycznego, a wątki logicznego pochodzenia.

To z pewnością było nieco abstrakcyjne i trudne do zrozumienia, więc zobaczmy, jak to tłumaczy, jeśli mówimy o architekturze programu na naszym komputerze.

Programy, procesy i wątki

Wszyscy wiemy, co to jest program, jest to kod przechowywany na naszym komputerze i przeznaczony do wykonania określonego zadania. Aplikacja to program, sterownik to także program, a nawet system operacyjny jest programem zdolnym do wykonywania innych programów w nim zawartych. Wszystkie są przechowywane w formie binarnej, ponieważ procesor rozumie tylko jedynki i zera, bieżące / nieprądowe.

Procesy programu

Aby uruchomić program, jest on ładowany do pamięci RAM. Ten program jest ładowany przez procesy, które niosą powiązany z nim kod binarny i zasoby, których potrzebuje do działania, które zostaną przypisane „inteligentnie” przez system operacyjny.

Podstawowymi zasobami, których potrzebuje proces, są licznik programów i stos rekordów.

  • Licznik programu (CP): nazywany jest wskaźnikiem instrukcji i śledzi sekwencję przetwarzanych instrukcji. Rejestry: jest to magazyn znajdujący się w procesorze, w którym można przechowywać instrukcję, adres przechowywania lub dowolne inne dane. Stos: jest to struktura danych, która przechowuje informacje związane z instancjami, które program ma aktywny na komputerze.

Następnie każdy program jest dzielony na procesy i zapisywany w określonym miejscu w pamięci. Ponadto każdy proces działa niezależnie, co należy zrozumieć, ponieważ w ten sposób procesor i system mogą wykonywać wiele zadań jednocześnie, co nazywamy systemem wielozadaniowym. Ten system przetwarzania jest winowajcą, że możemy kontynuować pracę na naszym komputerze, nawet jeśli program został zablokowany.

Wątki procesu

Tutaj pojawiają się wątki przetwarzające, zwane wątkami w systemach operacyjnych. Wątek jest jednostką wykonania procesu. Możemy podzielić proces na wątki, a każdy z nich będzie wątkiem wykonania.

Jeśli program nie jest wielowątkowy, procesy w nim zawarte będą miały tylko jeden wątek, więc można je przetwarzać tylko jednocześnie. Przeciwnie, jeśli mamy procesy wielowątkowe, można je podzielić na kilka części, a każdy z tych wątków dzieli zasoby przypisane do procesu. Powiedzieliśmy więc, że wielowątkowość jest bardziej wydajna.

Ponadto każdy wątek ma własny stos rekordów, dzięki czemu dwa lub więcej z nich może być przetwarzanych w tym samym czasie, w przeciwieństwie do jednego procesu, który trzeba będzie uruchomić jednocześnie. Wątki to prostsze zadania, które pozwalają na uruchomienie procesu w sposób podzielony. I to jest w zasadzie końcowa funkcja wątków przetwarzania. Im więcej wątków, tym większy podział procesów i większa liczba jednoczesnych obliczeń, a tym samym większa wydajność.

Jeszcze nie skończyliśmy, wciąż pozostaje nierozstrzygnięte pytanie: Co się wtedy stanie z rdzeniem z podwójnym gwintem ? Powiedzieliśmy już, że każde jądro jest w stanie wykonać pojedynczą instrukcję na raz. CPU ma złożony algorytm, który dzieli czasy wykonywania w najbardziej efektywny możliwy sposób, przypisując każdemu zadaniu określony przedział czasu wykonywania. Zmiana między zadaniami jest tak szybka, że ​​daje wrażenie, że jądro wykonuje zadania równolegle.

Czy możemy zobaczyć te wątki lub wątki w systemie?

Nie w zbyt szczegółowy sposób, ale tak, możemy je zobaczyć, zarówno w systemie Windows, jak i Mac.

W przypadku systemu Windows wystarczy otworzyć menedżera zadań i przejść do „ wydajności ”. Następnie klikniemy link „ monitor zasobów ” poniżej. W tym nowym oknie będziemy mieli każdy proces podzielony na zużycie procesora i wątki, będą to wątki.

W monitorze aktywności Maca będziemy mieć bezpośrednio wątki wymienione na ekranie głównym.

To kończy nasz artykuł na temat wątków przetwarzania procesora. Jest to z pewnością dość skomplikowany temat do wyjaśnienia i dość abstrakcyjny, szczególnie dla użytkowników, którzy nie do końca rozumieją, jak działa procesor. Ale w tym przypadku mamy dobrą wiadomość, ponieważ mamy również całkiem dobry artykuł mówiący o tym, jak działa procesor i jak wykonuje się cały cykl instrukcji.

Odwiedź nasze artykuły na:

Mamy nadzieję, że wszystko było mniej lub bardziej jasne i doceniamy, że wybrałeś nas, aby dowiedzieć się więcej na ten temat.

Poradniki

Wybór redaktorów

Back to top button