Architektura komputera - wyklady, szkola, architektura komputerow


Architektura komputera

Architektura komputera - atrybuty systemu, które są widzialne dla programisty. Mają one wpływ na logiczne wykonywanie programów. Przykład atrybutów arch.:

Co to jest organizacja :

Organizacja komputera dotyczy tych jednostek operacyjnych systemu i ich połączeń, które dotyczą specyfikacji typu architektury.

Przykłady atrybutów organizacji:

Zagadnienia projekt. arch.

Definicja struktury:

Struktura komputera jest to sposób wzajemnego powiązania składników.

Funkcje komputera:

Powiązanie między tymi funkcjami można przedstawić w następujący sposób:

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
Struktura komputera:

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

Jednostka centralna (CPU)[procesor] steruje działaniem komputera i realizuje przetwarzanie danych. Bywa kilka CPU albo jeden.

Komputer - przetwarzanie danych

We/wy - przesyłanie danych

Połączenia systemu zapewnia mechanizm łączności między we/wy.

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

Jednostka sterująca

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

Model architektury von Neumana

0x08 graphic
CPU PAMIĘĆ

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Pamięć jest organizowana następująco:

Słowo |0|1|0|1| może być odczytane jako :

Komórki tworzą zbiór uporządkowany, a każdemu słowu można jednoznacznie przypisać unikalny wskaźnik (akcji?) czyli adres określający pozycję sekw. słow. Zawartość pamięci może zmienić tylko procesor dokonując w wyniku przesłania rozkazu przesłanie nowego słowa do pamięci. W modelu von Neumania zadaniem procesowa jest przetwarzanie danych których jedynym źródłem jest pamięć główna. Wykonywanie rozkazu inicjuje pobrane z pamięci słowo interpretowane jako instrukcja. Rozkaz zaczyna wykonywany proces. Jeżeli kolejne rozkazy umieszczono w kolejnych lokacjach - adres. Możliwe jest implikowanie. Gdy układ wytwarza adres kolejny rozkaz podczas wykonywania rozkazu poprzedniego nazywa się licznikiem rozkazu.

Wykład 10.10.03

Dane i rozkazy są umieszczone w tej samej pamięci.

Architektura Harwardzka - pamięć jest podzielona na część dla rozkazu i część dla danych.

Jak jest zorganizowane sterowanie?

Jeżeli zachodzi potrzeba zmiany instrukcji poprzez alternatywną realizację rozkazu lub cofnięcie się w programie musi być wywołane rozkazem rozgałęzienia lub skoku.

Branch, jump powodują one nową kolejność instrukcji. Jedną z funkcji procesora jest kontroler poprawności wykonywanych operacji oraz możliwość reagowania w dowolnym czasie na wydarzenia wewnętrzne (tryb przerwań asynchronicznych).

Modyfikacja koncepcji von Neumania - architektura Harwardzka.

Twórca architektury - Aiken.

Polega ona na rozdzieleniu pamięci głównej na niezależnie dostępne pamięci danych i rozkazów. Ta zmiana umożliwia jednoczesne pobrania rozkazu i danych.

Rozmieszczenie modelu klasycznego.

Wprowadza się stos programu.

Stos programu - części pamięci o dostępie sekwencyjnym (szeregowym).Działa jako bufor LIFO. Takie rozwiązanie upraszcza wywołanie procedur i umożliwia realizację rekursji a więc wywołanie procedury przez nią samą. Wprowadza się różne typy adresowania w celu umożliwienia elastycznego i dynamicznego adresowania. Opracowano pamięć wirtualną jako metodę adresowania symbolicznego.

Możliwości zwiększania efektywności przetwarzania:

Cykl - czas, pomiędzy kolejnymi stanami komputera.

Proces - stan początkowy komputera i sekwencja rozkazów

Rozkaz - każdy rozkaz jest wykonywany w kolejnych cyklach procesora.

KOLEJNOŚCI WYKONYWANIA ROZKAZÓW

1.F fetch - pobranie rozkazu z pamięci

2.D decode - dekodowanie w dekoderze w celu wytworzenia sygnałów sterujących

3.R read - odczyt algorytmu z pamięci (odczyt danych)

