Komputer, procesor, rozkaz.

Slides:



Advertisements
Podobne prezentacje
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
Advertisements

Katarzyna Szafrańska kl. II ti
DYSKRETYZACJA SYGNAŁU
Wykonał : Marcin Sparniuk
Idea, podstawowe parametry, cechy, charakterystyka
Metody numeryczne Wykład no 1.
CPU.
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Elementarne struktury danych Piotr Prokopowicz
Architektura Systemów Komputerowych
Podstawowe składniki funkcjonalne procesora i ich rola.
Magistrala & mostki PN/PD
Schemat blokowy komputera
ARCHITEKTURA KOMPUTERÓW Dr inż. Tadeusz POPKOWSKI A.D. 2007
Komputer, procesor, rozkaz.
Wykład 2 struktura programu elementy języka typy zmienne
Zapis informacji Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Budowa Komputera.
Mikroprocesory i mikrokontrolery
Temat 3: Co to znaczy, że komputer ma pamięć? Czy można ją zmierzyć?
Reprezentacje - zmiennoprzecinkowa
Kod Graya.
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
opracowanie: Agata Idczak
Podstawy układów logicznych
Architektura komputerów
Cyfrowe układy logiczne
ARCHTEKTURA KOMPUTERA
Zasada działania komputera
Elementy składowe komputera
Budowa komputera.
Mikroprocesory mgr inż. Sylwia Glińska.
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Architektura systemów komputerowych (jesień 2013)
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Elżbieta Fiedziukiewicz
Architektura PC.
Liczby całkowite dodatnie BCN
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Systemy operacyjne i sieci komputerowe
Procesor – charakterystyka elementów systemu. Parametry procesora.
Programowanie Niskopoziomowe
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
System plików.
Danuta Stanek KODOWANIE LICZB Systemy liczenia III.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć DRAM.
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Architektury procesorów rdzeniowych mikrokontrolerów.
Zasady arytmetyki dwójkowej
METODY REPREZENTOWANIA IFORMACJI
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki.
INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa
Tryby adresowania i formaty rozkazów mikroprocesora
POLITECHNIKA POZNAŃSKA
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Schemat blokowy komputera
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Komputer, procesor, rozkaz. ARCHITEKTURA KOMPUTERÓW Dr inż. Tadeusz POPKOWSKI A.D. 2006

KOMPUTER to urządzenie elektroniczne przetwarzające informacje według uporządkowanego zbioru instrukcji, zwanego programem. Dane wejściowe - wprowadzane w postaci znaków reprezentowanych w postaci kodu binarnego. Zasadnicze elementy funkcjonalne architektury komputera: procesor centralny (CPU – ang. central processing unit) zawierający: jednostkę sterującą (CU – ang. control unit), jednostkę adresową (MU – ang. memory unit) i jednostkę wykonawcza (EU – ang. execution unit) pamięć (ang. storage) – przechowująca dane i programy (jako stany obwodów elektronicznych) magistrala (ang. bus) – łączy procesor z pamięcią

