Procesor Flashcards
Z czego składa się współczesny system komputerowy?
System komputerowy będzie się składał z między innymi;
◆ minimum jednej (a najczęściej większej ilości) jednostki centralnej łączącej w sobie elementy zgodne z architekturą Von Neumanna
◆ sterowników sprzętowych
◆ wspólnej magistrali danych, łączącej powyższe elementy, umozliwiającą komunikację z pamięcią
◆ wspólną pamięć
◆ urządzeń wejścia-wyjścia
Czym jest jednostka centralna?
Procesor jest komponentem, który odpowiada za interpretację programu i przetwarzanie danych zgodnie z instrukcjami tegoż.
Na czym polegają działania wykonywane przez procesor?
Przekształca on liczby binarne - czyli wykonywać na nich podstawowe działania matematyczne, w sposób zdefiniowany przez program, który to również składa się z liczb binarnych.
Co jest podstawową funkcją procesora?
Jest to wykonywanie programów, czyli instrukcji przechowywanych w pamięci. Wykonanie każdej instrukcji jest rozbijane na kroki.
Jakie są etapy wykonywania przez procesor poszczególnej instrukcji?
◆ pobieranie rozkazów
◆ interpretacja rozkazów
◆ wykonywanie rozkazów
◆ zapis wyników
Jak przebiega pobieranie rozkazów?
Rozpoczyna go odczyt poleceń z pamięci. Każde polecenie jest liczbą (możecie je traktować jako numer rozkazu). Ile poleceń “rozumie” nasz procesor - to już kwestia konstrukcji, ale zawsze jest to skończona liczba. Położenie instrukcji w pamięci jest zdefiniowane przez specjalny blok, nazywany licznikiem rozkazów lub słowem stanu programu (program counter, PC), który przechowuje adres aktualnie wykonywanej instrukcji w pamięci operacyjnej. Po pobraniu następuje zwiększenie PC o długość pobranego rozkazu (w jednostkach pamięci, czyli najczęściej w bajtach). Natomiast w przypadku konieczności wykonania skoku - zawartość PC może być zmieniana przez odpowiednią instrukcję procesora.
Jak przebiega interpretacja rozkazów?
Po odczytaniu polecenia z pamięci, w pierwszym etapie przetwarzania, procesor interpretuje polecenie. W trakcie tego kroku instrukcja jest rozbijana na części, które mają znaczenie dla poszczególnych bloków procesora. Sposób w jaki procesor interpretuje instrukcje, jest zależny od jego architektury i zestawu instrukcji (instruction set architecture, ISA). Przykładowo, w jednej długiej liczbie będącej instrukcją, początkowa część bitów (nazywana opcode) jest znacznikiem operacji do wykonania. Pozostała część bitów zazwyczaj zawiera informacje wymagane przez instrukcję, taką jak adresy składników dla operacji dodawania.
Jak wygląda wykonywanie rozkazów?
Po pobraniu i zdekodowaniu przychodzi pora na rzeczywiste wykonanie polecenia. Podczas tego kroku różne moduły CPU współpracują ze sobą w celu wykonania polecenia. Rozpatrzmy jako przykład dodawanie dwóch liczb: jednostka arytmetyczno-logiczna (ALU) zawiera układ elektroniczny, który jest w stanie wykonać proste operacje arytmetyczno - logiczne (jak dodawanie, czy operacje logiczne na bitach) dla danych wejściowych znajdujących się w rejestrach. Układ ten jest więc uruchamiany, a następnie wynik dodawania jest umieszczany w rejestrze wyjściowym. Jeśli w wyniku dodawania powstanie zbyt duża liczba (taka, której nie można zapamiętać), znacznik przepełnienia w rejestrze zawierającym wynik może również być ustawiony.
Zwróćcie uwagę na fakt, iż wykonanie instrukcji odbywa się na danych znajdujących się w rejestrach. Z punktu widzenia procesora pobranie danych z pamięci operacyjnej do rejestru, lub też odesłanie wyników do pamięci operacyjnej, jest niezależną instrukcją.
Jak przeprowadzany jest zapis wyników?
Efekty pracy procesora są zapamiętywane w rejestrze wyjściowym, skąd mogą zostać odesłane do pamięci operacyjnej, lub też mogą być wykorzystane w kolejnym kroku obliczeń (przy wykonywaniu kolejnej instrukcji). Część instruckji zmienia zawartość licznika instrukcji (PC) w celu wykonania skoku w programie (dzięki tej funkcji możliwe jest tworzenie pętli i instrukcji warunkowych). Inne natomiast zmieniają ustawienie znaczników w specjalnym rejestrze (zwanym znacznikowym). Mogą być one później wykorzystywane do podejmowania decyzji o skoku, itp … ale w tym wypadku zaczynamy się już zbliżać do poziomu programowania w asemblerze, co nie jest tematyką podręcznika. Wystarczy pamiętać, że wykonanie kolejnych instrukcji kończy się zapisaniem wyników, lecz wynik niekoniecznie musi być zapisywany w pamięci operacyjnej.
Co jest niezbędne dla procesora do wykonywania otrzymywanych poleceń?
Aby procesor miał możliwość wykonywania powyższych zadań musi dysponować małą pamięcią wewnętrzną, która wymagana jest do czasowego przechowywania danych i rozkazów (procesor musi np. pamiętać lokalizację poprzedniego rozkazu po to, by “odnaleźć” rozkaz następny). Większość (choć nie wszystkie) nowoczesnych systemów komputerowych opiera się na założeniu, że procesor nie operuje na danych bezpośrednio umieszczonych w pamięci operacyjnej, lecz za każdym razem następuje przekazanie zarówno danych, jak i wyników obliczeń, z/do pamięci za pośrednictwem rejestrów.
Czym są rejestry?
Rejestrami procesora nazywa się wydzielone, bardzo szybkie komórki pamięci, umieszczone w samym procesorze. Umożliwiają one szybki dostęp do potrzebnych danych lub rozkazów.
Jak działają rejestry?
Procesor pobiera dane z pamięci operacyjnej do rejestru (rejestr to „prywatna” jednostka pamięci należąca do procesora), a następnie
wykonuje operacje arytmetyczne na danych w rejestrach. Póżniej przesyła dane z rejestru do pamięci operacyjnej.
Wymień elementy budowy wewnętrznej procesora.
◆ Jednostka arytmetyczno-logiczna (ALU)
◆ Wewnętrzna magistrala procesora
◆ Rejestry
◆ Jednostka sterująca.
Wymień elementy jednostki arytmetyczno-logicznej.
◆ Znaczniki stanu
◆ Przesuwnik
◆ Układ dopełniania
◆ Układy logiczne i arytmetyczne
Z czego składa się magistrala systemowa?
Z następujących elementów; ◆ szyny sterowania ◆ szyny danych ◆ szyny adresowej, które mogą, ale nie muszą być od siebie odseparowane.
Za co odpowiada wewnętrzna magistrala procesora?
Zajmuje się ona przesyłaniem danych pomiędzy różnymi rejestrami a ALU.
Czym zajmuje się jednostka sterująca?
Zarządza procesami wewnątrz procesora - koordynuje wykonanie operacji w jego wnętrzu.
Czym jest model programowy procesora?
Jest to zestaw instrukcji procesora oraz innych jego cech, istotnych z punktu widzenia programisty, jak np. numeracja adresów, sposób adresowania pamięci, które są niezależne od ich wewnętrznej realizacji w procesorze.
Czym jest mikroarchitektura procesora?
To szczegółowa implementacja danego modelu programowego, która związana jest z rzeczywistym wykonywaniem operacji przez procesor. Operacje te mogą być realizowane w zupełnie odmienny sposób niż wynikałoby to z modelu programowego. Przykładem może być tutaj wykonywanie kilku instrukcji poza kolejnością lub przewidywanie skoków warunkowych, czego nie znajdziemy w modelu programowym. W mikroarchitekturze nie określa się natomiast faktycznej, fizycznej implementacji obwodów logicznych w krzemowej strukturze układu, a więc składających się na nie bramek i wchodzących w ich skład tranzystorów.
Jak przedstawia się mikroarchitekturę procesora?
Jest to zbiór diagramów obrazujących poszczególne jego elementy, jak bloki funkcjonalne czy jednostki wykonawcze, jak i występujące pomiędzy nimi połączenia.
Czym jest słowo maszynowe procesora?
Jest to liczba bitów przetwarzana w jednym cyklu procesora przez jego ALU. Jest to inaczej szerokość szyny danych.
Co oznacza, gdy procesor jest x-bitowy?
Chodzi tu o długość rejestrów danych, a co za tym idzie - długość słowa przetwarzanego przez ALU procesora w jednej instrukcji.
Z jakimi liczbami może pracować procesor 8-bitowy?
Od 0 do 255 (256 liczb - 2⁸ - bo ośmiobitowy procesor).