4.E execute - wytworzenie wyniku lub wykonanie w jednostce algorytmu logicznego.

5.W write - zapamiętanie wyników w pamięci

| Fi |Di |Ri|Ei |Wi |Fi+1| Di+1| Ri+1 |Ei+1| Wi+1| i - ty rozkaz i-ty +1 rozkaz

OGRANICZENIA PRZETWARZANIA KOMPUTERA

Ograniczenia są następujące:

Czas dostępu do danych zależy od szybkości transmisji oraz szybkości selekcji. Ostatnia szybkość jest propozycją do algorytmu liczb danych. Gdyby zwiększyć liczbę rejestrów to częstość komunikacji procesora z pamięcią spada. Jednak rozbudowa pliku rejestrowego utrudnia adresowanie rejestrów oraz dekodowanie rozkazów co w efekcie wydłuży czas dostępu do danych.

Umieszczenie programu w rejestrze procesora jest niemożliwe ponieważ nie są one dostatecznie długie. Jednocześnie oczywiste jest że przy wykonywaniu aktualnego fragmentu programu potrzebne są te dane i rozkazy z których komputer korzysta. Ten efekt lokalności stał się przesłanką utworzenia bufora pamięci głównej nazywanego pamięcią podręczną (cache memory). Wprowadzona jest do niego kopia części programu aktualnie wykonywanego przez komputer. Pamięć jest na tyle szybka że jest porównywalna z czasem dostępu do rejestru.

Jeżeli pamięć ma strukturę blokową, to możliwe jest współbieżne wykonywanie cykli pamięci i skrócenie czasu wyboru co skraca czas dostępu.

Środkami zmniejszania bariery przepustowości są:

ROZSZERZONA KLASYCZNA STRUKTURA VO NEUMANIA

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

Wykład III 17.10.03

Jeżeli czas dostępu jest zminimalizowany to ograniczenia przepustowości jest wydajność procesora.

Wydajność - jest określona nie przez średni czas wykonywania rozkazu lecz przez średnią liczbę rozkazów w jednostce czasu. Ta średnia zależy nie tylko od częstotliwości zegara ale również od sposobu wykonania instrukcji.

Jeżeli dysponujemy pojemnym plikiem rejestrowym, który umożliwia przechowywanie większości potrzebnych danych, a więc zmniejszenie liczby transferów do/od pamięci to oddzielimy cykl pobrania operandy jest zbędny, zaś niezbędne mogą być wykonane w cyklu specjalnego rozkazu.

| Fi |Di |Ri|Ei |Wi |Fi+1| Di+1| Ri+1 |Ei+1| Wi+1|

Jeżeli układy wykonujące poszczególne etapy realizacji rozkazu są odseparowane (każdy etap przez inny układ)) to możliwe jest współbieżne wykonywanie kilku rozkazów w trybie potokowym.

RYSUNEK

Dalsze skrócenie czasu wykonania isntr. Polega na podziale każdego etapu na podetapy.

RYSUNEK

Liczba podetapów nie może być dowolnie duża gdyż zwiększa się liczba niezbędnych buforów separujących co zwiększa narzut czasu na cele organizacyjne.

Dalszy wzrost wydajności przetwarzania polega na zwielokrotnieniu jednostki wykonawczej i współbieżne wykonywanie rozkazów w nich. Jest to przetwarzanie superskalarne lub skalowane.

Kiedy przetwarzanie jest niemożliwe

Jeżeli między rozkazami nie występuje konflikt danych, zasobów albo konflikt sterowania. Konflikty te zmniejszają wydajność potoku użycia tej samej danej.

Konflikt zasobu jest to jednoczesne żądanie dostępu do zasobu w pamięci.

Aby wyeliminować konflikt jednoczesnego dostępu do pamięci wewnętrznej pamięć podręczna rozdziela się na osobne pamięci danych i pamięci kodów.

Pamięć podręczna jest buforem pamięci głównej, zawiera tylko kopię danych pamięci głównej.

Nie zawsze jest konieczne aby kolejność rozkazów była wykonywana. Zmiana kolejności może wyeliminować przestoje związane z konfliktem danych i dostępu.

