Atminties elementų adresacija
Mikrokompiuteriuose (MKK) davinių mašininis žodis dažniausiai yra 8 bitų arba vieno baito pločio. Kadangi šis žodis gali būti saugomas atmintyje, tai kiekvienos atminties ląstelės dydis turi būti 8 bitai. MKK turi turėti galimybę kreiptis į kiekvieną atminties ląstelę atskirai. Dėl šios priežasties kiekviena atminties ląstelė privalo turėti savo unikalų adresą.
Atminties ląstelės adresuojamos 16 bitų kodu, leidžiančiu tiesiogiai kreiptis į 216=65536 ląsteles. Tam MKK turi 16 linijų adresų magistralę, kuria MKK pasiųsti atitinkami loginiai signalai išrenka norimą atminties ląstelę. Atminties įrenginio talpa, t.y. 8 bitų dydžio mašininių žodžių, kurie gali būti saugojami atmintyje, skaičius dažnai išreiškiamas kilobaitais.
Kai pagrindinė MKK atmintis susideda iš daugiau negu vieno modulio, dalis atminties adreso kodo turi nurodyti, kokiame atminties modulyje randasi duotas mašininis žodis. Ši adreso dalis vadinama modulio išrinkimo kodu. Tam tikslui atminties mikroschemose būna specialūs išvadai, pvz., CS (chipselect).
Dekoderiai (dešifratoriai)
Modulio adreso išrinkimui patogiausia panaudoti dešifratorius. Atminties modulių išrinkimo principai, panaudojant dešifratorių KI55ИД3 vidutinio integracijos laipsnio mikroschemą
d) dešifratoriaus KI55ИД3 teisingumo lentelė.
Dešifratoriaus KI55ИД3 teisingumo lentelė |
|||||||||||||||||||
Sąlyga: W1=W2=0 |
|||||||||||||||||||
X1 |
X2 |
X3 |
X4 |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 |
Y8 |
Y9 |
Y10 |
Y11 |
Y12 |
Y13 |
Y14 |
Y15 |
Y16 |
0 |
0 |
0 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
0 |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
0 |
0 |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
0 |
1 |
0 |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
1 |
0 |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
1 |
1 |
0 |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
1 |
0 |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
x |
1 |
1 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
x |
0 |
0 |
1 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
x |
1 |
0 |
1 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
x |
0 |
1 |
1 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
x |
1 |
1 |
1 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
Kaip matome iš d) paveikslėlio, dešifratoriuje viename iš 16 išėjimų gaunamas išrinkimo (loginio nulio) signalas, jeigu W1=W2=0 ir paduodamas tam tikras kodas K=X4X3X2X1. Išrenkant 16 atminties modulių po 1 kilobaitą, bitai A14 ir A15 visada lygūs nuliui. Todėl,pajungę šiuos bitus prie W1 ir W2 įėjimų, gauname 16 modulių po 1 kilobaitą dešifracijos schemą, pavaizduotą a) paveikslėlyje. Kad išrinkti 16 atminties modulių po 2 KB, turime pasinaudoti magistralės bitais A11, A12, A13 ir A14, pajungdami juos atitinkamai prie dešifratoriaus X1X2 įėjimų. Šiuo atveju A15=0. Todėl bitą A15 galime prijungti prie W1 įėjimo ir, įžeminę W2 įėjimą, gauname atminties modulių po 2 KB išrinkimo schemą, pavaizduotą b) paveikslėlyje. Pajungę bitus A12-A15 prie įėjimų X1-X4 ir W1 bei W2 įėjimus įžeminę, gauname 16 adresų laukų po 4 KB išrinkimo schemą, pavaizduotą paveikslėlyje c).
Mikroprocesoriaus išorinius įrenginius (MPIĮ) galima dešifruoti, kreipiantis į juos kaip į atminties ląsteles arba panaudojant specialius valdymo signalus.
Dešifruojant MPIĮ, naudojamas tik jaunesnis adreso baitas A0-A7, leidžiantis vienareikšmiškai kreiptis į 256 įėjimo ir 256 išėjimo MPIĮ. Šiuo atveju išrenkamųjų MPIĮ adresas gali būti nuo 00H iki FFH.
Kai reikia dešifruoti daugiau negu vieną MPIĮ, naudinga panaudoti dešifratorius.
Dvejetainis-dešimtainis dešifratorius
a) loginė schema
b) teisingumo lentelė
BCD Įėjimai |
Dešimtainiai išėjimai |
||||||||||||
D |
C |
B |
A |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
c) blokinė schema
Multiplekseriai
Multiplekseris komutatorius, kuris gali vieną iš n įėjimų įjungti į vieną išėjimą.
Čia pavaizduota blokinė multiplekserio schema. Kai Stb=0, tada multiplekseris atidaromas.
Sekančiame paveikslėlyje pavaizduota multiplekserio loginė schema.
Įėjimai |
Išėjimai |
||||||||||||
C |
B |
A |
Stb |
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
Y |
W |
x |
x |
x |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
x |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
0 |
1 |
0 |
x |
0 |
x |
x |
x |
x |
x |
x |
0 |
1 |
0 |
0 |
1 |
0 |
x |
1 |
x |
x |
x |
x |
x |
x |
1 |
0 |
0 |
1 |
0 |
0 |
x |
x |
0 |
x |
x |
x |
x |
x |
0 |
1 |
0 |
1 |
0 |
0 |
x |
x |
1 |
x |
x |
x |
x |
x |
1 |
0 |
0 |
1 |
1 |
0 |
x |
x |
x |
0 |
x |
x |
x |
x |
0 |
1 |
0 |
1 |
1 |
0 |
x |
x |
x |
1 |
x |
x |
x |
x |
1 |
0 |
1 |
0 |
0 |
0 |
x |
x |
x |
x |
0 |
x |
x |
x |
0 |
1 |
1 |
0 |
0 |
0 |
x |
x |
x |
x |
1 |
x |
x |
x |
1 |
0 |
1 |
0 |
1 |
0 |
x |
x |
x |
x |
x |
0 |
x |
x |
0 |
1 |
1 |
0 |
1 |
0 |
x |
x |
x |
x |
x |
1 |
x |
x |
1 |
0 |
1 |
1 |
0 |
0 |
x |
x |
x |
x |
x |
x |
0 |
x |
0 |
1 |
1 |
1 |
0 |
0 |
x |
x |
x |
x |
x |
x |
1 |
x |
1 |
0 |
1 |
1 |
1 |
0 |
x |
x |
x |
x |
x |
x |
x |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
0 |
Kodų keitikliai
a) dvejetainio į Grėjaus kodą keitiklis
b) Grėjaus kodo į dvejetainį keitiklis
Skaitmeniniai analoginiai keitikliai (SAK) keičia skaitmeninį (dvejetainį) kodą į jam adekvačią analoginę įtampą. Paprasčiausioje dvejetainio skaičiaus keitimo į jam proporcingą įtampą schemoje rezistorių varžos parenkamos taip, kad, esant uždariems raktams, per juos tekėtų proporcinga dvejetainio skaičiaus skilties svoriui srovė. Raktas turi būti uždaromas tada, kai į atitinkamą skiltį ateina loginis 1. Kadangi operacinis stiprintuvas per rezistorių Rn apgaubtas neigiamu grįžtamuoju ryšiu, tai sumavimo mazgas turės nulinį potencialą. Todėl, sumuojant skilčių sroves, jų įtaka viena kitai nepasireiškia. Tačiau jeigu raktai gauna aukštą įtampą, tuomet sunku panaudoti elektroninius raktus. Be to, veikiant parazitiniams talpumams, raktų komutacijos dažnis esti žemas
prof. A. Bielskio konspektai
1993 short form designers guide, Analog Devices, Inc. 1993
Intel Product Catalog, 1997