NEW
Font size
WorksheetsKolokwium z Procesorów
Total questions: 25
Worksheet time: 13mins
Rejestry selektorów procesora i486 służą do:
Wskazuje deskryptor z adresem bazowym w trybie chronionym
Przechowania adresu bazowego w dostępie do pamięci wirtualnej
Wskazuje deskryptor z adresem bazowym w trybie rzeczywistym
Przechowywania adresu bazowego w dostępie do pamięci rzeczywistej
Przedstawiony na rys. przebiegi czasowe, dotyczą
cykl odczytu do pamięci dynamicznej
cykl zapisu do pamięci dynamicznej
cykl zapisu do pamięci EEPROM FLASH
cykl odczytu do pamięci EEPROM FLASH
Procesory sygnałowe posiadają kilka cech (niespotykanych w innych procesorach), zapewniających wysoką wydajność:
Posiada wbudowany generator adresów do pamięci RAM wspierający segmentację pamięci danych
Posiada zestaw instrukcji z równoległymi operacjami matematycznymi oraz sprawną realizacją pętli licznikowych
równolegle mnożenie z akumulacją, wykonywanie w jednym cyklu pozwalające na realizację różnych operacji.: np splotu
posiada wewnętrzny koprocesor oraz pamięć splecioną dla jednoczesnych operacji wykonywanych przez CPU i układy we/wy
Blok rejestrów pomocniczych ARx procesora TMS320C50 służy do:
operacji skalowania danych
Adresowania pośredniego wewnętrznej pamięci danych
Wspomagają Akumulator procesora w operacjach logicznych i stałoprzecinkowych operacjach arytmetycznych
Blokowego kopiowania danych w trybie mikrokontroler
Przedstawione na rys. przebiegi czasowe, dotyczą:
cykl zapisu do pamięci EEPRO FLASH
cykl odczytu do pamięci EEPROM FLASH
cykl zapisu do pamięci statycznej
cykl odczytu do pamięci statycznej
Jednostka centrala procesora DSP TMS320C50 składa się - wskaż niepoprawną odpowiedź:
Równoległej jednostki logicznej (PLU)
Rejestrów pomocniczych odwzorowanych w wewnętrznej pamięci RAM
Równoległej mnożarki arytmetycznej 32b oraz rejestru skalującego
Bloku rejestrów ogólnego przeznaczenia AX, BX, CX, DX
System przerwań procesora DSP posiada następujące cechy:
Przerwanie sprzętowe zawsze poprzedzane jest przerwaniem programowym zw wzg. na podobny mechanizm odwołania do wektora przerwań.
Nie obsługuje przerwań zanurzonych, rejestry rdzenia pamiętane są na stosie 1-poziomowym
Przerwania programowe są obsługiwane bezpośrednio przez CPU z pominięciem jednostki AIC
Ośmiopoziomowy (0-7) system przerwań współdzielnych zapewniający poprzez maskowanie możliwość zmian domyślnych parametrów
Procesor ARM7 posiada następujące cechy - wskaż poprawną odpowiedź:
Posiada 32-bit CPU typu RISK oraz model zgodny z architekturą Harvard
obsługuje następujące wyjątki: IRQ, FIQ, UNDEFINED, SWI, które są nadrzędne wzg. programu głównego
Pracuje w trybach ARM lub Thumb, w których rozkazy zakodowane są na 32 bitach, dostępna jest pełna lista rozkazów oraz mogą przyjmować większą liczbę parametrów
Wykonywanie programu odbywa się w potoku 5 stopniowym. Znaczy to tyle że podczas jednego cyklu zegarowego jednocześnie wykonywane są cztery czynności wykonywanej bieżącej instrukcji cykl pobierania rozkazu, dodawanie rozkazu, wykonywanie rozkazu, zwiększanie licznika rozkazu.
Mikrokontroler AT91SAM7 z rdzeniem ARM7 to:
procesor CISC zbudowany w architekturze równoległej (Harvard)
procesor RISC zbudowany w architekturze szeregowej (von Neumann)
procesor CISC zbudowany w architekturze szeregowej (von Neumann)
procesor RISC zbudowany w architekturze równoległej (Harvard)
Procesor ARM 7 posiada podobnie jak procesor DSP przesuwnik bitowy, który realizuje - wskaż błędną odpowiedź:
przesunięcie logiczne, arytmetyczne oraz rotacje użytego w rozkazie operandu
wykonuje przesunięcie logiczne, arytmetyczne oraz rotacje użytego w rozkazie operandu
umożliwia skalowanie wartości przesunięcia (offsetu) w rozkazach przesłań
służy do skalowania obu argumentów w rozkazach arytmetycznych i logicznych
Wynik operacji zgodnej z arytmetyką stałoprzecinkową Z=X*Y(-0.5 Q15, 0.5 Q15) , wyniesie w zapisie Q15
1010 0000 0000 0000
0010 0000 0000 0000
0100 0000 0000 0000
1100 0000 0000 0000
Przerwania maskowalne sprzętowe są zgłaszane przez układy wewnętrzne mikrokontrolera do systemu przerwań. Przerwaniami maskowalnymi nie są:
układy czasowo-licznikowe (Timers, Counters)
porty szeregowe (UART, USART, SPI, I2C, CAN..)
przetwornik A/C
Reset systemu, dzielenie przez zero błędny kod rozkazu
Jednostka centralna ARM 7: ?????
Posiada rejestr stanu CPSR i 6 rejestrów pomocniczych SPSR dla wyjątków obsługiwanych przez rdzeń. Rejestry SPSR nie są dostępne w trybie USER
Podwójny bufor magistrali adresowej umożliwiający schemat dostępu do pamięci Read-Modify-Write
Posiada równoległą mnożarkę 32x32 wykonującą operacje na liczbach U2
Rejestry ogólnego przeznaczenia podzielone są na dwie grupy po 16 rejestrów od R0 do R15, w których R15 pełni funkcje PC a R14 funkcje LR
Ścieżka danych procesora VLIW danych odpowiada za wykonywanie faktycznych obliczeń. Na przykładzie procesora DSP ścieżka danych zawiera:
R0-R15, ALU, FPU
Pamięć wbudowaną o organizacji macierzowej, ACC i ALU
Moduły L, S, M, D
ACC, rejestr skalujący, mnożarkę równoległą oraz pamięć wbudowaną
Wektor przerwań to:
miejsce w pamięci programu gdzie znajduje się rozkaz skoku do innego miejsca w pamięci programu gdzie jest zlokalizowana procedura programu
tablica zawierająca adresy źródeł przerwań maskowalnych i niemaskowalnych
tablica zawierająca adresy źródeł przerwań sprzętowych oraz programowych
tablica przerwań umieszczona w alokacji pamięci zdefiniowanej przez programistę służącą do nawiązania adresy przerwania z jego obsługą
Cykl rozkazowy procesora jest ciągiem czynności wykonywany przez CPU w celu wykonania jednej instrukcji przez procesor. Cykl rozkazowy procesora CISC na przykładzie x86 składa się:
faza EXECUTE - wykonywanie operacji arytmetycznej lub logicznej z jednoczesnym zapisem wyniku do rejestru lub pamięci
rozkaz zaczyna się od fazy FETCH - pobranie instrukcji, w której wystawiany jest adres z PC do pamięci (CODE) przez bufor MBR
faza READ - odczyt argumentów instrukcji z rejestrów procesora lub z pamięci, wykonywana jest w jednym kroku po którym aktualizowany jest licznik rozkazów PC w celu wykonania skoku do dalszej części programu
faza DECODE - dekodowanie obrazu binarnego instrukcji polega na pobraniu do akumulatora pierwszego bajtu instrukcji (KOD). Procesor w tym momencie dekoduje rozkaz i określa dalszy ciąg czynności (kroków)
Metody synchronizacji potoku w procesorach CISC polegają na:
Stosownie szybkich pamięci do dostępie podwójnym
Grupowanie instrukcji i oznaczeniu ich wzajemnych relacji już na etapie kompilacji programu
Stosowanie dodatkowych szyn obejściowych pełniących rolę pamięci dynamicznej
Wykonywanie wielu rozgałęzień programu do czasu sprawdzenia warunku rozgałęzienia
Prawo Amdahl's mówi o:
wzrost wydajności zależy od szybszego trybu pracy i ograniczony jest czasem używania takiego trybu pracy+1
wzrost wydajności rośnie wraz z nową generacją procesorów
wzrost wydajności zależy od głębokości potoku
wzrost wydajności jest funkcją stosunku częstotliwości pracy rdzenia (rdzeni) do strat mocy
Sytuacja gdy dochodzi do konfliktu w czasie dostępu do lokalizacji operandu. Dwie instrukcje zostaną wykonane kolejno po sobie i obie odwołują się do konkretnej lokalizacji w pamięci rejestru operandu
Control dependences
Data hazards +
True data dependences
Control hazard
WAR (write after read) - INSTRb próbuje zapisu do lokalizacji docelowej zanim ISTRa odczyta z tej lokalizacji, INSTRa niepoprawnie odczytuje nową wartość. Hazard ten jest wynikiem:
Antidependence+1
Output dependence
Control dependence
True data Dependence
Przedstawiony model pamięci dotyczy:
mikrokontrolery ARM Cortex-M4+1
mikrokontrolera SAM7 z rdzeniem ARM 9
mikrokontrolera SAM7 z rdzeniem ARM 7
mikrokontrolery ARM Cortex-A0
Cykl rozkazowy procesora CISC na przykładzie x86 składa się:
Faza EXECUTE - wykonanie operacji arytmetycznej lub logicznej z jednoczesnym zapisem wyniku do rejestru lub pamięci
Rozkaz zaczyna się od fazy FETCH - pobieranie instrukcji, w której wstawiany jest adres z PC do pamięci (CODE) przez bufor MBR
Faza READ - odczyt argumentów instrukcji z rejestrów procesora lub pamięci, wykonania jest w jednym kroku po którym aktualizowany jest licznik rozkazów PC w celu wykonania skoku dalszej części programu
Faza DECODE - dekodowanie obrazu binarnego instrukcji polega na pobraniu do akumulatora pierwszego bajtu instrukcji (KOD), Procesor w tym momencie dokonuje rozkaz i określa dalszy ciąg czynności (kroków).
WAR (write after read) - INSTRb próbuje zapisu do lokalizacji docelowej zanim INSTRa odczyta z tej lokalizacji INSTRa niepoprawnie odczytuje nową wartość. Hazard ten jest wynikiem:
True Data Dependence
Control dependence
Output dependence
Antidependence
Rdzeń ARM 7 posiada podobnie jak procesor DSP przesuwnik bitowy, który realizuje - wskaż błędną odpowiedź:
Przesunięcia logiczne, arytmetyczne oraz rotacje użytego w rozkazie operandu
Wykonuje przesunięcia logiczne, arytmetyczne oraz rotacje użytego w rozkazie operandu
Umożliwia skalowanie wartości przesunięcia (offsetu) w rozkazach przesłań
Służy do skalowania obu argumentów w rozkazach arytmetycznych i logicznych
Stronicowanie pamięci wirtualnej w procesorach i486
Każde odwołanie do wirtualnego adresu pamięci powoduje jego przetłumaczenie na adres fizyczny za pomocą adresu logicznego
Mechanizm stronicowania występuje w trybie rzeczywistym i chronionym, obsługiwany jest za pomocą jednostki stronicującej "paging unit"
Inicjacja stronicowania polega na ustawieniu bitu PG w rejestrze CR0
Rozmiar i numer strony zakodowany jest w adresie logicznym, strona zapisywana jest w nieobsadzonym 4kB obszarze pamięci dysponowanej.