Poziomy maszynowe komputera

Różnią się charakterystyką warstwy komputera.

L0 - przetwarzanie sygnałów (najwyższy)

L1 - struktura logiczna (firmware)

L2 - system operacyjny

L3 - język assemblera (assembly language)

L4 - język algorytmiczny (hihg-level)

L5 - Język makropoleceń (application program).

Wykład 24.X.03

RYSUNEK

Interpretacja mikroprogramu - jest ogólnym rodzajem konwencji wykonującą operacje elementarne z poziomu architektonicznej listy rozkazów a polecenia atomowe (mikrorozkazy), które są bezpośrednio zamieniane na sygnały sterujące w przetworniku rozkazów. Poziom implementacji maszyny jest to struktura logiczna składająca się z bloków funkcjonalnych maszyny i mikroprogramu.

Kod maszynowy - jest to najważniejszy poziom programu identyfikacji architektonicznej maszyny rzeczywistej. Rzadko jest zapisywany w postaci dwójkowej lub szestnastkowej, najczęściej przy pomocy mnemoników.

MNEMONIK[argument I][argument II][argument III]

Mnemonik wraz z argumentem jednoznacznym określa pojedynczy rozkaz procesora.

System operacyjny jest to poziom hybrydowy, ponieważ oprócz listy rozkazów użytkownik dysponuje standardowymi usługami sytemu, np. zarządzanie plikami lub komunikacja wej/wyj (urz. peryferyjne).

Język algorytmiczny- (Pascal, Fortran, C++) w tym języku architektonicznym maszyny wirtualnej jest opisana w postaci listy poleceń języka. Jego składnik dostępnych typów danych i biblioteki podstawowych f-cji.

ASSEMBLER- jest najniższym poziomem języka symbolicznego w którym są dostępne elementarne operacje, f-cje systemu operacyjnego i operacje ułatwiające użycie pamięci.

Makroassembler- jest to assembler umożliwiający definiowanie nowych struktur danych i instrukcji. Konwersja może się odbywać jako kompilacja. Jest to tłumaczenie algorytmu programu na sekwencje rozkazów danych algorytmów pamięci. Kompilacja pozwala uniknąć wielokrotnych konwersji powtarzalnych części programu i umożliwia wytworzenie kodu wynikowego, wymaga jednak dużo pamięci.

Pseudokompilacja ­- polega na generowaniu przez interpreter kodu pośredniego, który jest następnie niezwłocznie wykonywany.

Metody konwersji między poziomami komputera

RYSUNEK

Konwersja międzypoziomowa powoduje tzw. Szczeliny znaczeniowej (semantic gap), która uniemożliwia jednoznaczną konwersję odwrotną z poziomu niższego na wyższy.

NIE MOŻNA WIĘC DOKONYWAĆKONWERSJI PROGRAMÓW NA POZIOMIE KODU MASZYNOWEGO.

Jest to tzw. problem przenośności programu (software portability)

Architektura listy rozkazów - lista rozkazów jest to najniższa warstwa abstrakcyjnego opisu komputerów (instrukction set architecture, ISA)

  1. Specyfikacja rozkazów na poziomie maszynowym

  2. Sposób adresowania danych (identyfikacji)

Obejmuje definicję, funkcjonalny opis działania składnię w rotacji mnemonicznej, dozwolone cechy operandów, kody warunków wytwarzanych podczas wykonywania rozkazów, wykaz wyjątków wykonywania oraz sposób reakcji na ich pojawienie się i wreszcie format kodu maszynowego.

Wykład 21.XI.03

cd. zmienno-przecinkowość liczb

1)

x=sig|x|*2w

1.011010*22=0,1011010*23 - postać znormalizowana liczby zmiennoprzecinkowej.

11011010 | 00000011

8 bitów | 8 bitów

Reprezentacja podwójnej precyzji

10 bitów

16 bitów | 8 bitów

Wykonywanie dodawania dwóch liczb zmiennoprzecinkowych

2) ustawienie przecinków obu liczb w tym samym miejscu poprzez arytmetyczne przesuwanie mniejszej liczby tak długo aż oba wykładniki będą takie same.

