Opisz architekturę Von Neumana i harvardzką mikroprocesora oraz scharakteryzuj różnicę pomiędzy nimi
Von-Neumanna (klasyczna – pierwszy rodzaj architektury komputera, opracowanej przez Johna von Neumanna, matematyka węgiersko-amerykańskiego, Johna M. Mauchly’ego i Johna P.
Eckerta w 1945 r. w ramach projektu rządu USA – komputer EDVAC) ;
-Harwardzką (prostsza od architektury von Neumana);
-zmodyfikowaną harwardzką.
Architekturę Von-Neumana charakteryzuje:
-jednolita przestrzeń adresowa, w której umieszczone są wszystkie pamięci, rejestry i układy we/wy;
-podział przestrzeni adresowej na pamięć programu, pamięć danych oraz obszar we/wy jest czysto umowny i zależy wyłącznie od rozmieszczenia tych elementów w obszarze adresowym, podczas projektowania systemu;
-jedna szyna danych - wspólna dla danych i programu;
-ułatwione programowanie, gdyż dostęp do danych, programu i urządzeń we/wy odbywa się przy użyciu zunifikowanych rozkazów, wykorzystujących te same tryby adresowania, nie istnieje tu potrzeba wprowadzania specjalnych rozkazów, pozwalających na przepływ danych pomiędzy pamięcią ROM i RAM.
Architekturę harwardzką charakteryzuje:
-rozdzielenie obszarów adresowych pamięci danych i programu (wewnętrznych i czasami zewnętrznych);
-użycie dwóch oddzielnych szyn dla danych i rozkazów, dzięki czemu w trakcie pobierania argumentów wykonywanej właśnie instrukcji można równocześnie zacząć pobieranie następnego słowa rozkazowego (pre-fetch); skraca to cykl rozkazowy i zwiększa szybkość pracy;
-niejednoznaczność adresów, ponieważ są one takie same w pamięć RAM i ROM;
-zastosowanie różnych rozkazów dla pamięci programu i dla pamięci danych;
-różna szerokość (długość słowa) magistrali danych i rozkazów;
-utrudniony przepływ danych z pamięci programu do obszaru pamięci operacyjnej, co uniemożliwia stosowanie jednej z podstawowych technik programistycznych - nie jest możliwe indeksowane przesłanie
Na czym polega i czym się charakteryzuje przetwarzanie potokowe w mikroprocesorze
Charakterystyka przetwarzania potokowego
-Jeden z układów procesora potokowego wykonuje rozkaz, a drugi, niezależny układ w tym samym czasie pobiera następny rozkaz z pamięci, co podwaja wydajność procesora. Stopień równoległości konstrukcji procesorów wynosi od trzech do siedmiu niezależnych bloków funkcjonalnych wykonujących jednocześnie pobranie rozkazu, jego zdekodowanie, obliczenie adresu argumentu, pobranie argumentu, wykonanie operacji i przechowanie wyniku.
-Potokowa architektura procesora jest bardzo wydajna, gdy nie występują przerwania, instrukcje warunkowe oraz przede wszystkim skoki, bowiem jest ona bardzo wrażliwa na nie.
Arytmetyka przetwarzania potokowego:
Podstawowe parametry charakteryzujące przetwarzanie potokowe:
-k - liczba etapów na jakie dzieli się wykonanie każdego rozkazu
-n - liczba wykonanych rozkazów
-f - częstotliwość taktowania
+całkowity czas wykonania programu bez przetwarzania potokowego: Ts=nk1/f
+całkowity czas wykonania programu z potokowaniem: Tp=k/f+(n-1)/f k/f - to czas po jakim pierwszy rozkaz zostanie wykonany (n-1)/f - czas wykonania reszty rozkazów
+współczynnik przyspieszenia - zależy od liczby stopni w potoku S=Ts/Tp=nk/[k+(n-1)].
Podstawowe ograniczenia występujące w przetwarzaniu potokowym:
-częstotliwość uzyskiwania wyników jest ograniczona przez czas trwania najdłuższego z etapów;
-rozwiązanie gdzie dodatkowo dzielone są etapy na mniejsze części nazywane jest przetwarzaniem superpotokowym (superpipelined pipeline lub superpipelining);
-dodatkowe przyspieszenie przetwarzania można uzyskać dzięki współbieżnemu wykonywaniu rozkazów w bliźniaczych potokach. Taki rodzaj potokowania nazywa się potokowaniem superskalarnym;
Typy zakłóceń:
W przetwarzaniu potokowym występują następujące zakłócenia:
-hazardy strukturalne - wynikają z konfliktów sprzętowych, niektóre kombinacje instrukcji nie mogą być wykonywane jednocześnie ze względu na konflikt zasobów
-hazardy danych - pojawiają się wtedy, gdy do obiektu danych (rejestry, komórki pamięci, rejestry flag) zwracają się lub zmieniają go dwa różne rozkazy umieszczone tak blisko w programie, że potokowanie powoduje zachodzenie na siebie ich wykonań. Wśród hazardów danych także wyróżnia się następujące trzy typy:
=czytanie po zapisie (Read after Write) - RAW
=zapis po odczycie (Write after Read) - WAR
=zapis po zapisie (Write after Write) - WAW
Sposoby usuwania zakłóceń
-Zatrzymanie potoku – jeżeli ujawniono rozkaz j-ty, który znajduje się w stanie zakłócenia z wcześniejszym rozkazem i-tym, to wszystkie kolejne rozkazy są zatrzymane dopóki rozkaz i-ty nie przejdzie przez punkt krytyczny konfliktu;
-Zatrzymanie rozkazu j-tego – jeżeli rozkazy j+1, j+2 są wprowadzone do potoku, i powstaje możliwość wyprzedzenia rozkazu j-tego; przy badaniach na istnienie zakłóceń dla rozkazów j+1, j+2 należy również przewidzieć, czy nie ma konfliktów z rozkazem j-tym. Jeżeli takie zakłócenie zostanie wykryte, to wykonanie tych rozkazów (j+1, j+2) jest także wstrzymane aż do momentu, gdy rozkaz j-ty nie otrzyma zezwolenia na kontynuowanie przejścia przez potok.
Opisz budowę i scharakteryzuj zalety i wady tranzystorów unipolarnych w układach scalonych
Budowa
Zasadniczą częścią tranzystora polowego jest kryształ odpowiednio domieszkowanego półprzewodnika z dwiema elektrodami: źródłem (symbol S od ang. source, odpowiednik emitera w tranzystorze bipolarnym) i drenem (D, drain, odpowiednik kolektora). Pomiędzy nimi tworzy się tzw. kanał, którym płynie prąd. Wzdłuż kanału umieszczona jest trzecia elektroda, zwana bramką (G, gate, odpowiednik bazy). W tranzystorach epiplanarnych, jak również w przypadku układów scalonych, w których wytwarza się wiele tranzystorów na wspólnym krysztale, wykorzystuje się jeszcze czwartą elektrodę, tzw. podłoże (B, bulk albo body), służącą do odpowiedniej polaryzacji podłoża.
Zalety i wady technologii MOS:
-Prosta technologia;
-Mała powierzchnia tranzystora – duża gęstość upakowania;
-Naturalna samoizolacja elementów – zbędne wyspy izolacyjne;
-Uniwersalność – tranzystor MOS może pełnić funkcję: tranzystora, rezystora i kondensatora;
-Symetria struktury (D,S -> S,D);
-Mały pobór mocy;
-Duża rezystancja wejściowa;
-Mała wartość transkonduktancji;
-Duża rezystancja D – S w stanie przewodzenia;
-Duża pojemność G –S; G- D – mniejsza fg i mniejsza szybkość działania tranzystora (kilkakrotnie mniejsza niż tranzystora bipolarnego);
-Łatwość uszkodzenia obwodu wejściowego (konieczność zabezpieczeń).
Technologia bipolarna
W scalonym układzie bipolarnym, głównymi elementemi są tranzystory bipolarne. Obszar roboczy tranzystora bipolarnego stanowi kombinacja dwóch złączy p-n w jednej płytce półprzewodnika. W zależności od uszeregowania obszarów o zmiennym typie przewodnictwa można wyróżnić tranzystory typu npn i pnp, które działają podobnie, a różnią się tylko biegunowością zewnętrznych źródeł zasilania i kierunkami przepływu prądu.
&&Właściwości izolacji – (Zalety i Wady)
&Izolacja złączowa
Technologia tania
Warstwa typu n+ wraz z warstwą zagrzebaną odgrywa jednocześnie rolę wyspy
i kolektora
Niemożliwość wytwarzania tranzystorów komplementarnych
Mała gęstość upakowania
Mała rezystancja izolacji
Niezbyt dobre parametry elektryczne (rezystancja izolacji, duże prądu upływu,
duże pojemności, mała wytrzymałość elektryczna)
Konieczność napięcia polaryzującego
& Izolacja złączowo-dielektryczna
Dobre parametry elektryczne
Duża gęstość upakowania (prawie 3-krotna) –większa od pozostałych rodzajów
izolacji
Posiada głębokie ściany utlenianych warstw
Technologia względnie tania
&&Właściwości izolacji – (Zalety i Wady)
&Izolacja dielektryczna
Dopasowywanie powierzchni półprzewodnika
Maskowanie półprzewodników w procesie dyfuzji
Izolowanie elektryczne elementów składowych lub różnych obszarów w
obrębie przyrządu
Zabezpieczenie przyrządu przed oddziaływaniami zewnętrznymi
Posiada lepsze parametry niż w izolacji złączowej
Występują mniejsze prądy upływu
Większa odporność na wpływ promieniowania jonizującego
Mniejsza pojemność pasożytnicza
Większa częstotliwość pracy układów scalonych
Często stosowana
Zapewnia rozwój technologii SOI - istota, sposoby, właściwości
Technologia droga
Przedstaw na rysunku budowę pamięci danych MCS’51. Jakie mają przeznaczenie poszczególne obszary pamięci?
Na wewnętrzną pamięć danych składają się dwa bloki: 128 bajtów ciągłego obszaru pamięci RAM oraz obszar 128 bajtów niespójnego bloku rejestrów specjalnych (SFR) mikrokontrolera.
Obszar od adresu 0 do 31 (0H-1FH) zajmują cztery banki rejestrów roboczych, po osiem rejestrów w banku (wybierane bitami RS1 i RS0 rejestru PSW). Rejestry te mają oznaczenia R0 do R7 i mogą być wykorzystywane do przechowywania danych. Wyjątek
stanowią rejestry R0 i R1 kaŜdego bloku, które mogą być wykorzystane do indeksowego adresowania wewnętrznej i zewnętrznej pamięci danych. Po wyzerowaniu mikrokontrolera sygnałem RST uŜytkownik ma do dyspozycji blok 0.
Obszar pamięci o adresach 32-47(20H-2FH) moŜe być uŜywany do przechowywania dowolnych danych wykorzystywanych w programie. Cechą tego obszaru jest to, Ŝe moŜliwe jest zaadresowanie pojedynczego bitu komórki pamięci. Bity te są dostępne pod adresami 0-127 (0H-7FH), a adres bitu, który chcemy zaadresować, moŜna określić przy uŜyciu wzoru: (n-32)*8+i, gdzie n
jest adresem słowa pamięci, a i jest numerem bitu w tym słowie. Wynika z tego, Ŝe adresy te pokrywają się z adresami komórek 4 pamięci, jednak nie stanowi to przeszkody, gdyŜ do pojedynczych bitów odwołują się specyficzne rozkazy mikrokontrolera, co pozwala jednoznacznie stwierdzić czy adresowana jest komórka czy pojedynczy bit. Obszar pamięci o adresach 48-127 (30H-7FH) nie posiada juŜ Ŝadnych specyficznych własności i wykorzystywany jest jak zwykła pamięć o organizacji bajtowej. Mimo róŜnych własności poszczególnych obszarów pamięci, cała pamięć moŜe być adresowana jak pamięć o bajtowej organizacji
w sposób bezpośredni lub indeksowy przy uŜyciu rejestrów R0 i R1. W wewnętrznej pamięci danych umieszczany jest stos programu. MoŜe on być umieszczony w dowolnym miejscu przez zapis
odpowiedniego adresu do rejestru SP będącego wskaźnikiem stosu, jednak po wyzerowaniu mikrokontrolera sygnałem RST wskaźnik stosu przyjmuje wartość 7. SP naleŜy do bloku rejestrów specjalnych, a jego zawartość wskazuje na ostatnie zajęte słowo stosu. Wskaźnik stosu jest inkrementowany przed kaŜdym zapisem na stos i dekrementowany po kaŜdym odczycie. Oprócz pamięci wewnętrznej danych moŜliwe jest dołączenie do mikrokontrolera zewnętrznej pamięci danych o pojemności do 64kB. PoniewaŜ mikrokontroler nie posiada osobnych rozkazów do dostępu do urządzeń wejścia-wyjścia, to w obszarze adresowym 64kB zewnętrznej pamięci danych mogą być równieŜ umieszczane rejestry dołączanych do systemu urządzeń we/wy.
Supervisor i watch-dog
Watch-dog - Jest to układ, ktory jest stosowany do sprawdzania czy program jest nadal wykonywany (nie zawiesił się). W przypadku, gdy program uległ zawieszeniu dla zadanego okresu czasu, układ ten powoduje zerowanie (resetowanie) systemu.
Mikroprocesor zasada działania
Program jest umieszczony w pamięci, czyli specjalizowanym układzie elektronicznym, który może przechowywać informacje. Jest ona złożona z komórek pamięci zawierających niepowtarzalany adres i określoną liczbę bitów. Bit to podstawowa, jednostka informacji, która może przyjąć wartość zera lub jedynki. Mikroprocesor adresuje określoną komórkę pamięci za pomocą tzw. szyny adresowej. Jej zawartość, poprzez szynę danych, trafia do mikroprocesora. W ten sposób następuje pobranie kodu rozkazu, który za, pośrednictwem bloku interpretera rozkazów uruchamia proces wykonania rozkazu. Lista możliwych rozkazów zależy od typu mikroprocesora i może być naprawdę rozmaita.. Za operacje logiczne i arytmetyczne, jakie są, wykonywane na polecenie programu, jest odpowiedzialna jednostka arytmetyczno-logiczna. To jej możliwości decydują o tzw. mocy obliczeniowej mikroprocesora. Mikroprocesor ma rejestry, czyli własne komórki pamięci. Ich liczba i przeznaczenie są bardzo indywidualne, ale o kilku z nich warto wspomnieć. Najważniejszy jest licznik rozkazów, który po wykonaniu bieżącego rozkazu zwiększa swą wartość, czyli pozwala sięgnąć po następny rozkaz zapisany w pamięci. Kolejnym ważnym rejestrem jest akumulator. Jego zadaniem jest przechowanie danych, nad którymi do woli może się pastwić ALU.
Kod bramek w asemblerze
OR
Orl A,#0000$1111b
NOR
Orl A,#0000$1111b
Cpl A
NAND
Anl A,#0000$1111b
cpl A
XOR
xrlA,#0000$1111b
Schemat blokowy mikroklocka