Architektura, a organizacja. (architektura – def. – (w sensie konkretnym) sztuka kształtowania przestrzeni obejmująca projektowanie i konstruowanie budowli, (w sensie abstrakcyjnym) kompozycja i układ budowli Architektura komputera odnosi się do tych atrybutów systemu, które są widoczne dla programisty. Atrybuty te mają bezpośredni wpływ na logiczne wykonywanie programu. Atrybutami architektury są: lista rozkazów, liczba bitów reprezentująca dane, mechanizmy wejścia i wyjścia, metody adresowania. Organizacja komputera odnosi się do jednostek operacyjnych i ich połączeń, które stanowią realizację architektury.

Struktura organizacyjna komputera. Każdy współczesny komputer jest realizacją maszyny Johna von Neumanna, stąd komputery te charakteryzują trzy cechy: Dane i rozkazy są przechowywane w tej samej pamięci umożliwiającej zapis i odczyt. Zawartość pamięci jest adresowana przez wskazanie miejsca, bez względu na rodzaj zawartych tam danych. Wykonywanie rozkazów realizowane jest w sposób szeregowy - sekwencyjny (poza określonymi szczególnymi przypadkami), rozkaz po rozkazie. jednostka sterująca jednostka wykonawcza sterowanie słowo 0 słowo 1 … słowo N out in adres wejście wyjście słowo danych CPU PROCESOR MAGISTRALA PAMIĘĆ

Procesor. Procesor (ang. processor) - urządzenie cyfrowe sekwencyjne zdolne do pobierania danych z pamięci, interpretacji i przetwarzania w wyniku prostych operacji zwanych rozkazami, określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora. Procesor wykonywany jest zwykle jako układ scalony (struktura VLSI) zamknięty w hermetycznej obudowie. Jego sercem jest monokryształ krzemu, na który naniesiono techniką fotolitografii szereg warstw półprzewodnikowych. Tworzą one sieć od kilku do kilkudziesięciu milionów tranzystorów. Połączenia wykonane są z metalu (aluminium, miedź, złoto). Ważnym parametrem procesora jest rozmiar elementów tworzących jego strukturę. Im są one mniejsze tym niższe jest zużycie energii, napięcie pracy oraz wyższa częstotliwość pracy. Współczesne procesory wykonywane są w technologii pozwalającej na uzyskanie elementów o rozmiarach mniejszych niż 90 nm pracujących z częstotliwością powyżej 2 GHz.

Schemat blokowy procesora Pentium III.

ETAPY WYKONANIA ROZKAZU Cykl rozkazowy. Cykle procesora: F - pobranie kodu rozkazu z pamięci (op-code fetch). D - dekodowanie rozkazu (instruction decode) i wytworzenie adresu argumentu (adress generation) R - odczyt argumentów z pamięci (memory read) E - wytworzenie wyniku (execute) W - zapamiętanie go w pamięci lub rejestrze procesora (memory /register write) ETAPY WYKONANIA ROZKAZU Powyższe cykle procesora składają się na jeden cykl pamięci (rozkazowy).

Przykład architektury prostego komputera dydaktycznego Uproszczona struktura procesora (komputera) dane 200/1550 201/5551 202/2551 ..PAMIĘĆ.. 550/0004 551/0003 552/….…. IR dekoder MAR SP R MBR/R ALU CR sterowanie SR MBR/R MAG PC EU CU MU adres sterowanie

Temat 5: Typy i formaty danych Temat 5: Typy i formaty danych. Pamiętanie danych wielobajtowych (endian) – 2godz. Wstęp Każdą informację można przedstawić w postaci łańcucha elementarnych jednostek informacji zwanych bitami mogącymi przybierać jedną z dwu przeciwnych wartości logicznych: - false (F) – fałszywy - true (T) – prawdziwy Interpretacja arytmetyczna wynikająca z reprezentacji informacji ilościowej nadaje bitowi jedną z wartości zbioru dwuelementowego {0,1} odpowiadającą wartości cyfr w systemie dwójkowym. Najbardziej charakterystycznym łańcuchem bitów (dot. struktur komputerów o organizacji bajtowej) jest wektor 8 – bitowy określany nazwą bajt. Nazewnictwo większych jednostek wynika z dostosowania do rozmiaru podstawowej jednostki informacji przetwarzanej przez daną maszynę , zwanej słowem maszynowym (ang. machina word). W architekturach CISC standardowe słowo maszynowe ma długość 16 bitów (złożenie 2 bajtów – słowo maszynowe). W maszynach klasy RISC, gdzie typowe słowo maszynowe ma długość 32 bitów, słowo to złożenie 4 uporządkowanych bajtów.

CISC i RISC Model CISC (ang. Complex instruction set computer) – charakterystyczny model procesora 2K+ Język asembler Kass Notacja ISP 2k+ - procesor 16-bitowy z rozdzieloną przestrzenią pamięci i wejścia – wyjścia, o architekturze typu pamięć – rejestr – rejestr i rejestr – rejestr –rejestr. Model RISC (inaczej SmArc) - ang. Small SPARC (Scalable Processor Architecture)- (adaptacja RISC I i RISC II) 32 rejestry ogólne (uniwersalne) podzielone na 4 grupy: rejestry globalne, wejściowe, lokalne i wyjściowe. SmArc – 32-bitowy adres dający dostęp do 4 – gigabajtowej pamięci.

Reprezentacja danych Wszystkie dane przetwarzane przez komputer (informacje kodowane w pamięci komputera mają postać wektorów bitowych) można zakwalifikować do jednej z trzech grup, tj. jako: - kody rozkazów (ang. opcode) - dane systemowe (ang. system structured data) - dane użytkowe (ang. user defined data) 1.1. Kody rozkazów Kody rozkazów zawierają informacje określającą rodzaj operacji i identyfikatory argumentów tej operacji. Dla danej architektury jest jednoznacznie określona struktura i rozmiar kodu, stanowiące wielokrotność elementarnej (charakterystycznej) jednostki informacji. Zwykle na kilku najbardziej znaczących bitach słowa jest kodowany rodzaj lub klasa operacji. Kolejne bity identyfikują argumenty operacji oraz informacje dodatkowe (zależnie od rodzaju rozkazu wskazanego w polu identyfikującym typ operacji).

Przykładami typowych rodzajów takich struktur są między innymi: Przykłady struktury kodu rozkazów procesora o architekturze rejestrowej L/S (patrz rys.1. – folia) 1.2. Dane systemowe - (niezbędne dla zapewnienia spójności programu – zapamiętywanie informacji kontekstowej, szczególnie podczas współbieżnej realizacji programów. Dane te są tworzone przez procesor i mają ustaloną strukturę na poziomie architektury. Przykładami typowych rodzajów takich struktur są między innymi: * stos (ang. stack) – bufor typu LIFO (ang. Last-In First-Out) * kolejka (ang. queue) – bufor typu FIFO (ang. First-In First-Out) (patrz rys. 2 i 3 – folia) Uwaga! Do lokalizacji (adresowania) danych tego typu wystarczy jeden identyfikator zwany wskaźnikiem stosu (ang. stack pointer).

1.3. Charakterystyka danych użytkowych W praktyce wyróżniamy trzy zasadnicze typy danych użytkowych (definiowanych przez projektanta algorytmu): skalarne (ilościowy opis wielkości jednowymiarowych), a w tym: - jakościowe lub wyliczenia (ang. enumeration), indeksujące cechy obiektu (ang. attribute) : logiczne (ang. boolean), znakowe (ang. character), opisowe (ang. descriptive) - dyskretne (ang. discrete) o ustalonej dokładności: porządkowe (ang. cardinals) często utożsamiane z naturalnymi (ang. natural), całkowite (ang. integer), wymierne (ang. rational) stałoprzecinkowe (ang. fixed-point) lub ułamkowe (ang. fractional) - pseudorzeczywiste (ang. pseudo-real) lub ciągłe: zmiennoprzecinkowe (ang. floating- poit), logarytmiczne (ang. logarihmic) strukturalne (stanowiące uporządkowane zestawy danych skalarnych), a w tym: - zestawy (ang. sets) – nieuporządkowane zbiory danych - wektory (ang. vectors) i tablice (ang. arrays), a w tym: łańcuchy (ang. strings) – uporządkowane ciągi (wektory) znaków, liczby zespolone (ang. complex) - rekordy (ang. records) – nieregularne struktury danych dowolnych typów wskaźnikowe (ang. access) (do adresowania obiektów programowych) - skalarne (lokalizacja danych w liniowej przestrzeni adresowej) - strukturalne: wektorowe (elastyczne adresowanie bezpośrednie), deskryptorowe (elastyczne adresowanie pośrednie – wskaźnik do tablicy wskaźników)

Uwaga! W maszynie rzeczywistej o architekturze klasycznej żadnej jednostce informacji nie jest przypisany typ, gdyż etykietowanie danych jest sprzeczne z koncepcją komputera z programem zintegrowanym. Typ danej zawartej w słowie maszynowym jest zawsze implikowany kontekstowo przez powiązanie rozkazu i jego argumentów. 2. Formaty danych użytkowych Dane wszystkich typów są zakodowane w postaci wektorów bitowych. Numerowanie bitów wektora od pozycji skrajnej prawej (ang. right – most) odpowiada interpretacji wektora bitów jako reprezentacji liczby naturalnej w dwójkowym systemie pozycyjnym, przy czym bit najmniej znaczący ma numer 0 (zero). Do skróconego zapisu informacji kodowanej dwójkowo jest stosowana notacja szesnastkowa (hexadecimal), w której każdym czterem kolejnym bitom (tetradzie), poczynając od najmniej znaczącego, jest przypisywana cyfra szesnastkowa. (patrz folia - rys.4.) Dane liczbowe o rozmiarze równym rozmiarowi słowa maszynowego są nazywane danymi pojedynczej precyzji. Argumenty (dane) wielokrotnej precyzji są reprezentowane przez wektory bitowe utworzone przez złożenie słów maszynowych zgodnie z jedną z konwencji: big endian lub little endian.

Formaty danych – zasada little – endian, zasada big – endian Przykład (dot. Minikomputera 16 – bitowego PDP-11 Dane będące argumentami operacji są zapisywane na 8 lub 16 bitach. Adres słowa jest adresem mniej znaczącego (prawego) bajta (zasada little – endian). Kolejność bitów 15 ……………………….9 8 7 6 5 4 3 2 1 0 Adres a+1 a Dane strukturalne nie są zwykle jednorodne i są złożeniami bitowych pól zwanych rekordami.

2.1. Formaty danych – argumenty operacji Argumenty operacji mogą przyjmować następującą postać: Liczby dwójkowe całkowite w kodzie uzupełnieniowym U2 (8 - , 16 – i 32 – bitowe) Liczby dwójkowe zmiennoprzecinkowe (32 -, 64 – i 80 – bitowe) Liczby dziesiętne spakowane (18 – cyfrowe, w kodzie BCD) Łańcuchy (bajtów, słów lub słów podwójnych) Pojedyncze bity w rejestrze lub w pamięci Przykładowo dla liczb dwójkowych całkowitych zakres przedstawianych wartości wynosi odpowiednio: * bajt (-128… ÷ 127) * słowo (-32768 … ÷ 32767 * słowo podwójne (-2147483648 ÷ 2147483647)

3. Typy danych 3.1. Typy jakościowe (wyliczeniowe) Typy logiczne – kodowane dwuwartościowo, niezależnie od rozmiaru przestrzeni kodowej : false (F) – „fałsz” – ciąg n zer (00…00) true (T) – „prawda” – ciąg n jedynek (11…11) lub po prostu wartość 1 (np.: 00000001) Typy znakowe – właściwie kwestia umowy. W standardzie ASCII (American Standard Code for Information Interchange) kody cyfr dziesiętnych mają postać 0011 bbbb, gdzie: bbbb – dwójkowy kod wartości cyfry, natomiast kody liter alfabetu łacińskiego mają postać 011b bbbb (małe) i 010b bbbb (duże) gdzie: b bbbb – dwójkowy kod numeru porządkowego litery w alfabecie

Uwaga! Kody 000b bbbb i 0111 1111 to znaki sterowania transmisją danych (Przykłady: CR (carriage return – powrót karetki, LF (line feed) – wiersz zapełniony, SP (space) – znak odstępu, itd.) 3.2. Typ porządkowy Założenie: istnieje reprezentacja następnika i poprzednika każdej liczby, prócz skrajnych liczb zakresu określonego rozmiarem słowa maszynowego Teza: bezwzględna dokładność reprezentacji liczbowych typów naturalnych i całkowitych jest równa 1. Ponieważ bity słowa tworzą strukturę uporządkowaną, więc należy kody liczb porządkowych za reprezentacje liczb w naturalnym pozycyjnym systemie dwójkowym. Oznacza to przypisanie k – bitowemu słowu liczby o wartości k -1 X = Σ xi 2**i , i = 0 gdzie xi jest wartością bitu na i – tej pozycji. Zakresem liczb jest 0 ≤ X ≤ 2 - 1

3.3. Reprezentacja liczb całkowitych – typy dyskretne Typy dyskretne służą do reprezentacji policzalnych cech ilościowych obiektów, czyli takich, które można wyrazić za pomocą liczb całkowitych lub porządkowych (naturalnych). Wektory dyskretne mogą tez reprezentować liczby wymierne.

Dziękuję za uwagę c.d.n. Koniec.