3) Dodawanie mantys i normalizacja wyniku

Procesory RISC - reduction instruction set computer , Procesory CISC - complex instruction set computer.

Brak precyzyjnej definicji tego procesora lecz większość ma następujące cechy.

CISC

  1. Duża liczba rozkazów 100-250

  2. Istnieją rozkazy realizujące specjalizowanie zadania obok rozkazów obsługujących operacje z pamięci i do pamięci.

  3. Duża liczba trybów adresowania 5-20

  4. Duży zakres rozkazów o różnych długościach i czasach wykonania

  5. Mikroprogramowalna jednostka sterująca RISC.

RISC

  1. Stosunkowo mało rozkazów wykonywanych w pojedynczym cyklu

  2. Stosunkowo niewiele trybów adresowania.

  3. Formaty rozkazów mają stałą długość i są łatwe do zdekodowania.

  4. Dostęp do pamięci ograniczony do rozkazów store i load

  5. Stosunkowo dużo inwersalnych rejestrów

  6. Argumenty rozkazów są zapisywane raczej w rejestrach niż pamięci operacyjnej

  7. Jednostka sterująca jest zrealizowana układowo

  8. Intensywne wykorzystanie przetwarzania potokowego w tym potokowego wykonywania rozkazów

  9. Kompilatory wykorzystują arch. Potokową

  10. Skomplikowane f-cje są zaimplementowane częściej programowo niż sprzętowo.

Wykład 28.11.03

Pamięci wewnętrzne

Generalia-podstawowa wartość pamięci

Położenie: w procesorze, pamięć wewn./zewn. Komputera

Pojemność: liczba słów pamiętanych, rozmiar słowa (liczba bitów w komputerze)

ROM

210 ( liczba słów) x 4 (ilość bitów w słowie)

Własności fizyczne

Sposób dostarczania do komórki pamięci

    1. Dostęp sekwencyjny

Do jednostek danych (rekordów) dostęp jest możliwy w określonej sekwencji liniowej). Do wydzielenia jednostki danych wykorzystywane są informacje adresowe, np. pamięć taśmowa. Czas dostępu sekwencji dla różnych adresów może być bardzo różny.

    1. Dostęp bezpośredni

Zapis i odczyt wykonywane są wg tego samego mechanizmu jednak poszczególne bloki lub rekordy mają unikatowy adres oparty na lokacji fizycznej. Dostęp jest osiągany najpierw prze bezpośredni dostęp do najbliższego otoczenia komórki po którym następuje sekwencyjne przeszukiwanie i liczenie lub oczekiwanie w celu osiągnięcia lokacji fizycznej np. pamięć dyskowa. Czas dostępu jest zmienny.

    1. Pamięć swobodna

Każda adresowana lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm „wbudowania”??? Czas dostępu jest stały. Dowolna lokacja jest wybierana bezpośrednio np. pamięć główna.

    1. dostęp skojarzeniowy

Polega na porównywaniu zgodności wybranych bitów słowa adresowego dla wszystkich słów jednocześnie. Słowo stanowiące zawartość komórki jest wyprowadzane z pamięci raczej na podstawie części swojej zawartości np. pamięci podręczne typu asecjocyjnego.

Najważniejsze dla użytkowników po pojemność i wydajność pamięci. Miarą wydajności są3 parametry:

  1. czas dostępu dla pamięci o dostępie swobodnym. Jest to czas niezbędny do zrealizowania operacji odczytu lub zapisu.

  2. Czas cyklu pamięci. Składa się z czasu dostępu oraz dodatkowego czasu, który musi upłynąć zanim może być zrealizowany kolejny dostęp.

  3. Szybkość przesyłania danych (transferu). Jest to szybkość z jaką dane mogą być wprowadzane lub wyprowadzane z pamięci.

Hierarchia pamięci pod względem szybkości i pojemności.

Wykład 5.12.03

Pamięć podręczna zawiera kopię danych z pamięci głównej. Przy pobieraniu słowa z pamięci najpierw następuje sprawdzenie czy znajduje się ono w pamięci podręcznej.

