07_07.pdf

(212 KB) Pobierz
152728920 UNPDF
Mikrokomputery
Kontynujemy artykuł o podstawach
budowy i działania miroprocesorów.
W tym odcinku zajmujemy się
pamięciami.
Mikroprocesor
a co to takiego?
a co to takiego?
część 2
Pamięć
Pamięć jest nieodzownym elementem
każdego systemu mikroprocesorowego,
chociaż fizycznie nie musi ona znajdować
się wewnątrz kostki mikroprocesora.
W systemie mikroprocesorowym pa−
mięć służy do przechowywania rozkazów
(kodu programu), ale też potrzebna jest
jakaś pamięć do przechowywania wyni−
ków obliczeń pośrednich, czy innych da−
nych liczbowych. Dlatego mówimy
o dwóch pamięciach: pamięci programu
pamięci danych .
W ”prawdziwych” komputerach i nie−
których większych sterownikach przemys−
łowych, w pamięci stałej zapamiętany
jest tylko program podstawowy, zwany
czasem monitorem (w PC−tach zwany
BIOS−em). Zapisano w nim procedury ini−
cjujące działanie całego systemu mikro−
procesorowego, podprogramy współpracy
z urządzeniami zewnętrznymi. Natomiast
wykonywany program użytkowy jest łado−
wany z dysku do pamięci zapisywalnej
(RAM) i potem kolejne rozkazy pobierane
są z tej pamięci.
W prostych sterownikach cały program
zapisany jest do pamięci stałej. W takich
sterownikach całkowicie wystarcza pa−
mięć zapisywalna (pamięć RAM) o pojem−
ności dosłownie kilkudziesięciu bajtów.
Przy omiawianiu sprawy pamięci spoty−
ka się tajemnicze terminy, jak: ROM, EP−
ROM, EEPROM czy RAM. Posiadacze ja−
kiegokolwiek komputera orientują się, co
może oznaczać RAM. Znajomy czy kolega,
który też ma do czynienia z komputerami,
zawsze zapyta, ile nasz komputer ma te−
go “megaRAMu”. I tu pada jakaś liczba,
i wprost proporcjanalnie do wartości RA−
Mu rośnie szacunek dla posiadacza ta−
kiego komputera. Rzadko kto pyta, ile
“siedzi” ROMu, EPROMu czy EEPROMu.
Te tajemnicze słowa to skróty angiels−
kojęzycznych zwrotów, które oznaczają
pamięci o określonych cechach.
Pamięć ROM
Pamięć ROM to Read Only Memo−
ry,  czyli jest to pamięć tylko do odczytu.
No dobrze, ktoś zapyta, po co mi taka pa−
mięć, jeśli nie można w niej nic zapisać,
bo tylko się z niej odczytuje. Zapisać
można do niej, jak najbardziej. Zawartość
pamięci ROM nie może być jednak mody−
fikowana w samym systemie mikroproce−
sorowym, czyli w niej nie przechowamy
przetwarzanych danych. Możemy za to
przechowywać nasz program. Pamięć ty−
pu ROM jest pamięcią programowaną
maską. Programowanie maską polega na
takim wytrawieniu połączeń wewnętrznej
struktury pamięci, żeby komórki pamięci
miały trwałe i określone wartości zer i je−
dynek. Robi się to na etapie produkcji pa−
mięci, zanim płyteczka krzemu zostanie
zamknięta w obudowie i połączona z ze−
wnętrznymi kontaktami.
Po co jednak trzymać program i tylko
program w pamięci, która jest taka niewy−
godna, nie może być modyfikowana,
mało tego, może być programowana tylko
u producenta pamięci? Czy nie staje się
Cały proces programowania za po−
mocą maski przypomina po trosze wy−
konanie płytki drukowanej, ale w mik−
roskopijnym wymiarze. Jak na płytce
laminatu jednolicie pokrytego miedzia−
ną folią wytrawiamy połączenia, tak
i tutaj na płytce krzemu pokrytej mikro−
skopijnie cienką warstwą aluminium,
wytrawiamy w tej warstwie układ cie−
niutkich ścieżek.
ona przeszkodą w czasie uruchamiania
systemu mikroprocesorowego?
Najważniejszą z zalet wszystkich pa−
mięci ROM jest nieulotność zapisanych
danych po wyłączeniu zasilania. Takiej
właściwości nie mają pamięci RAM. Mo−
żemy być więc spokojni o nasz program,
nie stracimy go bezpowrotnie. Pewność
przechowywanych informacji w pamięci
ROM dała tym pamięciom inną nazwę −
pamięci stałe . Możemy bowiem przecho−
wywać w nich pewne ustalone dane na
równi z samym programem.
Zbudujmy model pojedynczej komórki
pamięci ROM. Pokazano to na rysunku 7
rysunku 7
Rys. 7. Model komórki pamięci ROM.
E LEKTRONIKA DLA WSZYSTKICH 7/96
51
Mikroprocesor
rysunku 7.
Komórka taka może pamiętać osiem bi−
tów, czyli cały bajt. Sygnał do odczytu ko−
152728920.008.png 152728920.009.png 152728920.010.png 152728920.011.png
Mikrokomputery
Jeśli rezystor jest połączony z emiterem tranzystora, to mówimy, że rezystor jest
rezystorem emiterowym tranzystora albo rezystor znajduje się w obwodzie emitera
tranzystora. Podobnie możemy powiedzieć o rezystorze znajdującym się w obwo−
dzie kolektora czy bazy.
Grupę tranzystorów z rys. 7, które mają wspólne kolektory i wspól−
ne bazy, wykonuje się jako jeden tranzystor o jednym kolektorze
i jednej bazie, za to o tylu emiterach, ilu potrzeba. Taki jeden tranzys−
tor nazywamy tranzystorem wieloemiterowym. Symbol tranzystora
czteroemiterowego jest w tej ramce. Niech już więcej nikogo nie zdzi−
wi symbol takiego tranzystora, kiedy będzie przeglądał schematy we−
wnętrznych struktur układów scalonych.
Wadą pamięci PROM jest ich jednora−
zowość. Układ raz zaprogramowany nie
może być przeprogramowany. Nie pozwa−
lają na to przepalone w sposób nieodwra−
calny oporowe ścieżki komórek pamięci.
Pamięci PROM są to przeważnie pa−
mięci wykonane z tranzystorów bipolar−
nych, czyli są to pamięci bipolarne. Pa−
mięci te nie mogą mieć wielkich pojem−
ności ze względu na znaczną moc pobie−
raną przez komórkę pamięci oraz jej dość
duże rozmiary.
Pamięć EPROM
Kolejną odmianą pamięci PROM jest
wersja wykonana w technologii polowej
MOS. Tranzystor polowy jest mniej ener−
gożerny od tranzystora bipolarnego i do
tego może być mniejszy. W tej technologii
zapis informacji nie polega na
przepalaniu połączeń, lecz opiera się na
zjawisku tunelowego przenikania i
gromadzenia. Tranzystor polowy posiada
dwie bramki, z tego jedna nazywana jest
bramką programującą, bo na nią podaje
się napięcie programujące, zaś druga −
 bramką pływającą, bo została
