Transcript Document

Technika mikroprocesorowa
Seminarium dyplomowe
Wykonali:
Michał Kochanowski
Łukasz Duda
Kamil Nicpoń
Wydział Informatyki, Elektroniki i Telekomunikacji
Katedra Elektroniki
Kraków 26.11.2012r.
Pytanie 1:
Po odjęciu dwóch bajtów (B3 minus 9D,
kod
heksadecymalny),
stany
bitów
warunkowych
C,
Z
(przeniesienia,
zerowości) będą wynosiły:
a)0,1
b)0,0
c) 1,1
Bity warunkowe
Układ ALU na podstawie efektów obliczeń
ustawia
tzw.
bity
warunkowe.
Mamy
następujące bity:
•
•
•
•
•
Carry (C)- przeniesienie
Overflow (V)- nadmiar
Zero (Z)- wynik zerowy
Negative (N) - wynik ujemny
Extend (X) - przedłużenie
Bity warunkowe
•
•
•
•
•
Flaga Z jest ustawiana na ”1” gdy wynik ostatnio wykonanej
operacji jest zerowy, to znaczy wszystkie aktywne bity wyniku
są, zerowe (ilość bitów aktywnych zależy od typu danych
użytych w operacji). W przeciwnym przypadku flaga ta jest
zerowana.
Flaga N jest ustawiana na ”1” gdy wynik operacji jest ujemny,
w przeciwnym przypadku jest zerowana. Przy operacjach w
kodzie U2, więc flaga N jest kopią najstarszego z aktywnych
bitów wyniku.
Flaga C jest ustawiana na ”1”, gdy w wyniku operacji
arytmetycznej następuje przeniesienie z najstarszej aktywnej
pozycji, lub przy operacji przesuwania – wysuwany jest bit ”1”.
Flaga X jest ustawiana podobnie jak C, ale tylko przez niektóre
instrukcje. Pełni rolę bitu przeniesienia potrzebnego do
przedłużania operacji arytmetycznych na większą, ilość słów.
Flaga V sygnalizuje wystąpienie nadmiaru w czasie ostatniej
operacji arytmetycznej. Nadmiar ma miejsce, gdy wynik operacji
nie mieści się w przyjętej reprezentacji liczb. Na przykład, po
dodaniu dwóch liczb ujemnych otrzymujemy wynik dodatni.
Kod U2
Kod uzpełnień do dwóch (ang. 2C - Two's Complement)
Liczba jest dodatnia, gdy bit znaku ma
wartość 0 - suma pozostałych wag tworzy
zawsze liczbę dodatnią lub zero. Jeśli bit znaku
przyjmie wartość 1, to liczba jest ujemna.
Procedura wyznaczania liczby przeciwnej w
kodzie U2 (1)
1.Dokonać negacji wszystkich bitów zapisu liczby
U2.
2.Do wyniku dodać 1
Kod U2
Procedura wyznaczania liczby przeciwnej w kodzie U2 (2)
1.Przejść do pierwszego od prawej strony bitu zapisu liczby.
2.Do wyniku przepisać kolejne bity 0, aż do napotkania bitu o
wartości 1, który również przepisać.
3.Wszystkie pozostałe bity przepisać zmieniając ich wartość na
przeciwną.
B3=10110011(U2)=-77
9D=10011101(U2)=-99
~(9D)=01100011(U2)
Przy wyniku odejmowania bajtów, negujemy
bit przeniesienia „C” z stąd stan bitów C i Z
=0,0
Pytanie 2:
Dodając dwa bajty w kodzie uzupełnień
do
dwóch
(6A
i
3E – zapis
heksadecymalny), otrzymujemy następujące
stany bitów warunkowych N,Z,V (znak,
zerowość, przekroczenie zakresu):
a)0,0,0
b)0,1,0
c) 0,0,1
d)1,0,1
Wyjaśnienie
6A=01101010(U2)=106
3E=00111110(U2)=62
Stan bitów warunkowych po tej operacji to:
Z=0,
N=1,
V=1
Pytanie 3:
Funkcja bitów warunkowych (ustawione
po rozkazie odejmowania lub porównania
) dla liczb w kodzie uzupełnień do
dwóch:
!((N modulo 2 V) lub Z)
gdzie N – bit znaku, V – bit przekroczenia
zakresu, Z – bit zerowości, osiąga stan
logicznej jedynki dla relacji :
a)Większy
b)większy lub równy
c) mniejszy lub równy
d)mniejszy
Wyjaśnienie
!((N modulo 2 V) lub Z)=
Dla > mamy N=1 V=1 Z=0 – wartość 1
Dla = mamy N=0 V=0 Z=1 – wartość 0
Dla < mamy N=1 V=0 Z=0 – wartość 0
Pytanie 4:
Bajt FF (zapis heksadecymalny,
kod
uzupełnień
do
dwóch),
po
operacji
zmiany znaku będzie miał postać:
a)01
b)FE
c) 00
Wyjaśnienie
FF=11111111(U2)=-1
~FF=00000000+1=00000001(U2)=1<-liczba
przeciwna
Pytanie 5:
Jednoargumentowe są rozkazy:
a)selektywnej negacji bitu
b)konwersji kodu
c) sumy logicznej
d)dekrementacja
Wyjaśnienie
Jednoargumentowymi
rozkazami
są
wszystkie te rozkazy, które wykonują
operacje odwołując się tylko do jednego
argumentu. Czyli
np.
dodanie
dwóch
rejestrów wymaga 2 argumentów: adresu
jednego rejestru oraz adresu drugiego
rejestru.
A
przykładowo
operacje
inkrementacji, dekrementacji, są operacjami
jednoargumentowymi ponieważ wymagają
podania tylko jednego argumentu.
Pytanie 6:
Rejestry niezbędne dla prawidłowej pracy
mikroprocesora:
a)statusowy,
b)wyróżniony rejestr – akumulator,
c) licznik programu ( PC ),
d)wskaźnik stosu(SP),
Wyjaśnienie
Do
prawidłowej
pracy
mikroprocesor
potrzebuje rejestry które wykorzystuje do
zarządzania
przebiegiem
wykonywania
programu.
Są to :
• Rejestr statusowy
• Licznik programu
• Wskaźnik stosu
Pytanie 7:
Przez cykl magistrali ( CM ) rozumiemy
jednokrotny kontakt mikroprocesora z
pamięcią
( programu, danych ).
Rozkazy które do wykonania potrzebują
dwóch CM ( argumenty znajdują się w
pamięci ) to:
a)Zerowania
b)iloczynu logicznego z maską
natychmiastową
c) Dekrementacji
d)Pojedynczy zapis do pamięci
Wyjaśnienie
Rozkazy potrzebujące dwóch cykli magistrali
to takie, które do zrealizowania operacji
potrzebują 2 kontaktów z pamięcią. Czyli:
odczyt z pamięci danej (pierwszy CM) ->
modyfikacja danej -> zapis do pamięci
zmodyfikowanej danej (drugi CM)
Pytanie 8:
Mikroprocesor zwraca magistralę:
a)po
b)po
c) po
d)Po
skończeniu
skończeniu
skończeniu
zakończeniu
cyklu magistrali,
procedury,
rozkazu,
przerwania,
Pytanie 9:
Mikroprocesor zaakceptuje przerwanie typu
niemaskowanego:
a)natychmiast, tj. po każdym takcie
sygnału zegarowego
b)po skończeniu bieżącego cyklu
magistrali
c) po skończeniu bieżącego rozkazu
Ciekawostka
Jeżeli podczas obsługi NMI pojawi się znowu
przerwanie tego typu to zachowanie uP może
być różne:
a) Zagnieżdżenie obsługi (Motorola)
b) Zapamiętanie faktu i ponowne
powtórzenie procedury (Intel)
Pytanie 10:
Procesory typu RISC (reduced instruction
set computer ) charakteryzują się:
a)zredukowaną liczbą trybów adresowania
b)wykonywaniem każdego rozkazu w
jednym takcie zegarowym
c) zredukowaną liczbą rejestrów
d)Zredukowaną liczbą rozkazów
Wyjaśnienie RISC
Zredukowana liczba rozkazów do
niezbędnego minimum. Ich liczba wynosi
kilkadziesiąt, podczas gdy w procesorach
CISC sięga setek. Upraszcza to znacznie
dekoder rozkazów.
Redukcja trybów adresowania, dzięki
czemu kody rozkazów są prostsze, bardziej
zunifikowane, co dodatkowo upraszcza
wspomniany wcześniej dekoder rozkazów.
Ponadto wprowadzono tryb adresowania,
który ogranicza ilość przesłań.
Pytanie 11:
Tryby adresacji stosowane konsekwentnie
dla
rozkazów
skoków
i
wywołań,
zapewniające
własność
relokowalności
segmentu kodu to:
a)Względny
b)bazowy (indeksowy)
c) Rejestrowy
Wyjaśnienie
Tryb adresowy względny – adresuje
względem PC
Tryb adresowany rejestrowy – adresuje za
pomocą wartość znajdującej się w danym
rejestrze
Tryb bazowy (indeksowy) – w odniesieniu do
jakiejś wartości bazowej.
Pytanie 12:
Numerowany
( wektorowy )
system
przerwań ( jedna linia INT – wiele źródeł
przerwań ) wymaga:
a)instalacji w pamięci danych tablicy
adresów startowych programów obsług
b)trybu adresacji indeksowego w
procedurach obsługi
c) cyklu magistrali akceptacji przerwania
d)Osobnego bloku pamięci
Wyjaśnienie
Instalacja takiej tablicy wektorów przerwao
jest konieczna aby mikrokontroler wiedział,
który
kod
obsługi
przerwania
jest
przyporządkowany
do
którego
numeru
przerwania.
Pytanie 13:
Każdy mikrokontroler po wyzerowaniu:
a)blokuje przerwania
b)ustawia linie portów jako wejścia
c) zeruje pamięć danych
d)Czyści pamięć programu
Wyjaśnienie
Po wyzerowaniu każdy uP wraca do
bezpiecznego stanu, tzn. wyłącza przerwania
maskowalne oraz ustawia linie danych jako
wejścia.
Pytanie 14:
Interfejsy wewnętrzne absolutnie
niezbędne w mikrokontrolerze to:
a)przetwornik A/C
b)linie we/wy
c) licznik – czasomierz
d)Interfejs SPI
Wyjaśnienie
Każdy mikrokontroler musi móc jakoś
komunikować się ze światem zewnętrznym
dlatego konieczne są linie we/wy, co więcej
aby mógł nastąpić przesył danych na
magistralach wewnętrznych musi nastąpić
synchronizacja danych, więc uP musi również
posiadać wbudowany Timer.
Pytanie 15:
Zegar czuwania
przed:
(watchdog) zabezpiecza
a)samoistnym przekłamaniem kodu
b)błędnym działaniem układów
wykonawczych
c) zanikiem sygnału zegarowego
d)Resetowaniem mikroprocesora
e)Zbyt długim pozostawaniem w pętli bez
końca
Wyjaśnienie
Zegar czuwania (watchdog) służy do ochrony
kodu programu przed zamknięciem się w
pętli bez końca oraz przekłamaniami kodu.
Polega to na tym, że co jakiś – określony
czas należy software’owo resetowad licznik
„watchdoga”, który odlicza czas w dół i wtedy
system wie, że kod programu wykonuję się
tak jak to było zaplanowane. Jeśli licznik
watchdoga się wyzeruje to mikrokontroler
jest resetowany.
Pytanie 16:
Podzespoły, które muszą być bezwzględnie
zasilone po wprowadzeniu mikrokontrolera
w stan maksymalnego oszczędzania mocy
to:
a)logika portów we –wy
b)logika wewnętrznych interfejsów
c) pamięć danych
d)ALU
Wyjaśnienie
Pamięć RAM to jedyny podzespół, który musi
być zasilony w trybie hibernacji, po to aby
zachować tam stan mikrokontrolera i
przywrócić (wczytać z pamięci RAM) stany
systemów
wewnętrznych
oraz
funkcjonowanie sprzed hibernacji.
Pytanie 17:
Rozkazy, które mogą przejąć funkcję
instrukcji „pustej” tj. NOP:
a)XCHG AX, AX
(wymiana)
b)BRN
(skok „nigdy”)
c) OR R1, 0
(suma z
argumentem natychmiastowym)
d)JMP *
Wyjaśnienie
2 pierwsze instrukcje nie zmieniają stanu
procesora oraz danych są więc podobne do
instrukcji NOP, jednak ilość cykli magistrali
potrzebna na wykonanie danej instrukcji
może być inna.
Pytanie 18:
Mikroprocesor nie posiada wywołań i
powrotów warunkowych. Aby zrealizować
wywołanie/powrót dla zerowości (bit Z=1)
należy,
oprócz
wywołania/powrotu
bezwarunkowego, posłużyć się dodatkowo:
a)instrukcją NOP
b)skokiem dla warunku Z=0
c) dedykowaną procedurą
Wyjaśnienie
Po skoku bezwarunkowym należy skasować
flagę
Z
–
tak
działają
właśnie
wywołania/powroty warunkowe.
Pytanie 19:
Instrukcja PSH to zapis rejestru na stos
zaś POP to odczyt ze stosu. Sekwencja
rozkazów dotycząca rejestrów Rx i Ry :
PSH Rx , PSH Rx , POP Ry , POP Rx :
a)kopiuje Ry do Rx,
b)wymienia stany rejestrów
c) kopiuje Rx do Ry
d)Nic nie robi
Wyjaśnienie
Pytanie 20:
Większość
mikroprocesorów
dysponuje
rozkazami
zatrzymania.
Mikroprocesor
można efektywnie wyprowadzić ze stanu
zatrzymania poprzez:
a)dedykowaną instrukcję
b)wyłączenie i załączenie zasilania
c) przerwanie
Wyjaśnienie
Mikrokontroler można również wyprowadzić z
tego stanu po przez wyłączenie i włączenie
zasilania nie jest to jednak efektywne. Nie
można tego dokonać przez dedykowaną
instrukcję, ponieważ w tym stanie uP nie
przyjmuje instrukcji.
Pytanie 21:
Pamięć podręczna:
a)powiększa dysponowany obszar pamięci
b)zmniejsza ilość cykli magistrali
c) powoduje że ta sama procedura może
być wykonywana szybciej lub wolniej
d)Ma zawsze tylko jeden poziom
e)W procesorach wielordzeniowych jest
wspólna
Wyjaśnienie
•
•
Pamięć podręczna (ang. cache) – mechanizm, w którym część
spośród danych zgromadzonych w źródłach o długim czasie
dostępu i niższej przepustowości jest dodatkowo przechowywana
w pamięci o lepszych parametrach. Ma to na celu poprawę
szybkości dostępu do tych informacji, które przypuszczalnie
będą potrzebne w najbliższej przyszłości.
Pamięć podręczna jest elementem właściwie wszystkich
systemów – współczesny procesor ma 2 albo 3 poziomy pamięci
podręcznej oddzielającej go od pamięci RAM. Charakteryzuje się
bardzo krótkim czasem dostępu.
Pytanie 22:
Aby przyśpieszyć pracę mikroprocesora
wprowadza się mechanizmy:
a)pracę potokową
b)zewnętrzną jednostkę
zmiennoprzecinkową
c) przewidywania rozgałęzień( tzw. BTB)
d)Oszczędzania energii
Wyjaśnienie
Praca potokowa tzw. praca na zakładkę z
j.ang. Pipeline. Zastosowanie przetwarzania
potokowego
teoretycznie
pozwala
na
kilkukrotnie zwiększenie szybkości pracy.
Prowadzi to do wykonywania większości
instrukcji w jednym cyklu pracy procesora.
Z pracą potokową związany jest blok
prefetchera wraz z układem BTB. Prefetcher
ma za zadanie wcześniejsze pobieranie
kodów instrukcji programu i umieszczanie
ich w kolejce rozkazów. Występuje z nim
układ przewidywania realizacji rozgałęzień,
którego częścią jest buffer rozgałęzień BTB.
Pytanie 23:
Struktura Harvard różni się od struktury
von Neumana:
a)dodatkowymi dwoma liniami sterującymi
zapisem/odczytem układów we-wy
b)obecnością pamięci podręcznych
drugiego poziomu
c) oddzielnymi magistralami dostępu do
kodu i danych
Wyjaśnienie
W architekturze von Neumanna komputer składa się z czterech głównych
komponentów:
- pamięci komputerowej przechowującej dane programu oraz instrukcje
programu;
- - jednostki kontrolnej odpowiedzialnej za pobieranie danych i instrukcji z
pamięci oraz ich sekwencyjne przetwarzanie
- - jednostki arytmetyczno-logicznej odpowiedzialnej za wykonywanie
podstawowych operacji arytmetycznych.
- - urządzeń wejścia/wyjścia służących do interakcji z operatorem.
W odróżnieniu od architektury von Neumanna, pamięć danych programu jest
tutaj oddzielona od pamięci rozkazów. Prostsza (w stosunku do architektury
von Neumanna) budowa przekłada się na większą szybkość działania dlatego ten typ architektury jest często wykorzystywany w procesorach
sygnałowych oraz przy dostępie procesora do pamięci cache. Separacja
pamięci danych od pamięci rozkazów sprawia, że architektura harwardzka
jest obecnie powszechnie stosowana w mikrokomputerach jednoukładowych,
w których dane programu są najczęściej zapisane w nieulotnej pamięci ROM
(EPROM/EEPROM), natomiast dla danych tymczasowych wykorzystana jest
pamięć RAM (wewnętrzna lub zewnętrzna).
Pytanie 24:
Wyrównanie binarne to (argumenty 1, 2, 4
i 8-bitowe):
a)używanie adresów podzielnych przez
rozmiar argumentu
b)stosowanie dla każdego bajtu oddzielnej
linii parzystości
c) rozkazy o parzystej liczbie bajtów
d)Wszystkie rejestry mają taką samą liczbę
bitów
Wyjaśnienie
Wyrównanie binarne polega na tym, że adres
argumentu jest podzielny przez jego rozmiar
(1, 2, 4, 8). Zachowując wyrównanie binarne
nie tracimy dodatkowych CM przy kontaktach
z argumentem w pamięci.
Pytanie 25:
Przenoszalność programu do nowszej
wersji mikroprocesora uniemożliwia:
a)usunięcie części instrukcji
b)inne reguły ustawiania bitów
warunkowych
c) dodanie nowych rejestrów
d)Większa liczba I/O
Pytanie 26:
Jaki podzespół jest niezbędny na karcie
we-wy systemu mikroprocesorowego:
a)logika parzystości
b)bufor dwukierunkowy szyny danych
c) dekoder adresowy
d)Przetwornik ADC
Wyjaśnienie
Niezbędnym elementem jest dekoder
adresowy, bez niego nie moglibyśmy odnieść
się do danego portu. Czyli nasz interfejs
wyjścia/wejścia byłby bezużyteczny.
Pytanie 27:
W procesorze
wielordzeniowym
oddzielne dla każdego rdzenia:
a)układy zegarowe
b)pamięć podręczna
c) rozkazy
są
Wyjaśnienie
Zazwyczaj pamięć podręczna jest oddzielna
dla każdego rdzenia pozwala to na szybszy
dostęp i lepszą optymalizację jej zawartości.
Pytanie 28:
Tryb
pracy
podręcznej:
„write-back”
dla
pamięci
a)powoduje niespójność danych
b)wymaga blokowej aktualizacji pamięci
głównej
c) wymaga dwupoziomowej pamięci
podręcznej
d)Może powodować potrzebę powtórzenia
cyklu dostępu do pamięci
Wyjaśnienie
Tryb
zapisu
wprowadzony
razem
z
architekturą Pentium. Jest to rodzaj zapisu z
opóźnieniem. Po wpisaniu danej do pamięci
cache aktualizacja reszty pamięci jest
opóźniana
do
momentu
wymuszenia
wymiany danych, które nie zostały jeszcze
zaktualizowane. Przyspiesza to znacznie
działanie systemu cache zmniejszając tym
samym aktywność na magistrali. Jednakże,
może prowadzić w przypadku awarii do
utraty części danych.
Pytanie 29:
Przy pracy wielozadaniowej jako zadanie
zajęte traktujemy:
a)zadanie czekające na koniec obsługi
b)każde zadanie obsługowe
c) zadanie aktualnie wykonywane
d)zadanie ukończone
Pytanie 30:
Mechanizm stronicowania (procesory
Intela):
a)pozwala przyśpieszyć działanie pamięci
podręcznej
b)pozwala na lepsze wykorzystanie
dysponowanego obszaru pamięci
c) wymaga użycia dodatkowych tablic w
pamięci zewnętrznej
d)Skuteczną ochronę pamięci przy
wielozadaniowości
Wyjaśnienie
Stronicowanie jest jednym ze sposobów rozwiązania problemu
zewnętrznej fragmentacji polegającym na dopuszczeniu nieciągłości
rozmieszczenia logicznej przestrzeni adresowej procesu w pamięci
fizycznej. Podstawowa filozofia stronicowania:
• Pamięć fizyczna dzielona jest na bloki stałej długości zwane
ramkami.
• Pamięć logiczna dzielona jest na bloki stałej długości zwane
stronami.
• Rozmiary stron i ramek są identyczne.
• Przy wykonywaniu procesu, strony z pamięci pomocniczej
wprowadzane są w odpowiednie ramki pamięci operacyjnej.
• Stronicowaniem w systemach komputerowych nazywamy
podział pamięci na mniejsze obszary o ustalonej lub zmiennej
wielkości i przydzielanie tym blokom adresów fizycznych lub
logicznych.
DZIĘKUJEMY
ZA
UWAGĘ