Co to jest zestaw instrukcji?

Każdy procesor jest zaprojektowany od podstaw do obsługi określonego zestawu instrukcji. Zestaw instrukcji to zestaw zakodowanych na stałe operacji, które może wykonać procesor. Tymi operacjami może być na przykład dodanie dwóch liczb, przeskoczenie do innej części programu lub porównanie dwóch wartości. Każda operacja, którą może wykonać komputer, jest jednoznacznie reprezentowana przez kod operacji.

Kody operacji

Podczas wykonywania programu procesor używa licznika programu do śledzenia, która instrukcja musi zostać wykonana jako następna. Gdy instrukcja jest pobierana, licznik programu jest zwiększany o długość instrukcji, tak aby wskazywał początek następnej instrukcji. Każda instrukcja składa się z kodu operacji. W zależności od instrukcji może ona zawierać operandy lub nie. Operandy mogą być stałą wartością lub wskaźnikiem do lokalizacji wartości w rejestrze procesora lub w systemowej pamięci RAM.

Po pobraniu pełnej instrukcji należy ją zdekodować. Jest to proces, w którym procesor oddziela kod operacji od wszelkich operandów. Odkodowany kod operacyjny jest używany do włączania lub wyłączania określonych ścieżek elektrycznych w procesorze, co zapewni prawidłowe działanie.

Gdy instrukcja zostanie zdekodowana, zostanie wykonana. Dokładne zachowanie procesora będzie zależeć od operacji. Operacja dodawania sumuje dwie wartości razem. Operacja skoku obliczy, do którego miejsca w programie należy przejść. Operacja porównania porównuje dwie wartości. Operacja NOP pozostanie bezczynna, ponieważ NOP oznacza brak operacji.

Większość instrukcji wyświetli następnie wynik operacji. To wyjście może trafić do rejestrów procesora i, jeśli to konieczne, do systemowej pamięci RAM. Każda z tych operacji zajmuje jeden cykl zegara.

Nielegalne kody operacyjne

Każda architektura procesora ma swoją specyficzną listę kodów operacji publikowaną przez producenta. Wartości tych kodów operacyjnych niekoniecznie są takie same na różnych platformach, dlatego oprogramowanie musi być kompilowane dla różnych architektur. W niektórych przypadkach producent dołącza również nieudokumentowane kody operacji. Są one określane jako „nielegalne kody operacyjne”. Nielegalne kody operacyjne, choć nieudokumentowane, będą wykonywać tę samą funkcję za każdym razem, gdy zostaną wywołane. Jednak jako nieudokumentowane i niestandardowe funkcje, aktualizacje architektury procesora mogą je po prostu usunąć.

Niektóre wczesne gry komputerowe na Apple II opierały się na określonych nielegalnych kodach operacyjnych. Następnie mieli problemy z wydajnością i stabilnością późniejszej wersji procesora Apple IIc, ponieważ IIc usunął nielegalne kody operacyjne wymagane przez gry. Nielegalne kody operacyjne były również używane w kręgach ochrony praw autorskich jako metoda bezpieczeństwa poprzez niejasność w ich walce z piratami łamiącymi ich zawartość. Niektóre nielegalne kody operacji są po prostu przeznaczone jako narzędzia do debugowania i obsługi błędów.

Zestaw instrukcji x86 zawiera dużą liczbę nieudokumentowanych nielegalnych opkodów. Co ciekawe, niektóre z nich są wspólne dla procesorów Intela i AMD, co wskazuje, że obie firmy są publicznie świadome swojego celu, chociaż nie jest to udokumentowane.

Kompilatory i montaż

Większość programów jest napisana w językach wysokiego poziomu. Są one stosunkowo łatwe do odczytania, często używają angielskich słów lub skrótów, aby zminimalizować krzywe uczenia się. Aby komputer mógł wykonać te programy, muszą one zostać skompilowane. Kompilator jest w zasadzie tłumaczem. Pobiera kod wysokiego poziomu i konwertuje go na kod komputerowy, instrukcje zrozumiałe dla procesora.