“zatopiona” w środku izolatora. W bram−
ce pływającej może być gromadzony ładu−
nek, “wtłoczony” przez bramkę programu−
jącą, włączający tranzystor, gdy na na
bramkę programującą podano sygnał od−
czytu. Bez tego ładunku tranzystor nie
może przewodzić, ponieważ napięcie na
bramce programującej w czasie odczytu
jest za niskie. Pokazuje to rysunek 9
mórki, który przyjdzie na bazy tranzysto−
rów jest sygnałem wysokim. Powoduje on
wprowadzenie tranzystorów w stan prze−
wodzenia. W procesie produkcji część
tranzystorów (tych, które mają mieć za−
programowane zera), nie ma wykonanych
połączeń emiterów z rezystorami, co
skutkuje niskim stanem wyjściowym, czy−
li zerem logicznym. Istniejące połączenie
z rezystorem da stan wysoki, czyli na re−
zystorze połączonym z emiterem będzie
potencjał bliski napięciu zasilania.
Do pamięci ROM, która jest programo−
wana u producenta, zapisuje się program
sprawdzony, przetestowany, którego już
nie zamierzamy poprawiać ani ulepszać.
Programowanie maską jest najtańszym
sposobem programowania pamięci, pod
warunkiem, że zamówimy olbrzymią ich
ilość, rzędu dziesiątek i setek tysięcy
sztuk. Na to mogą sobie pozwolić tylko
wielkie montownie komputerów. Dla nas
ten rodzaj pamięci jest więc mało przydat−
ny. Należało go jednak wymienić, ponie−
waż pamięć ROM programowana u produ−
centa funkcjonuje do dziś i stała się pod−
stawą do kolejnych technologicznych mo−
dyfikacji sposobu zapisu do niej, bardziej
przyjaznego dla konstruktora małego sys−
temu mikroprocesorowego.
Pamięć PROM
Idea prostszego zapisu do pamięci
ROM szybko doczekała się realizacji
w postaci pamięci PROM ( Programmable
ROM) , programowalnych pamięci ROM.
Pamięci typu PROM cechuje zdolność do
zaprogramowania w programatorze, który
może stać u użytkownika na stole. Pa−
mięć nie zaprogramowana jest pamięcią,
której komórki wypełniono tylko zerami al−
bo tylko jedynkami. Programowanie pole−
ga więc na fizycznej zmianie zawartości
komórki pamięci stanu na przeciwny,
oczywiście tylko w tych miejscach, gdzie
to jest konieczne. Jeśli stan niezaprogra−
mowania jest stanem właściwym, to taka
komórka jest uznawana za prawidłowo
zaprogramowaną.
Popatrzmy z powrotem na rysunek 7.
Gdyby udało nam się umieścić coś w ro−
dzaju bezpiecznika pomiędzy każdym
tranzystorem a rezystorem emiterowym,
to przepalając ten bezpiecznik moglibyś−
my zmienić w sposób trwały stan każde−
go bitu. Jeśli zrobimy to wybiórczo, to za−
chowamy się tak samo jak projektant
maski dla pamięci ROM: wykonamy,
a właściwie pozostawimy te połączenia,
które należy pozostawić.
Samo programowanie komórki polega
więc na trwałym uszkodzeniu każdego bi−
tu pamięci w taki sposób, aby stan tej ko−
mórki zmienił się na przeciwny. Można to
wykonać poprzez przepalenie tego
“bezpiecznika” (rys. 8
rysunek 9.
Zaletą tej komórki pamięci jest zdol−
ność do zaprogramowania bez fizycznego
uszkodzenia układu. Usunięcie ładunku
z bramki pływającej jest możliwe poprzez
dostarczenie energii w postaci promie−
niowania ultrafioloetowego.
Opisana wyżej komórka pamięci stała
się podstawowym elementem budowy pa−
mięci EPROM ( Erasable PROM ). Pamięci
EPROM są programowane w programato−
rach, z reguły uniwersalnych, bo przysto−
sowanych do wielu typów pamięci i ich
wielkości. Kasowanie pamięci odbywa
się za pomocą lamp jarzeniowych, które
rys. 8). Przeważnie jest
to zwężony odcinek ścieżki połączenio−
wej, wykonany z materiału o dużej rezys−
tancji własnej, np. ze stopu niklu i chro−
mu. Na cały układ podaje się przez chwilę
podwyższone napięcie, wymuszając tym
samym zwiększony pobór prądu i lokalne
rozgrzanie wąskiej ścieżki oporowej.
Ścieżka ta przepala się w taki sam spo−
sób, jak bezpiecznik topikowy przeciążo−
nej instalacji elektrycznej. Układ scalony
jest specjalnie przygotowany na to i jemu
jako całości to nie szkodzi.
Wprawdzie do pamięci stałych mo−
żemy zaliczyć również inne rodzaje pa−
mięci, np. pamięci ferrytowe, ale tylko
elektronicy zaawansowani wiekiem
mogą kojarzyć ten termin, więc go po−
miniemy. Ale pamięcią stałą jest też zna−
na wszystkim mikrokomputerowcom
pamięć magnetyczna, do której zalicza
się wspomniana pamięć ferrytowa. Oni
jednak tak jej nie nazywają. Znają ją
pod postacią dyskietek i dysków twar−
dych czy kaset do streamerów.
Rys. 8. Model komórki pamięci PROM.
52
E LEKTRONIKA DLA WSZYSTKICH 7/96
rysunek 9
rys. 8
152728920.001.png 152728920.002.png 152728920.003.png
Mikrokomputery
Rys. 9. Tranzystor polowy.
mórki pamięci EEPROM polega na skaso−
waniu wybranego bajtu, a potem selek−
tywnej modyfikacji wybranych bitów ko−
mórki.
Komórki pamięci z czasem starzeją
się i tracą własności utrzymywania ładun−
ku w bramce pływającej. Proces przepro−
gramowywania to przyspiesza. Dlatego
warto wiedzieć, jaką liczbę programowań
zapewnia producent pamięci. Wartość
10 5 jest wynikiem przyzwoitym.
Wadą typowych pamięci EEPROM jest
czas kasowania komórki, który dochodzi
do 20ms. Jesli przemnożymy ten czas
przez liczbę komórek (np. 65536) to
otrzymujemy czas przeprogramowania ca−
łej pamięci porównywalny z czasem kaso−
wania pamięci EPROM. Z tego powodu
pamięci EEPROM znalazły zastosowanie
jako pamięci pamiętające dane ważne,
których nie chcemy stracić po wyłączeniu
zasilania. Takie pamięci mają małe po−
jemności w porównaniu z pamięciami EP−
ROM, które pamiętają kod programu.
Pamięci Flash EEPROM
Długi czas kasowania całej pamięci
EEPROM zmusił producentów do opraco−
wania odmiany pamięci EEPROM zwanej
Flash EEPROM.  W pamięci Flash EEP−
ROM proces kasowania zachodzi całymi
blokami komórek, do tego bez wyjmowa−
nia kostki z urządzenia, w czasie kilku se−
kund.
Pamięci Flash osiagają znaczne po−
jemności i ich podstawowym zastosowa−
niem jest pamiętanie dużych bloków da−
nych, w tym zastępowanie w niektórych
wykonaniach pamięci masowych (np. dys−
kietek).
System
mikroprocesorowy
Nawet najprostszy system mikroproce−
sorowy musi składać się więc z mikropro−
cesora, pamięci programu i pamięci da−
nych, ale istnieją mikroprocesory zawiera−
jące pamięć programu i pamięć danych
w jednej kostce − nazywamy je mikrokom−
Jeszcze nie tak dawno, kiedy mikro−
procesory posiadały słowo co najwyżej
8−bitowe, obok nich spokojnie egzysto−
wały układy mikroprogramowane jako
osobne układy scalone. Układ mikro−
programowany wymaga zewnętrznej
pamięci ROM, w której były zapisane
mikroinstrukcje, tworzące mikropro−
gram. Taka mikroinstrukcja zawierała
kod bardzo prostej czynności, z reguły
były to sygnały zezwolenia na te czyn−
ności, ewentualny adres następnego
rozkazu, czasem kilka bitów reprezen−
tujących stany warunkowe. Z chwilą,
gdy mikroprocesory robiły się coraz
tańsze i gwałtownie zaczęły rosnąć ich
możliwości, zaniechano produkcji poje−
dynczych układów mikroprogramowa−
nych. Układy mikroprogramowane na−
dal są, stały się fragmentem ... mikro−
procesorów. Właściwie bez nich nie
można byłoby dekodować instrukcji
przychodzących do mikroprocesora.
Pamięć mikroprogramu też została
scalona w strukturze mikroprocesora
i teraz cały układ mikroprogramowany
nazwiemy dekoderem rozkazów.
wydzielają silne promieniowanie ultrafio−
letowe. Kostka pamięci EPROM jest za−
opatrzona w okienko wykonane ze szkła
kwarcowego, przez które promienie ultra−
fioletowe przenikają do struktury.
Dość popularną odmianą pamięci EP−
ROM jest wersja OTP ( One−Time Program−
mable) . Jest to pamięć EPROM umiesz−
czona w obudowie bez okienka, czyli nie
może ona być przeprogramowana i służy
do jednokrotnego zapisu. Projektant mo−
że do takiej kostki zapisać końcową wers−
ję oprogramowania. Zaletą tej odmiany
pamięci EPROM jest niska cena w porów−
naniu z obudową z okienkiem.
Wadą pamięci EPROM jest koniecz−
ność kasowania całej zawartości pamię−
ci, nawet jeśli ma być zmieniony tylko je−
den bit. Dodatkowo obudowa z okien−
kiem kwarcowym jest technologicznie
trudna do wykonania i droga.
Pamięć EEPROM
Producenci pamięci wpadli więc na po−
mysł, aby zmodyfikować tak komórkę pa−
mięci EPROM, aby każda komórka mogła
być kasowana elektrycznie niezależnie od
innych, sąsiednich komórek. Przebudo−
wali oni komórkę pamięci EPROM w taki
sposób, że ładunek gromadzony w  bram−
ce pływającej można wprowadzać i usu−
wać poprzez dren wykorzystując zjawisko
tunelowe.
Tak otrzymana komórka pamięci jest
podstawą do budowy pamięci EEPROM
( Electrically EPROM) . Programowanie ko−
puterami jednoukładowymi. Wtedy cały
system składa się naprawdę z jednej
kostki.
Mikrokomputery jednoukładowe są po−
wszechnie wykorzystywane do budowy
najróżniejszych sterowników o zastoso−
waniach niekomputerowych. Nas, amato−
rów, ta klasa mikroprocesorów interesuje
najbardziej.
Do odczytania informacji z pamięci po−
trzebne są szyna adresowa i szyna da−
nych oraz ewentualnie linie współpracy
z pamięcią. W mikroprocesorze jedno−
układowym szyny te mogłyby być całkowi−
cie ukryte w jego wnętrzu, jednak szyna
danych, a często także szyna adresowa
wyprowadzone są na zewnątrz, co umożli−
wia dołączenie zewnętrznej pamięci i róż−
nych układów współpracujących.
Popularne procesory jednoukładowe
zawierają “na pokładzie” pamięć progra−
mu ROM lub EPROM o pojemności 1...8
kilobajtów i pamięć danych RAM o pojem−
ności kilkudziesięciu, do kilkuset bajtów.
Pamiętajmy, że jeśli np. szyna adreso−
wa mikroprocesora jest 16−bitowa, to mo−
że on zaadresować 2 16 = 65536 komó−
rek pamięci. Taka jest więc wielkość ob−
szaru adresowego dla tego mikroproce−
sora, czyli potrafi on bezpośrednio obsłu−
żyć pamięć o tej wielkości. A w sześćdzie−
sięciu czterech kilobajtach pamięci moż−
na zmieścić program o naprawdę dużych
możliwościach.
Bity i bajty
Jednostką miary w informatyce jest bit. Oznacza on możliwość zapamiętania
dwóch różnych, wykluczających się wzajemnie informacji. Większą jednostką miary
jest bajt, który jest równy ośmiu bitom, na których można zapamiętać 2 8 =256 infor−
macji. Oznaczamy go jako B. Jeszcze większymi jednostkami są kilobajt, megabajt,
gigabajt i terabajt, oznaczane odpowiednio jako KB, MB, GB, TB.
1KB = 2 10 B = 1 024 bajty = 8192 bity,
1MB = 2 10 KB = 2 20 B = 1 048 576 bajtów = 8 388 608 bitów,
1GB = 2 10 MB = 2 20 KB = 2 30 B= 1 073 741 824 bajty = 8 589 934 592 bity,
1TB = 2 10 GB = 2 20 MB = 2 30 KB = 2 40 B = 1.0995 x 10 12 bajtów = 8.796 x 10 12 bi−
tów.
Przez analogię tworzymy jednostki pokrewne, takie jak kilobit, megabit, gigabit
czy terabit. Jednostki terabajtu i gigabajtu mają dla nas wymiar astronomiczny.
Trzeba jednak wiedzieć, że parametry współczesnych mikroprocesorów najnowszej
generacji muszą być opisywane takimi właśnie jednostkami. Np. przestrzeń adreso−
Mirosław Lach
E LEKTRONIKA DLA WSZYSTKICH 7/96
53
152728920.004.png 152728920.005.png 152728920.006.png 152728920.007.png
Zgłoś jeśli naruszono regulamin