06_06.pdf

(345 KB) Pobierz
152728919 UNPDF
Mikrokomputery
Mikroprocesor
a co to takiego?
część 1
Był początek lat siedemdziesiątych, gdy
mnie, małoletniemu pacholęciu, wpadł do ręki
numer bodaj “Horyzontów Techniki”. Jeden z arty−
kułów był poświęcony mi.. mi.., o! mikroproce−
sorowi. Nie pamiętam treści artykułu, zapa−
miętałem natomiast rysunkowy żart stanowiący
doń ilustrację. Otóż dwóch naukowców − poważnych
panów ze staromodnymi bródkami, przechadzając
się po parku, natyka się na kopiaste mrowis−
ko, z którego startuje rakieta kosmiczna. Je−
den z nich wykrzykuje do drugiego: już wiem,
gdzie zgubiłem swój mikrokomputer!
Od tamtego zdarzenia minęło może dwa−
dzieścia kilka lat, a ten żart pomału zaczyna
się materializować − dziś, może nie mrówki, ale
bardzo młodzi ludzie mogą realizować projekty
o wręcz kosmicznym poziomie zaawansowania
− a wszystko to za sprawą niewielkiej krzemo−
wej kostki, w której zaklęto metody i sposoby
odpowiedzi na zadawane jej pytania. Niegdyś
nazywano komputery mózgami elektronowymi −
 taka nazwa od początku budziła szacunek
