TEORIA
Znaczenia poszczególnych rozkazów:
NOP - ten rozkaz robi to samo co Ty w trakcie sesji... czyli NIC
CJNE - wykonuje skok jeśli zostanie spełniony określony warunek
DJNZ - zmniejsza wartość o 1, sprawdza czy zródło jest równe 0, jeśli nie to wykonywany
jest skok do danej etykiety
DEC - zmniejsza o 1
INC - zwiększa o 1
ADD - dodaj zawartość zródła do akumulatora
MOV - przypisanie wartości
LJMP - wykonuje skok do etykiety
1. Definicje podstawowych pojęć
Rejestr specjalny - rejestry specjalne, określające stan wykonania, wśród nich wymienić
można rejestr wskaznika instrukcji, wskaznik stosu, rejestr flag procesora,
Rejestr roboczy - inaczej rejestr pomocniczy służący do przechowywania danych
pomocniczych lub do przechowywania wyników operacji cząstkowych.
DPTR - jest 16-bitowym rejestrem używanym przy adresowaniu zewnętrznych pamięci
danychoraz przenoszenia (MOVC) w ramach pamięci
Akumulator - rejestr bezpośrednio współpracujący z ALU (stanowi zródło i rejestr wynikowy
dla operacji arytmetycznych i logicznych)
Dekoder rozkazów - Tutaj dany rozkaz jest dekodowany, czyli określany zostaje rodzaj
rokazu. Innymi słowy tutaj procesor dekoduje rozkaz i "myśli" jak ten rozkaz wygląda i co z
nim dalej zrobić. Na tej podstawie układ sterowania wytwarza odpowiednie sygnały sterując
Licznik rozkazów - jest rejestrem procesora przechowującym informację o tym, w którym
obecnie miejscu sekwencji instrukcji znajduje siÄ™ procesor
ALU - układ kombinacyjny, wykonujący na danych w rejestrach operacje arytmetyczne (np.
suma, różnica) oraz logiczne (np. OR, AND)
Sygnał zegarowy - sygnał niezbędny do poprawnego działania mikroprocesora który
wyznacza szybkość jego pracy
Stos - liniowa struktura danych, w której dane dokładane są na wierzch stosu i z
wierzchołka stosu są pobierane
Wskaznik stosu - służy do wskazywania szczytu stosu
Układ czasowo-licznikowy - układ zawierający dwa 16 bitowe liczniki T0 i T1. Mogą one
zliczać impulsy zewnętrzne działając jako licznik. Mogą również zliczać impulsy zegarowe
wewnętrzne w celu odmierzenia opóznienia czy generowania przerwań zegarowych, pełniąc
w ten sposób funkcje czasomierza.
ROM - (ang Read Only Memory) pamięć tylko do odczytu
PROM - (ang. Programmable ROM), programowalna pamięć ROM
EPROM - (ang. Erasable Programmable ROM) wymazywalna, programowalna
pamięć ROM
EEPROM - (ang. Electrically Erasable and Programmable ROM) wymazywalna
elektrycznie, programowalna pamięć ROM
Tryby adresowania
Adresowanie przez nawÄ™ rejestru dotyczy:
Rejestrów roboczych R0...R7 ze wskazanego zbioru
RS0=00 zbiór 0, adresy 0...7
RS0=01 zbiór 1, adresy 8...15
Itd aż do adresów 24...31
Akumulatora A - rejestr specjalny o adresie 224.
Wskaznika danych DPTR - rejestry specjalne DPH i DPL adresy 131 i 130
Adresowanie bezpośrednie obejmuje:
Pamięć użytkową RAM 0...127
Obszar rejestrów specjalnych 128...255
Adresowanie bezpośrednie bitów obejmuje:
Obszar pamięci użytkowej ROM o adresach 32...47
Specyfikacja mikrokontrolera 8051
ośmiobitowa jednostka arytmetyczno-logiczna (ALU)
cztery przełączane banki rejestrów roboczych (4 x R0...R7)
4 kB pamięci wewnętrznej ROM (pamięć zewnętrzna ROM do 64 kB)
128 B pamięci wewnętrznej RAM (pamięć zewnętrzna RAM do 64 kB)
zbiór rejestrów specjalnych SFR
układ generatora sygnału taktującego (czyli zegar procesora)
cztery ośmiobitowe równoległe porty P0...P3
jeden port szeregowy (obsługuje zarówno transmisję synchroniczną jak i asynchroniczną)
dwa liczniki/czasomierze działające w jednym z czterech trybów
jednobitowy procesor funkcji logicznych
system przerwań z układem priorytetów
Architektura procesora wspólne określenie najważniejszych z punktu widzenia budowy i
funkcjonalności cech procesora.
W zależności od sposobu przechowywania danych i rozkazów przez mikroprocesor możemy
wyróżnić:
Architektura von Neumanna pierwszy rodzaj architektury komputera, opracowanej
przez Johna von Neumanna, Johna W. Mauchly ego oraz Johna Presper Eckerta w 1945 roku.
Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z
instrukcjami, co sprawia, że są kodowane w ten sam sposób.
Zmodyfikowana architektura harwardzka - znana również jako architektura mieszana,
Å‚Ä…czy w sobie cechy architektury harwardzkiej i architektury von Neumanna. Oddzielone
zostały obszary pamięci na dane i rozkazy, lecz wykorzystują one wspólne magistrale danych
i adresową. Niniejsza architektura umożliwia łatwe przesyłanie danych pomiędzy
rozdzielonymi pamięciami. Przykładem wykorzystania zmodyfikowanej architektury
harwardzkiej jest rodzina mikrokontrolerów 8051.
Architektura harwardzka rodzaj architektury komputera. W odróżnieniu od architektury
von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów
Kolejny podział architektury wynika ze złożoności wykonywanych instrukcji:
CISC (ang. Complex Instruction Set Computer) mikroprocesor ma bogaty zestaw instrukcji
o dużych możliwościach, CISC charakteryzowała się występowaniem złozonych rozkazów
wymagających wielu cykli zegara, szeroką gamą trybów adresowania, dekoder rozkazów był
skomplikowany
RISC (Potokowa) (ang. Reduced Instruction Set Computer) ma prostszy i mniejszy zestaw
instrukcji, Ówczesne procesory (budowane w architekturze CISC) charakteryzowały się
bardzo rozbudowaną listą rozkazów, ale - jak wykazały badania - statystycznie tylko nieliczna
ich część była wykorzystywana w programie. Dlatego pojawiła się architektura RISC w której
liczbe rozkazów zredukowano do niezbędnego minimum. Zredukowano również tryby
adresowania co uprościło kody rozkazów. Uprośiło to również dekoder rozkazów. Pojawiła się
większa liczba rejestrów a ograniczono natomiast komunikacje pomiędzy pamięcią a
procesorem
VLIW (ang. Very Long Instruction Word) pozwala na Å‚Ä…czenie wielu prostych instrukcji w
jeden wielki opcode,
MISC (ang. Minimal Instruction Set Computer) posiada minimalny zestaw instrukcji,
ZISC (ang. Zero Instruction Set Computer) ma zerowy zestaw instrukcji.
Planarna technologia - technologia wytwarzania przyrządów półprzewodnikowych
(układów scalonych, tranzystorów, diod i in.), w której wszystkie procesy prowadzące do
uzyskania struktur tych przyrządów odbywają się na jednej stronie (powierzchni) płytki,
stanowiącej ich podłoże i wykonanej z materiału półprzewodnikowego (półprzewodniki).
Najbardziej charakterystyczną cechą przyrządów półprzewodnikowych wytwarzanych t.p. jest
dostępność od tej samej strony przyrządu do wszystkich obszarów struktury istotnych dla
jego działania
Schemat blokowy mikroprocesora wraz z omówieniem:
Mikroprocesor dzielimy na dwa elementy: jednostkÄ™ wykonawczÄ… (EU) i jednostkÄ™ sterujÄ…cÄ…
(CU). Zadaniem jednostki EU (execution unit) jest przetwarzanie informacji, czyli
wykonywanie wszelkich operacji arytmetycznych i logicznych. Rodzaj wykonywanych
operacji zależy od wewnętrznych sygnałów sterujących wytwarzanych przez jednostkę
sterującą CU. W skład jednostki wykonawczej wchodzi jednostka ALU oraz współpracujący
z nią zestaw rejestrów. Informację wejściową części wykonawczej są DANE a informacją
wyjściową jest WYNIK.
W skład CU wchodzą:
·ð IR - rejestr rozkazów
·ð DEK - dekoder rozkazów
·ð UkÅ‚ad sterowania
W IR przechowywany jest kod aktualnie wykonywanego rozkazu. Kody rozkazów pobierane
są do IR z pamięci. Po pobraniu kodu z pamięci, kod jest dekodowany w DEK, czyli jest
określane, jakiego rozkazu kod znajduje się w DEK. Na tej podstawie układ sterowania
wytwarza zewnętrzne i/lub wewnętrzne sygnały sterujące, realizujące dany rozkaz.
Omówienie cyklu rozkazowego
Faza pobrania polega na pobraniu kodu rozkazu z komórki pamięci o adresie
przechowywanym w liczniku rozkazów, a następnie na umieszczeniu tego kodu w rejestrze
rozkazów znajdującym się w układzie sterowania mikroprocesora. Kod rozkazu przesyłany
jest do mikroprocesora magistralą danych. Następnie zawartość licznika rozkazów jest
modyfikowana tak, aby wskazywał on na kolejny kod rozkazu przeznaczony do pobrania. Po
zakończeniu fazy pobrania następuje faza wykonania. Polega ona na zdekodowaniu kodu
rozkazu znajdującego się w rejestrze rozkazów, czyli stwierdzeniu, jaki to rozkaz. Po
zdekodowaniu kodu rozkazu układ sterowania wytwarza wewnętrzne i/lub zewnętrzne
sygnały sterujące realizujące dany rozkaz.
Omówienie wektorów przerwań
Wektor przerwań działa na tej zasadzie że w W chwili, gdy dane urządzenie peryferyjne
wymaga obsługi, zgłasza ten fakt do mikrokontrolera poprzez przerwanie. W efekcie
następuje zawieszenie wykonywania aktualnej operacji i przejście do procedury obsługi tego
przerwania. Jeśli teraz nastąpi żądanie od innego urządzenia, to gdy ma ono wyższy priorytet
od bieżącego może nastąpić kolejne zawieszenie wykonywanej operacji i przejście do obsługi
przerwania o wyższym priorytecie. Jeśli priorytet drugiego urządzenia jest niższy, to musi ono
czekać do momentu zakończenia obsługi urządzenia o wyższym priorytecie. Skok do
procedur obsługi odbywa się zawsze ze śladem (adres powrotu odkładany na stosie). Po
zakończeniu działań sterowanie jest przekazywane do miejsca, w którym wystąpiło żądanie
obsługi. W ten sposób uzyskuje się wrażenie jednoczesnego, niezakłóconego funkcjonowania
wielu asynchronicznych urządzeń.
Mikroprocesory sygnałowe
Mikroprocesor sygnałowy, procesor DSP (DSP, ang. Digital Signal Processor) klasa
specjalizowanych procesorów do cyfrowej obróbki sygnałów. Ich budowa charakteryzuje się
posiadaniem osobnych obszarów pamięci przeznaczonych tylko dla programu i tylko dla
danych (architektura harwardzka), możliwością równoczesnego pobierania instrukcji
programu i danych, sprzętowym wykonywaniem prostych i zaawansowanych operacji
występujących najczęściej przy przetwarzaniu sygnałów (np. filtracji FIR i IIR, transformacji
Fouriera, korelacji wzajemnej) oraz potokowym przetwarzaniem instrukcji.Procesory DSP
pojawiły się jako odpowiedz na praktyczne zapotrzebowanie układów w zastosowaniach
elektroniki przemysłowej.
Zadania obliczeniowe z liczeniem cykli oraz czasów opoznien:
1. Obliczyć ilość cykli realizowanych przez program
2. Obliczyć opóznienie czasowe realizowane przez program oraz ilość cykli
3. Obliczyć opóznienie czasowe realizowane przez program oraz ilość cykli
4. Dobrać nastawy rejestrów R0 i R1 wykorzystanych w programie mając podane opóznienie
czasowe całego programu T oraz fxtal.
5.
Zadania z wyswietlaczem 7 segmentowym:
Ważne:
* Dla połączenia WK (wspólna katoda) zapalenie segmentów odbywa się za pomocą "1"
* Dla połączenia WA (wspólna anoda) zapalenie segmentów odbywa się za pomocą "0"
1.
2.
Zadania z timerami:
Przykład1.
Timer T0 pracuje w trybie 01 bez bramkowania. Przy standardowym ustawieniu dzielnika pętli PLL
oraz T=10ms oblicz wartość początkową rejestrów licznika WP tak, aby odmierzyć potrzebny czas T
pomiędzy kolejnymi przerwaniami od timera AduC845
Standardowo PLL czyli dla ADuC845 t=0,63us
T=10ms
N=T/t = 15873
dla trybu 01 bierzemy 2^16=65535
WP=65535-15873=49662
Przykład2.
Timer T0 pracuje w trybie 01 bez bramkowania. Mamy dane fxtal=6MHz oraz T=60ms. Oblicz wartość
początkową rejestrów licznika WP aby odmierzyć potrzebny czas T pomiędzy kolejnymi przerwami od
timera dla uC8051.
fxtal=6mHz
t=12/fxtal=2us
T=60ms
N=30000
WP=65535-30000=35535
Wyszukiwarka
Podobne podstrony:
1 Teoria Gier i Decyzj wersja robocza cz 1SCIAGA TEORIA PTM REV BTEORIA PTM REV Bwykład 4 [inna wersja]pawlikowski, fizyka, szczególna teoria względnościTeoria i metodologia nauki o informacjiplan nauczania technik informatyk wersja 1teoria produkcjiBHP styczeń 2011 odpowiedzi wersja xAM zaliczenie 4 styczeń 2012 i odpowiedzi wersja AInstrukcja Programowania Zelio Logic 2 wersja polskastrategia podatkowa wersja skrocona 9więcej podobnych podstron