W niektórych językach możliwe jest również uruchamianie nieskompilowanego kodu za pomocą wcześniej skompilowanego programu, który generuje kod maszynowy w locie. Asembler to język programowania niskiego poziomu, który używa skrótów, aby umożliwić programistom bezpośredni wgląd i kontrolę nad wykonywanymi operacjami. NOP jest przykładem skrótu asemblerowego.

Wniosek

Zestaw instrukcji to lista oficjalnych funkcji, które może obsługiwać architektura procesora. Jest to lista operacji, które można wykonać. Operacje te są zakodowane na stałe w procesorze i wywoływane przy użyciu odpowiednich kodów operacyjnych.

Oprogramowanie zazwyczaj używa kompilatora do tłumaczenia kodu wysokiego poziomu czytelnego dla człowieka na kod maszynowy, który może odczytać procesor. Czasami architektura procesora może mieć nieudokumentowane kody operacyjne, zwane nielegalnymi kodami operacyjnymi. Nielegalne kody operacyjne są technicznie częścią zestawu instrukcji. Mogą one jednak nie być niezawodnie dostępne w przyszłych iteracjach platformy. Nie zapomnij zostawić swoich przemyśleń w komentarzach poniżej.



Jak sklonować dysk twardy

Jak sklonować dysk twardy

We współczesnej epoce cyfrowej, gdzie dane są cennym zasobem, klonowanie dysku twardego w systemie Windows może być dla wielu kluczowych procesów. Ten obszerny przewodnik

Jak naprawić błąd ładowania sterownika WUDFRd w systemie Windows 10?

Jak naprawić błąd ładowania sterownika WUDFRd w systemie Windows 10?

Czy podczas uruchamiania komputera pojawia się komunikat o błędzie informujący, że nie udało się załadować sterownika WUDFRd na Twój komputer?

Jak naprawić błąd NVIDIA GeForce Experience o kodzie 0x0003

Jak naprawić błąd NVIDIA GeForce Experience o kodzie 0x0003

Czy na pulpicie pojawia się błąd NVIDIA GeForce o kodzie 0x0003? Jeśli tak, przeczytaj blog, aby dowiedzieć się, jak szybko i łatwo naprawić ten błąd.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Jak usunąć procesor graficzny z komputera z systemem Windows w 2023 r

Jak usunąć procesor graficzny z komputera z systemem Windows w 2023 r

Czy musisz usunąć GPU z komputera? Dołącz do mnie, gdy wyjaśnię, jak usunąć procesor graficzny z komputera w tym przewodniku krok po kroku.

Jak zainstalować dysk SSD NVMe na komputerze stacjonarnym i laptopie

Jak zainstalować dysk SSD NVMe na komputerze stacjonarnym i laptopie

Kupiłeś nowy dysk SSD NVMe M.2, ale nie wiesz, jak go zainstalować? Czytaj dalej, aby dowiedzieć się, jak zainstalować dysk SSD NVMe na laptopie lub komputerze stacjonarnym.

Co to jest bomba logiczna?

Co to jest bomba logiczna?

Bomba logiczna to incydent związany z bezpieczeństwem, w którym osoba atakująca przeprowadza opóźnioną akcję. Czytaj dalej, aby dowiedzieć się więcej.

Co to jest SoC?

Co to jest SoC?

Jeśli kiedykolwiek zajrzałeś do wnętrza wieży PC, możesz zobaczyć, że jest tam wiele różnych komponentów. Twój przeciętny laptop zawiera większość tych samych komponentów

Co to jest szyfrowanie asymetryczne?

Co to jest szyfrowanie asymetryczne?

Algorytmy szyfrowania asymetrycznego wykorzystują dwa różne klucze. Jeden klucz służy do szyfrowania, a drugi do deszyfrowania.

Steam Deck: Jak sformatować kartę SD

Steam Deck: Jak sformatować kartę SD

Steam Deck jest dostępny w trzech opcjach przechowywania: 64 GB eMMC, 256 GB NVMe SSD i 512 GB NVMe SSD. W zależności od biblioteki gier i rozmiaru gier