i podziw − niektórych wręcz rzucała na kolana.
Jednak do mózgu, tego, który przychodzi nam
nosić w głowie, bardzo mu daleko.
Tymczasem w mikroprocesorach tak na−
prawdę nie ma nic tajemniczego. Zrozumieć
działanie mikroprocesora, a nawet go zapro−
gramować, może dosłownie każdy. Nie potrze−
ba do tego wielkiej wiedzy − trzeba natomiast
nieco przestawić swój sposób myślenia .
Chcę to uzmysłowić na przykładzie: co−
dziennie rano budzisz się ze snu i ubierasz się.
To oczywiste i proste − zupełnie się nie zasta−
nawiasz, co masz po kolei zrobić, nawet, gdy
jesteś zaspany po “rozrywkowej” nocy, prawie
nigdy nie zdarza ci się założyć koszuli na swe−
ter. Pomyśl jednak − wykonujesz pewien ciąg
elementarnych czynności, czyli realizujesz pe−
wien program zapisany w twojej pamięci. Ty
się tego nauczyłeś i o tym pamiętasz; nie mu−
sisz już zatrudniać swojej świadomości. W cza−
sie wykonywania tego programu pewne kroki
realizujesz bezwarunkowo, podejmujesz też de−
cyzje zależne od warunków zewnętrznych, poza
tym niejednokrotnie realizujesz taki sam ciąg
czynności − nazwijmy go podprogramem lub
procedurą.
Rozłóżmy więc twoje poranne wstawanie na
składniki: otwierasz oczy, chwilę (?) leżysz, zie−
wasz, siadasz na łóżku, przeciągasz się,
opuszczasz... oczywiście prawą nogę, opusz−
czasz lewą nogę, wstajesz, znowu ziewasz, za−
stanawiasz się czy się trochę nie pogimnasty−
rys. 1).
I tu pokazuję ci klucz do zrozumienia mikro−
procesora: jego działanie polega na wykonywa−
niu wielu naprawdę prostych czynności. Okazu−
je się bowiem, że każde, nawet najbardziej
skomplikowane zadanie można przedstawić ja−
ko złożenie pewnej liczby bardzo prostych kro−
ków. Z kolei mikroprocesor czy mikrokomputer
potrafi wykonywać tylko bardzo proste czyn−
ności i obliczenia, które nazywamy rozkazami.
Daleko mu więc do mózgu, za to jest pioruńsko
szybki.
Programowanie polega więc na zapisaniu
ciągu czynności, jakie potrafi mikroprocesor
wykonać, a takie czynności nazywane są rozka−
zami albo instrukcjami .
Mikroprocesor to maszyna, która wykonuje
rozkazy. Pobiera rozkaz i natychmiast przystę−
E LEKTRONIKA DLA WSZYSTKICH 6/96
49
kować − podejmujesz jednak decyzję: NIE, bo
jest zbyt zimno. Pomijasz podprogram “gim−
nastyka poranna” i realizujesz podprogram
“droga do łazienki”, na który składają się kroki
w kierunku łazienki, chwycenie klamki, otwar−
cie drzwi, wejście, zamknięcie drzwi. Gdy jes−
teś w łazience nadal wykonujesz mnóstwo ele−
mentarnych czynności, które w sumie składają
się na dość duży program pt. “poranne wsta−
wanie” (rys. 1
rys. 1
152728919.017.png
Mikrokomputery
Rys. 1. Treść zapisów może śmieszyć, jednak i tu zawiera się głębsza
myśl. Te czwotokąty tworzą algorytm , który jest graficznym przedstawie−
niem toku postępowania w celu wykonania jakiegoś zadania. W prostoką−
tach zawieramy pewne czynności, które uznajemy już za niepodzielne na
danym poziomie rozumowania. Gdy jednak chcemy je uszczegółowić,
wytwarzamy na boku kolejny ciąg czynności, jeszcze bardziej elementar−
nych. Proces taki nazwiemy zagnieżdżaniem algorytmu, a metoda
układania algorytmu w taki sposób jest nazywana metodą zstępującą . Naj−
pierw układamy algorytm ogólny, który przedstawia kilka bloków funkcjo−
nalnych, a potem każdy z nich zaczynamy rozpisywać na coraz prostsze
operacje. Ten proces zagnieżdżania możemy prowadzić w nieskończoność.
Dla naszego przykładu: opisujemy naciśnięcie klamki poprzez skurcze
kolejno uruchamianych mięśni.
Zapisz więc, w ramach ćwiczenia mikroprocesorowego myślenia, ciąg
czynności dla podprogramu “Gimnastyka poranna” i “Toaleta osobista”.
Jeśli zrobisz to uczciwie, z kilkoma poziomami zagnieżdżeń, to zobaczysz,
że kartka papieru będzie za mała dla pomieszczenia całego algorytmu.
Przy okazji poznajemy umowne znaki graficzne, służące do zapisu
elementów algorytmu. Realizowane czynności umieszczamy w prostoką−
tach, w owalach przyjęło się zapisywać początek i koniec algorytmu, przy
czym w owalu początkowym piszemy, czego dotyczy ten algorytm. To
później nam ułatwi analizę poprawności działania algorytmu i odszukiwa−
nie powiązań z innymi algorytmami. Przejścia pomiędzy blokami,
narysowane strzałkami, tworzą ścieżkę logiczną programu. Interesującym
blokiem jest romb − bloki warunkowego rozgałęzienia ścieżki logicznej
programu. Sformułowanie weń wstawiane jest przeważnie pytaniem, na
które można odpowiedzieć dwojako: tak albo nie. Zależnie od odpowiedzi
program obiera jedną z dróg dalszej realizacji.
puje do jego wykonania. Skąd pobiera? Z pa−
mięci! W każdym systemie mikroprocesoro−
wym musi być jakaś pamięć. My też pamięta−
my o każdej czynności, jeśli idziemy do łazien−
ki, ale tego sobie nie uświadamiamy.
No tak, ale system zawierający “goły” mik−
roprocesor i pamięć pracowałby sam dla sie−
bie, czyli poza zużywaniem energii potrzebnej
do realizacji rozkazów nic innego nie potrafiłby
zrobić. Trzeba więc dodać jakieś usta, uszy:
nazwijmy je wrotami lub z angielska − portem.
Za pomocą portów kostka mikroprocesora kon−
taktuje się ze światem zewnętrznym. Wpiszmy
jeszcze, lub mówiąc mikroprocesorową nowo−
mową − zaimplementujmy do mikroprocesora
metody komunikacji z różnego rodzaju porta−
mi.
Sygnał zegarowy może być wytworzony w samej kost−
ce mikroprocesora, jest to cecha większości mikrokont−
rolerów jednoukładowych. Producent takiego układu wy−
dziela wtedy końcówki, do których można podłączyć rezo−
nator kwarcowy czy ceramiczny. Te same końcówki mogą
też przyjmować sygnał zegarowy spoza układu, z innego,
zewnętrznego generatora. Rezonator kwarcowy daje syg−
nał o dużej stabilności, nieco gorszą stabilnością cha−
rakteryzuje się układ z rezonatorem ceramicznym. Kiedy
zależy nam na precyzyjnym odmierzaniu czasu, z pewnoś−
cią zegar zbudowany na kwarcu ma uzasadnienie. Jed−
nak zegar może mieć częstotoliwość znaną tylko orienta−
cyjnie, np. układ może wyłączać lampkę na biurku po
dwóch minutach ±3s. Wystarczy więc w miejsce kwarcu
wlutować prosty układ RC. Współczesne mikrokontrolery
jednoukładowe to zapewniają, ale po szczegóły musimy
sięgnąć do katalogu. Na rysunku pokazano trzy typowe
sposoby podłączeń oscylatorów do mikrokomputera jed−
noukładowego.
Bardziej skomplikowane mikroprocesory, szczególnie
te 16−bitowe i silniejsze, wymagają osobnego układu ze−
gara. Nierzadko taki zegar musi spełniać ostrzejsze wy−
magania niż to było w przypadku mikrokontrolerów jednoukładowych, a szczególnie zwraca się
w nim baczniejszą uwagę na stabilność częstotliwości sygnału, dopuszczalne nachylenia zbo−
czy generowanej fali prostokątnej. Musimy wiedzieć, że sygnał fali prostokątnej występuje tyl−
ko w teorii, to ideał, w praktyce zawsze dopatrzymy się pewnego czasu potrzebnego na zmia−
nę poziomu napięcia
z niskiego na wysoki
i odwrotnie. Czas po−
trzebny na zmianę z po−
ziomu niskiego na wy−
soki nazywamy czasem
narastania ( rise time ),
zaś czas potrzebny na
zmianę sygnału z pozio−
mu wysokiego na niski
to czas opadania ( fall ti−
me ). Oba te czasy zna−
ne są też pod wspólną nazwą czasów trwania zboczy. Im te czasy są dłuższe, to mówimy, że
zbocza posiadają coraz mniejsze nachylenie i fala prostokątna coraz bardziej przypomina
przebieg trapezowy.
Podajmy skrajny przykład. Układy zegarowe produkowane z myślą o procesorze Pentium
muszą zapewnić sygnał zegarowy o czasach trwania zboczy rzędu kilkudziesięciu ps! (1ps
= 1 pikosekunda = 10 −12 s = 0.000001µs, 1µs trwa okres przebiegu o częstotliwości 1MHz)
I tak oto stworzyliśmy mikrokomputer! I jeś−
li nawet piejesz z zachwytu nad możliwościami
współczesnych mikrokomputerów, to pamiętaj,
że mikrokomputer zawsze składa się z mikro−
procesora, pamięci i portów . Resztę stanowią
dodatki “uszlachetniające” cały wyrób.
Ten wstęp ma pokazać, że mikroprocesor
jest maszyną niewiele bardziej skomplikowaną
od tokarki (tokarka ma uchwyt, suport i łoże,
a reszta to dodatki “uszlachetniające” wyrób)
czy samochodu (samochód ma koła, hamulce
i silnik, a reszta to dodatki “uszlachetniające”
wyrób). Mikroprocesor − to ta straszna nazwa
powoduje, że wielu zapalonych elektroników
nie sięga po rozwiązania mikroprocesorowe,
pozostając przy tradycyjnym rozwiązaniu hard−
ware'owym. Wynika to ze strachu przed tabu.
A to jest zwykła zabawka, no może trochę naro−
wista, ale jednak zabawka, jedna z tych, jakimi
nam, dzieciom cywilizacji końca XX wieku, przy−
szło się bawić. W swojej zawodowej pracy tak
uzależniłem się od mikroprocesorów, że nawet
proste funkcje wolę zrobić na malutkim proce−
sorku insektowym niż kombinować z układem
bramek, przerzutników i liczników. Już przy nie−
wielkiej wprawie w posługiwaniu się mikropro−
cesorami ich “giętkość”, łatwość zmiany całe−
50
E LEKTRONIKA DLA WSZYSTKICH 6/96
152728919.018.png 152728919.019.png 152728919.020.png 152728919.001.png 152728919.002.png 152728919.003.png 152728919.004.png 152728919.005.png 152728919.006.png
 
Mikrokomputery
Jeszcze nie tak dawno, kiedy mikroprocesory posiadały słowo co najwyżej 8−bitowe, obok
nich spokojnie egzystowały układy mikroprogramowane jako osobne układy scalone. Układ
mikroprogramowany wymaga zewnętrznej pamięci ROM, w której były zapisane mikroinstruk−
cje, tworzące mikroprogram. Taka mikroinstrukcja zawierała kod bardzo prostej czynności,
z reguły były to sygnały zezwolenia na te czynności, ewentualny adres następnego rozkazu,
czasem kilka bitów reprezentujących stany warunkowe. Z chwilą, gdy mikroprocesory stawały
się coraz tańsze i gwałtownie zaczęły rosnąć ich możliwości, zaniechano produkcji pojedyn−
czych układów mikroprogramowanych. Układy mikroprogramowane nadal są, stały się frag−
mentem... mikroprocesorów. Właściwie bez nich nie można byłoby dekodować instrukcji przy−
chodzących do mikroprocesora. Pamięć mikroprogramu też została scalona w strukturze mik−
roprocesora i teraz cały układ mikroprogramowany nazwiemy dekoderem rozkazów.
instrukcji, pora więc na coś, co będzie wykony−
wać instrukcje, tak pracowicie zdekodowane
przez naszego “bosmana”. Pora na
“marynarzy”, czyli elementy wykonawcze. Jed−
nym z nich jest jednostka arytmetyczno−logicz−
na.
Jednostka arytmetyczno−
logiczna
Kapitan każdego statku zawsze ma potrze−
bę wiedzy o swoim położeniu. Do tego celu za−
trudnia on nawigatora, który dba nie tylko
o prawidłowe obliczenie obecnej pozycji stat−
ku, ale również wykreśla kurs, przelicza czas
osiągnięcia celu przy danej prędkości itd. Pra−
cę nawigatora można było szczegółowo prześ−
ledzić na filmie “Polowanie na Czerwony Paź−
dziernik”, kiedy okręt płynął przez podwodny
korytarz według kursu zmienianego co do se−
kundy.
I u nas też jest potrzebny taki rachmistrz.
Rolę rachmistrza w mikroprocesorze pełni jed−
nostka arytmetyczno−logiczna ALU ( Arithmetic
Logic Unit ). Wykonuje ona wszystkie operacje
arytmetyczne (dodawanie, odejmowanie, mno−
żenie, dzielenie) oraz logiczne (suma logiczna,
iloczyn logiczny, przesunięcia bitowe). Zasad−
niczo jednostka arytmetyczno−logiczna jest
układem niezależnym od zegara. Zawiera ona
w sobie sumator, subtraktor (układ odejmują−
cy), multiplikator (układ mnożący), układ dzie−
lący, układ do wykonywania operacji logicznych
i rejestr przesuwny. W prostych mikroproceso−
rach, zwłaszcza współczesnych małych mikro−
kontrolerach jednoukładowych układ mnożący
i dzielący mogą być nieobecne, dlatego w nich
mnożenie i dzielenie musi być realizowane pro−
gramowo.
Jednostką ALU zawiaduje dekoder rozka−
zów, który najpierw ustawia rodzaj operacji,
wprowadza argument bądź argumenty operacji
na jej wejście, a potem odbiera wynik na wy−
jściu.
Z jednostką arytmetyczno−logiczną jest
ściśle związany element pamiętający, który
stanowi ciąg przerzutników, a nazywany jest re−
jestrem. Rejestr roboczy jednostki arytmetycz−
no−logicznej nazywany jest akumulatorem. Za−
wartość akumulatora jest jednym z argumen−
tów operacji arytmetyczno−logicznych i jedno−
cześnie miejscem przechowania wyniku, o ile
kod rozkazu nie stanowi inaczej.
Mirosław Lach
go rozwiązania na inne, staje się zaletą nie do
odrzucenia.
Celem niniejszego artykułu nie jest przed−
stawienie dokładnego opisu konkretnego typu
mikroprocesora, temu służą katalogi firmowe,
lecz ukazanie Czytelnikowi podstawowego
słownictwa oraz mikroprocesorowego elemen−
tarza. Dla zrozumienia materiału wystarczy
podstawowa wiedza z zakresu techniki cyfro−
wej, a ponadto trochę uwagi i wyobraźni.
Zacznijmy od tego, co jest motorem działa−
nia każdego mikroprocesora. Jest nim zegar.
Zegar
A zatem, jako się rzekło, mikroprocesor po−
biera rozkazy i je wykonuje. Kiedy na dużym,
XVIII−wiecznym żaglowcu kapitan dawał rozkaz
do podniesienia żagli, to oznaczało, że trzeba
było wciągnąć na określoną wysokość kilkaset
kilogramów płótna. Żeby było trudniej, żagle
były podnoszone w ściśle określonej kolejnoś−
ci. Nie zrobi tego jeden człowiek, ale grupa lu−
dzi to potrafi. Niezmiernie ważną instytucją na
żaglowcu był szantimen. Człowiek ten zajmo−
wał się śpiewaniem prostych, rytmicznych
pieśni, przy czym tematyka ich nie była tak
ważna, jak właśnie ich rytmiczność. Marynarze
odpowiadali szantimenowi refrenem, jedno−
cześnie zgrywając swoje wysiłki. Jednoczes−
ność tych działań nazywamy synchronizacją
Odpowiednikiem takiego szantimena jest
w mikroprocesorze generator impulsów syn−
chronizujących, który nazwano generatorem ze−
garowym lub krócej zegarem . Ma on wiele
wspólnego ze znanym wszystkim zegarkiem
naręcznym lub zegarem ściennym. Swoim re−
gularnym “tykaniem” wyznacza on początki
okresów czasu, które są przeznaczone do wy−
konania określonych operacji.
Szybciej “tykający” zegar to szybsze wyko−
nywanie operacji. Stąd już prosta droga do uza−
sadnionych zachwytów nad IBM PC z mikropro−
cesorem Pentium taktowanym zegarem
o częstotliwości 100 czy 150MHz. Mikroproce−
sor 8086, czyli ten, który zaczynał tę rodzinę
procesorów, był “napędzany” zegarem 4−
6MHz. W dalszym ciągu nie zmienia to faktu,
że zegar dalej służy do zapewnienia właściwej
kolejności zaprogramowanych czynności.
Dekoder rozkazów
Powtórzmy: mikroprocesor pobiera rozkazy
i natychmiast je wykonuje. Jak bosman wrzesz−
czy na swoich marynarzy i oni rozumieją co do
nich mówi, tak mikroprocesor musi wiedzieć,
jak przetłumaczyć ciąg zer i jedynek przycho−
dzących jako rozkaz na serię pojedynczych
czynności. Do tego służy dekoder rozkazów.
Zanim pojedynczy rozkaz − np. komenda
podniesienia jakiegoś żagla wydana przez kapi−
tana dotarła do marynarzy, po drodze przecho−
dziła przez bosmana. Rozkładał on całą opera−
cję podnoszenia danego żagla na operacje
jeszcze drobniejsze.
Podobnie jest w mikroprocesorze: na każdy
rozkaz składa się kilka jeszcze bardziej ele−
mentarnych czynności − nazywamy je mikroope−
racjami albo mikrorozkazami
Wszystkie rozkazy mikroprocesora pobiera−
ne z pamięci są rozpoznawane przez układ
zwany dekoderem rozkazów. Odpowiada on, ni−
czym bosman na statku, za właściwą kolejność
wykonania mikrooperacji. Wykonanie rozkazu
wymaga kilku, kilkunastu, bywa, że kilkudzie−
sięciu okresów zegara, czyli żeby żagiel został
podniesiony, nasz szantimen musi odśpiewać
ileś zwrotek piosenki, czasem kilka piosenek.
Każdy cykl rozkazowy, znany także jako cykl
maszynowy albo cykl procesora składa się
z kilku taktów zegara. Długość cyklu maszyno−
wego liczona taktami zegara jest dla konkret−
nego typu mikroprocesora stała.
Mamy więc motorek, jakim jest zegar, jest
układ, który odpowiada za poprawną realizację
Cd. ze str. 4
nie) schemat regulatora temperatury:
analogowego lub cyfrowego z wyświet−
laczem LED lub LCD. (...)
Zbyszku, jesteśmy elektronikami nie od
dziś i śmiemy przypuszczać, że sam sche−
mat niewiele ci pomoże. Nie wiemy, do
czego Ci ten regulator jest potrzebny,
czym ma sterować, jaka ma być maksy−
malna temperatura. W serii modułów AVT
opisywanych w Elektronice Praktycznej
możesz znaleźć wszystkie “klocki” do bu−
dowy potrzebnego ci regulatora (seria
AVT−104 i 147).
Możemy opracować w redakcji EdW do−
wolny regulator, wykonamy też płytki, za−
pewnimy części, i to nie tylko dla Ciebie,
lecz i dla innych. Napiszcie więc, kochani
jakiego regulatora się spodziewacie.
Prosty regulator temperatury można wy−
konać na płytce wielofunkcyjnej PW−01,
opisujemy go na stronie 9.
Nie wiemy, gdzie w kraju można kupić
obudowy do wieży “Diora” − w Warszawie
na Wolumenie piszący te słowa kupuje
takowe u p. Czarka z Łodzi.
Zbigniew Świerzewski z Pudliszek pisze:
Od niedawna jestem czytelnikiem mie−
sięcznika “EdW”. Długo szukałem odpo−
wiedniego czasopisma, które potrafi jak
najprościej przyswoić artykuły takim elekt−
ronikom jak ja (amatorom). To fajnie, że
istnieje miesięcznik, który czyta się po
prostu “od deski do deski” i z niecierpli−
wością czeka się na następny numer.
Mam do redakcji “EdW” prośbę. Czy
mógłbym uzyskać od Was (nawet odpłat−
Cd. na str. 59
E LEKTRONIKA DLA WSZYSTKICH 6/96
51
152728919.007.png 152728919.008.png
Mikrokomputery
Adresy i adresowanie
Pojęcie adresu kojarzy się z listem, kopertą
i listonoszem. Dokładnie adresujemy list, po−
nieważ nie znamy innego sposobu wyróżnienia
odbiorcy, tak aby niezawodnie otrzymał on
przeznaczone dlań wieści. Nie wystarczy napi−
sać na kopercie: “Dla sympatycznego pana He−
nia” − trzeba podać nazwę miejscowości, ulicę,
numer domu, ewentualny numer mieszkania.
Rodzajem adresu jest też numer telefonu,
czyli liczba , którą trzeba wybrać za pomocą tar−
czy aparatu telefonicznego.
Co ważne, adres w postaci liczby jest zrozu−
miały dla mikroprocesora! Dla niego adres jest
liczbą określającą jednoznacznie miejsce w pa−
mięci − poszczególne komórki pamięci są więc
ponumerowane. Pamięć ma zwykle organizację
bajtową, to znaczy że pod jednym adresem za−
pisuje się lub odczytuje jednocześnie osiem bi−
tów.
Adresowanie to dla nas, ludzi, napisanie
adresu, czyli wskazanie odbiorcy. Podobnie na−
leży rozumieć tę czynność wykonywaną przez
mikroprocesor. Jednak sposoby adresowania
są najprzeróżniejsze. Kilka z nich (nie wszyst−
kie) przedstawimy poniżej. Na rysunkach linie
przerywane dotyczą wystawiania adresu na szy−
nę adresową, zaś linią ciągłą transmisję po−
trzebnych danych do akumulatora.
Niektóre ze sposobów adresowania mogą
wydać się abstrakcyjne i niezrozumiałe, ale za−
pewniam − są przydatne. Rodzaje adresowań
prześledzimy na przykładzie przesyłania da−
nych do akumulatora.
Adresowanie bezpośrednie
liczby zaczynające się na literę poprzedza się
cyfrą 0.
Adresowanie bezpośrednie polega na zapi−
saniu w kodzie rozkazu adresu komórki pamię−
ci danych (rys. 2
Adresowanie bezpośrednie
[okienko11]
Wspominając o kodzie szesnastkowym mu−
simy powiedzieć o różnych kodach, które spo−
tykamy w technice cyfrowej. Kody liczbowe to
sposób zapisu informacji liczbowej. Jeśli infor−
macja przetwarzana zawiera symbole literowe
i znaki specjalne to taki kod nazwiemy kodem
alfanumerycznym. Inne kody, które służą do
wykrywania błędów i ewentualnego ich usuwa−
nia z informacji przesyłanej na pewną odleg−
łość (np. łączem telefonicznym) nazywają się
kodami korekcyjnymi.
Możemy więc powiedzieć, że kody, jakie
przyjdzie nam spotykać w praktyce mikroproce−
sorowej są zapisem informacji według pewne−
go, ściśle określonego przepisu.
Najbardziej rozpowszechnionymi kodami
liczbowymi są kody naturalne. Znanym wszyst−
kim od przedszkola jest kod dziesiętny. Cały
świat powszechnie go używa. Nie ma w nim nic
ciekawego, ot, dziesięć cyfr i już. Jednak ten
kod ma pewne cechy, które są wspólne dla
wszystkich naturalnych kodów liczbowych. Po
pierwsze, liczba zapisana w kodzie naturalnym
jest ciągiem cyfr, czyli pozycji, z którego każda
cyfra reprezentuje wielokrotność tzw. wagi da−
nej pozycji. W kodzie dziesiętnym waga jest za−
wsze potęgą liczby 10, czyli patrząc od prawej
strony liczby jest 10 0 =1, potem 10 1 =10, na−
stępnie 10 2 =100 itd. Nikt z nas jednak nie za−
stanawia się nad tym.
Każdy kod naturalny ma swoją podstawę.
Podstawą jest podstawa potęgi wagi. W kodzie
dziesiętnym podstawa wynosi 10.
[koniec okienka 11]
rys. 2).
Adresowanie pośrednie
rys. 2
Adresowanie pośrednie polega na zapisa−
niu w kodzie rozkazu adresu komórki pamięci,
w którym znajduje się już właściwy adres (rys.
Adresowanie pośrednie
rys.
Powiedzieliśmy sobie, że rozkazy są pobie−
rane z pamięci, zatem przyszła kolej na omó−
wienie pamięci. Zrobimy to za miesiąc.
Mirosław Lach
3).
Adresowanie rejestrowe jest odmianą ad−
resowania pośredniego i polega na zawarciu
w kodzie rozkazu umownego adresu (lub na−
zwy) rejestru.
Adresowanie indeksowe
Adresowanie rejestrowe
Adresowanie indeksowe jest realizowane
poprzez dodanie do adresu znajdującego się
w kodzie rozkazu zawartości pewnej, wyróżnio−
nej komórki pamięci, tzw. rejestru indeksowe−
go (rys. 4
Adresowanie indeksowe
rys. 4).
Adresowanie natychmiastowe
Adresowanie natychmiastowe polega na
zapisaniu stałej w kodzie rozkazu jako jednego
z argumentów operacji, np. dodania do akumu−
latora liczby 5 (rys. 5
Adresowanie natychmiastowe
rys. 5).
Na rysunku 6
rys. 5
rysunku 6 pokazano przykładową zawar−
tość pomięci programu (zapisanej w EPROMIE)
i pamięci danych (w pamięci RAM).
Należy zwrócić uwagę, że komórki pamięci
programu mogą mieć te same numery adre−
sów, co komórki pamięci danych, a przecież fi−
zycznie są to dwie różne pamięci. Dekoder roz−
kazów “wie”, o którą pamięć chodzi w danym
rozkazie. Jednak nie zawsze pamiętają o tym
początkujący programiści, co może powodo−
wać wiele zamieszania przy analizie działania
programu. Dotyczy to też interpretacji rysun−
ków 2...5.
W informatyce dane i adresy zapisuje się
zwykle w postaci liczby szesnastkowej. Cyfry
liczby szesnastkowej to dziesięć znanych nam
cyfr systemu dziesiętnego oraz litery od A do F,
które reprezentują liczby dziesiętne od 10 do
15. Wagi poszczególnych pozycji liczby szes−
nastkowej to 16 0 =1, 16 1 =16, 16 2 =256 itd.
W celu łatwiejszego wyróżnienia tego zapisu,
rysunku 6
52
E LEKTRONIKA DLA WSZYSTKICH 6/96
Adresowanie bezpośrednie
rys. 2
Adresowanie rejestrowe
rys. 4
152728919.009.png 152728919.010.png 152728919.011.png 152728919.012.png 152728919.013.png 152728919.014.png 152728919.015.png 152728919.016.png
Zgłoś jeśli naruszono regulamin