ZERO
Wyjaśnić pojęcia: rozkaz, cykl rozkazowy, potok, preprocesing
Rozkaz - pojedyncza operacja centralnej jednostki obliczeniowej określona przez zestaw rozkazów danej architektury. Jest ona przekazywana procesorowi, który ją wykonuje, po czym zapisuje wartość wynikową lub ustawia flagę błędu, jeżeli wystąpił. W szerszym pojęciu, rozkaz może być elementem programu wykonywalnego, takiego jak kod bajtowy.
Cykl rozkazowy – są to pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i wczytywaniu ich do układu sterowania mikroprocesora, a następnie realizacji rozkazu, którego kod został pobrany. Posiada dwie fazy: pobrania i wykonania.
Potok – pozwala, aby wyjście jednego programu było wejściem dla innego. Jego operatorem jest pionowa kreska (|). Operacja potoku odbiera wynik polecenia znajdującego się przed operatorem potoku i wysyła je jako dane wejściowe do polecenia umieszczonego za operatorem potoku.
Preprocesing – coś co się wykonuje przed czymś
Opisać cykl rozkazowy procesora CISC
Pojedynczy, złożony rozkaz rozbijany był wewnątrz procesora na kilka prostszych rozkazów, a jego wykonanie trwa kilka lub nawet kilkanaście taktów zegara.
Budowa jednostki i486, na czym polega (opisać) adresowanie w trybie chronionym
Podział pamięci na segmenty oraz na strony, wbudowana pamięć podręczna, wbudowana jednostka operacji zmiennopozycyjnych, integracja bloków operacji stało oraz zmiennoprzecinkowych pamięcią podręczną, współpraca z zewnętrzną pamięcią
Tryb chroniony:
Rozszerzenie pamięci widocznej dla programu z maksymalnej pamięci fizycznej 4GB do pamięci wirtualnej 64TB, mechanizmy ochrony pamięci oraz dostępu do urządzeń we/wy, składowe adresu to 16-bitowy selektor oraz 32-bitowe przesunięcie
Opisać budowę i własności EEPROM Flash, podać sprzętowe mechanizmy wspomagające wyliczanie adresów przy zapisywaniu i kasowaniu
Komórka jest podobna do tranzystora polowego, ale z dwiema bramkami: bramką sterującą i bramką "pływającą". Jeśli komórkę wybrano do odczytu (bramka połączona jest z linią słowa pamięci), wtedy do bramki sterującej doprowadzone jest napięcie. Bramka "pływająca" nie jest bezpośrednio wyprowadzona, a jedynie ładunek tej bramki decyduje o przepływie prądu przez tranzystor. Ładunek bramki "pływającej" decyduje o napięciu progowym Ut, jeśli napięcie na bramce sterującej przekroczy Ut, wtedy tranzystor rozpoczyna przewodzenie.
Budowa blokowa jednostki TMS320C50, porównać pracę w trybie mikrokomputera i mikroprocesora
Procesor – układ scalony DSP
CPU – Central Processing Unit
AAU – Auxiliary Arithmeric Unit
SP – Serial Ports
IM – Internal Memory
Pamięć zewnętrzna (w architekturze harwardzkiej pamięć programu i pamięć danych
Porty komunikacji
Szeregowy (np. modem)
Równoległy (np. drukarka)
I TERMIN
Wykonać za pomocą mikrooperacji arytmetycznych skalowanie liczby binarnej D <- 4xD
Opisać pamięć x86 w trybie rzeczywistym i chronionym
Tryb chroniony umożliwia adresowanie pamięci przekraczającej wielkość 1 MB (tryb rzeczywisty), wprowadza wiele nowych udogodnień wspierających wielozadaniowość, takich jak: sprzętowa ochrona pamięci (układ MMU), wsparcie w przełączaniu kontekstu procesora i wiele innych.
Tryb rzeczywisty nie zapewnia ochrony pamięci przed użyciem przez inny proces oraz obsługi wielozadaniowości. W trybie rzeczywistym dostępna jest 1-megabajtowa przestrzeń adresowa. Adres logiczny (programowy) składa się z dwóch liczb 16-bitowych: segmentu (numeru segmentu) oraz przemieszczenia względem początku segmentu (ang. offset).
Opisać ścieżki danych i programu na podstawie VLIW i EPIC
VLIW Kompilator VLIW porządkuje kod na ścieżki, które wprost nie posiadają jakichkolwiek zależności. Następnie są one dzielone na cztery lub więcej części (jeden dla każdej jednostki obliczeniowej CPU) i pakowane razem w większe instrukcje z dodatkową informacją odnośnie do jednostki, na której ma być wykonywana. Rezultatem tego jest pojedynczy wielki opcode (stąd nazwa "Very Long").
EPIC Grupowanie instrukcji i oznaczaniu ich wzajemnych relacji już na etapie kompilacji programu. Instrukcje są zamknięte w tzw. paczkach (po trzy instrukcje), które są ładowane do procesora równocześnie. Każda paczka zawiera przedrostek - grupę bitów informujących procesor o tym, do których jednostek ma skierować poszczególne rozkazy. W przedrostku znajdują się też informacje o tzw. barierach wykonań służących do koordynacji wykonywania poszczególnych instrukcji. Jeśli pomiędzy dwoma ciągami rozkazów znajdują się bariery wykonania, to drugi ciąg zostanie wykonany dopiero wtedy gdy znane będą wyniki działania rozkazów z pierwszego ciągu.
Opisz budowę jednostki centralnej TMS320C50. Wymień podstawowe bloki funkcjonalne. Opisz obsługę przerwań w DSP
Procesor – układ scalony DSP
CPU – Central Processing Unit
AAU – Auxiliary Arithmeric Unit
SP – Serial Ports
IM – Internal Memory
Pamięć zewnętrzna (w architekturze harwardzkiej pamięć programu i pamięć danych
Porty komunikacji
Szeregowy (np. modem)
Równoległy (np. drukarka)
Bloki funkcjonalne:
Układ scalony DSP, pamięć zewnętrzna, A/C, C/A, Porty
Przerwania:
Zawartość licznika rozkazów zostaje zapamiętana (na 8-poziomowym stosie sprzętowym razem z adresami procedur – uwaga przy ich wywoływaniu z procedury przerwania)
Zapamiętanie kontekstu: zawartość rejestrów rdzenia zostaje zapamiętana (na stosie 1-poziomowym -> ‘C50 nie obsługuje przerwań zanurzonych)
Licznik rozkazów zostaje załadowany adresem procedury obsługi przerwania (ISR)
Procesor wykonuje program procedury przerwania aż do napotkania instrukcji RETE lub RETI
Zapamiętany na stosie kontekst przerwania: PC, ACC, ACCB, PREG, ST0-1, PMST, TREG0-2, INDX, ARCR.
Podaj definicje: rozkaz, cykl rozkazowy, potok. Wymień metody synchronizacji potoku
Rozkaz - pojedyncza operacja centralnej jednostki obliczeniowej określona przez zestaw rozkazów danej architektury. Jest ona przekazywana procesorowi, który ją wykonuje, po czym zapisuje wartość wynikową lub ustawia flagę błędu, jeżeli wystąpił. W szerszym pojęciu, rozkaz może być elementem programu wykonywalnego, takiego jak kod bajtowy.
Cykl rozkazowy – są to pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i wczytywaniu ich do układu sterowania mikroprocesora, a następnie realizacji rozkazu, którego kod został pobrany. Posiada dwie fazy: pobrania i wykonania.
Potok – pozwala, aby wyjście jednego programu było wejściem dla innego. Jego operatorem jest pionowa kreska (|). Operacja potoku odbiera wynik polecenia znajdującego się przed operatorem potoku i wysyła je jako dane wejściowe do polecenia umieszczonego za operatorem potoku.
Metody synchronizacji potoku:
• Przewidywanie skoków - Współczesne procesory potrafią przewidywać skoki z 90% skutecznością
• Wykonywanie jednoczesne obu rozgałezień programu (architektura hiperskalarna) do czasu sprawdzenia warunku rozgałęzienia
• Opóźnienie skoków w potoku - Skok opóźniony (delayed branch): wykonaj następną instrukcję za bieżącą, a potem skocz
II TERMIN
Opisz mikrooperacje logiczne procesora CISC
transferu, arytmetyczne, logiczne, na bitach, przesunięć
Porównaj instrukcje w CISC, RISC, EPIC i VLIW. Opisz typ listy rozkazów ARM7
Opisz budowę pamięci EEPROM FLASH i algorytm kasowania 1 sektora
Komórka jest podobna do tranzystora polowego, ale z dwiema bramkami: bramką sterującą i bramką "pływającą". Jeśli komórkę wybrano do odczytu (bramka połączona jest z linią słowa pamięci), wtedy do bramki sterującej doprowadzone jest napięcie. Bramka "pływająca" nie jest bezpośrednio wyprowadzona, a jedynie ładunek tej bramki decyduje o przepływie prądu przez tranzystor. Ładunek bramki "pływającej" decyduje o napięciu progowym Ut, jeśli napięcie na bramce sterującej przekroczy Ut, wtedy tranzystor rozpoczyna przewodzenie.
Opisz budowę TMS320C50 i jego urządzenia funkcjonalne. Opisz PLU w tym procesorze
Procesor – układ scalony DSP
CPU – Central Processing Unit
AAU – Auxiliary Arithmeric Unit
SP – Serial Ports
IM – Internal Memory
Pamięć zewnętrzna (w architekturze harwardzkiej pamięć programu i pamięć danych
Porty komunikacji
Szeregowy (np. modem)
Równoległy (np. drukarka)
Urządzenia funkcjonalne:
Układ scalony DSP, pamięć zewnętrzna, A/C, C/A, Porty
Porównaj pracę potokową w Pentium 4 i ARM7
III TERMIN
Opisać mikrooperacje arytmetyczne
Mikrooperacja arytmetyczna jest to operacje przesłań między rejestrami zmieniająca zawartość informacji podczas przesłania modyfikowana przez układy logiczne wykonujące zadaną fun. aryt.
dodawania, odejmowanie, inkrementacja, dekrementacja, dopełnienie, uzupelnienie do 2, A + B_, A + B_ +1
Opisać budowę jednostki centralnej i486
Podział pamięci na segmenty oraz na strony, wbudowana pamięć podręczna, wbudowana jednostka operacji zmiennopozycyjnych, integracja bloków operacji stało oraz zmiennoprzecinkowych pamięcią podręczną, współpraca z zewnętrzną pamięcią
Opisać architekturę Harvard oraz von Neumanna. Opisać organizację pamięci
Architektura Harvardzka opiera się na użyciu dwóch oddzielne układów pamięci (osobny układ do operacji na rozkazach i osobny do operacji na danych) i dwóch magistral łączących te pamięci z procesorem, 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. Obszary adresowe pamięci danych i programu (wewnętrznych i czasami zewnętrznych) są rozdzielone. Pociąga to za sobą niejednoznaczność adresów, ponieważ pod tym samym adresem jednostka centralna widzi pamięć RAM i ROM.
Architektura von Neumanna Polega na ścisłym podziale komputera na trzy podstawowe części:
procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna)
pamięć komputera (zawierająca dane i sam program)
urządzenia wejścia/wyjścia
Architektura Von-Neumanna cechuje się jednolitą przestrzenią adresową, w której wszystkie pamięci, rejestry i układy we/wy są umieszczone w jednej, wspólnej przestrzeni adresowej. W architekturze tej zakłada się, że 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.
Opisać budowę mikroprocesora TMS320C50
Procesor – układ scalony DSP
CPU – Central Processing Unit
AAU – Auxiliary Arithmeric Unit
SP – Serial Ports
IM – Internal Memory
Pamięć zewnętrzna (w architekturze harwardzkiej pamięć programu i pamięć danych
Porty komunikacji
Szeregowy (np. modem)
Równoległy (np. drukarka)
Definicje rozkazu, cyklu rozkazowego i potoku. Metody synchronizacji potoku
Rozkaz - pojedyncza operacja centralnej jednostki obliczeniowej określona przez zestaw rozkazów danej architektury. Jest ona przekazywana procesorowi, który ją wykonuje, po czym zapisuje wartość wynikową lub ustawia flagę błędu, jeżeli wystąpił. W szerszym pojęciu, rozkaz może być elementem programu wykonywalnego, takiego jak kod bajtowy.
Cykl rozkazowy – są to pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i wczytywaniu ich do układu sterowania mikroprocesora, a następnie realizacji rozkazu, którego kod został pobrany. Posiada dwie fazy: pobrania i wykonania.
Potok – pozwala, aby wyjście jednego programu było wejściem dla innego. Jego operatorem jest pionowa kreska (|). Operacja potoku odbiera wynik polecenia znajdującego się przed operatorem potoku i wysyła je jako dane wejściowe do polecenia umieszczonego za operatorem potoku.
Metody synchronizacji potoku:
• Przewidywanie skoków - Współczesne procesory potrafią przewidywać skoki z 90% skutecznością
• Wykonywanie jednoczesne obu rozgałezień programu (architektura hiperskalarna) do czasu sprawdzenia warunku rozgałęzienia
• Opóźnienie skoków w potoku - Skok opóźniony (delayed branch): wykonaj następną instrukcję za bieżącą, a potem skocz
IV TERMIN
Podaj sposób realizacji mikrooperacji inkrementacji i dekrementacji
Inkrementacja A+1
Dekrementacja A-1
Opisz obsługę przerwań w DSP TMS320C50. Opisz realizację pętli licznikowych. Podaj (wymień) rejestry używane w petlach licznikowych
Przerwania:
Zawartość licznika rozkazów zostaje zapamiętana (na 8-poziomowym stosie sprzętowym razem z adresami procedur – uwaga przy ich wywoływaniu z procedury przerwania)
Zapamiętanie kontekstu: zawartość rejestrów rdzenia zostaje zapamiętana (na stosie 1-poziomowym -> ‘C50 nie obsługuje przerwań zanurzonych)
Licznik rozkazów zostaje załadowany adresem procedury obsługi przerwania (ISR)
Procesor wykonuje program procedury przerwania aż do napotkania instrukcji RETE lub RETI
Zapamiętany na stosie kontekst przerwania: PC, ACC, ACCB, PREG, ST0-1, PMST, TREG0-2, INDX, ARCR.
Opisz tryb rzeczywisty procesora i486, przejście do trybu chronionego. Porównaj/opisz segmentacje i stronicowanie
Tryb chroniony umożliwia adresowanie pamięci przekraczającej wielkość 1 MB (tryb rzeczywisty), wprowadza wiele nowych udogodnień wspierających wielozadaniowość, takich jak: sprzętowa ochrona pamięci (układ MMU), wsparcie w przełączaniu kontekstu procesora i wiele innych.
Tryb rzeczywisty nie zapewnia ochrony pamięci przed użyciem przez inny proces oraz obsługi wielozadaniowości. W trybie rzeczywistym dostępna jest 1-megabajtowa przestrzeń adresowa. Adres logiczny (programowy) składa się z dwóch liczb 16-bitowych: segmentu (numeru segmentu) oraz przemieszczenia względem początku segmentu (ang. offset).
Von Neumann vs Harvard, przykład rozkazu dla pamięci
Architektura Harvardzka opiera się na użyciu dwóch oddzielne układów pamięci (osobny układ do operacji na rozkazach i osobny do operacji na danych) i dwóch magistral łączących te pamięci z procesorem, 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. Obszary adresowe pamięci danych i programu (wewnętrznych i czasami zewnętrznych) są rozdzielone. Pociąga to za sobą niejednoznaczność adresów, ponieważ pod tym samym adresem jednostka centralna widzi pamięć RAM i ROM.
Architektura von Neumanna Polega na ścisłym podziale komputera na trzy podstawowe części:
procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna)
pamięć komputera (zawierająca dane i sam program)
urządzenia wejścia/wyjścia
Architektura Von-Neumanna cechuje się jednolitą przestrzenią adresową, w której wszystkie pamięci, rejestry i układy we/wy są umieszczone w jednej, wspólnej przestrzeni adresowej. W architekturze tej zakłada się, że 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.