Ponieważ wierszy w pamięci podręcznej jest mniej niż bloków, w pamięci głównej potrzebny jest algorytm odwzorowania bloków pamięci głównej w wierszach pamięci podręcznej.

Po osiągnięciu dostatecznie dużego stopnia integracji i układów stało się możliwe umieszczenie pamięci podręcznej w tej samej kostce co procesor, co skróciło czas osiągnięcia danej i zwolniło dostęp do magistrali. Obecnie pamięć podręczna jest dzielona na II części. I cz. dla rozkazów a II cz. dla danych zwłaszcza w procesorach potokowych.

Natomiast pamięć niedzielona ma tę zaletę że tylko jedna może być zaprojektowana i wydrożona.

Półprzewodnikowa pamięć główna.

Rodzaj pamięci

Kategoria

Wymazywanie

Zapis

RAM

zapis/odczyt

Elektryczne na poziomie bajtu

Elektrycznt

TAK

ROM

Odczyt

Niemożliwe

Maski

NIE

PROM

Odczyt

Niemożliwe

Elektryczny

NIE

PROM(EPROM)

Głównie odczyty niekiedy zapis

Światło ultrafioletowe.

Elektryczny

NIE

PROM(EEPROM)

Gł. odczyt

Elektrycznie przy pomocy prądu na poziomie bajtu

Elektryczny

NIE

Jeśli zasilanie RAZ zanika, zanikają dane. Ramy mogą być statyczne lub dynamiczne. Dynamiczne są zbudowane z matryc kondensatorów i muszą być okresowo odświeżane. Statyczne są zbudowane z przerzutników. Komórki dynamiczne są mniejsze o prostsze dlatego są gęściej napakowane i tańsze. W przypadku dużych pojemności (w sensie ilości pamięci). Koszty układów odświeżania danych maleją i nie odgrywają roli. Stąd duże pamięci są zwykle zbudowane z ram-ów dynamicznych, natomiast ramy statyczne są nieco szybsze od dynamicznych.

Wykład 12.12.03

Pamięci ROM są stosowane do mikroprogramowania do podprogramów bibliotecznych

Przemieszczenie

Sterowanie

Pamięć

Sterowanie

KOMPUTER

JEDN.CENTR.

PROCESOR

POŁĄCZENIE SYSTEMOWE

PAMIĘĆ GŁÓWNA

URZĄDZENIA WE/WY

URZĄDZENIA PERYFERYJNE

MAGISTRALA

PAMIĘĆ

WE/WY

CPU

JEDNOSTKA STERUJĄCA

POŁĄCZENIA WEWNĘTRZNE

JEDNOSTKA ARYTMETYCZNIE LOGICZNA (ALU)

REJESTRY

(RODZAJ PAMIĘCI) (SZYBKIE ALBO KRÓTKIE)

ALU

MAGISTRALA

WEWNĘTRZNA CPU

REJESTRY

JEDNOSTKA STERUJĄCA

UKŁADY LOGICZNE SZEREGOWANIA

REJESTRY DEKODERY JEDNOSTKI

STERUJĄCEJ

PAMIĘĆ STERUJĄCA

J.STERUJĄCA

J.WYKONAWCZA

ADRES

SŁOWO

SŁOWO

SŁOWO

SŁOWO

DANYCH

STEROWANIE

WE

WY

STYEROWANIE

WYK.

WYK.

REJESTRY

CACHE

MMV

CACHE

STOS

PAMIĘĆ

KOPROCESOR



Wyszukiwarka

Podobne podstrony:
Prawo część 1 wykład 1, Szkoła, Prawo
PROJEKTOWANIE TERENÓW ZIELENI - wykłady, szkoła, KTZ, urządzanie
Międzynarodowe Stosunki Gospodarcze wykład 1, Szkoła, Międzynarodowe stosunki gospodarcze
Demografia wykład 3, szkoła
Prawo wykład 3, Szkoła, Prawo
statystyka wyklady, Szkoła WSTiH
ETYKA W BIZNESIE – wykłady, szkola
wykŁad-i(1), szkoła, LOGISTYKA
WITAMINY wykład, Szkola, farmakologia
Wykład 2, Szkoła, penek, Przedmioty, Ekonomia, Teoria

więcej podobnych podstron