Uy / Turli xil / ECC RAM nima? Buferlangan RAM - bu nima? Ketma-ket funktsional birliklar. Xotirani ro'yxatga olish va ro'yxatdan o'tkazish Xotirani ro'yxatdan o'tkazish

ECC RAM nima? Buferlangan RAM - bu nima? Ketma-ket funktsional birliklar. Xotirani ro'yxatga olish va ro'yxatdan o'tkazish Xotirani ro'yxatdan o'tkazish

Zamonaviy hisoblash qurilmalari borligini hamma biladi Operativ xotira, bu erda ma'lumotlar faqat ish paytida saqlanadi. Operativ xotira bit ma'lumotlarini saqlash uchun hujayralar to'plamiga ega bo'lgan mikrosxemalarga (chiplarga) ega modullar shaklida ishlab chiqariladi. Har bir xotira hujayrasi nol yoki bittani saqlash uchun mo'ljallangan. 8 ta bunday hujayralar 8 bitni saqlaydi (bu allaqachon 1 bayt). Bunday chiplar yarimo'tkazgichlar asosida ishlab chiqariladi. Ammo modullar va shaxsiy kompyuterlarni amalga oshirish bir qator jiddiy farqlarga ega, biz ushbu maqolada ko'rib chiqamiz.

Paritet xotirasi.

Kompyuter texnikasi rivojlanishining dastlabki bosqichida yarimo'tkazgichli elementlarni ishlab chiqarish texnologiyasi hali juda yaxshi ishlab chiqilmagan edi. Shuning uchun, har qanday xotira katakchasiga yozishda ma'lumot yo'qolishi ehtimoli bor edi: unga bittasi yozilgan, ammo u yozilmagan (nol qoldi). Xotiraga yozish jarayonini qandaydir tarzda boshqarish uchun oddiy ma'lumotlarni tekshirish texnologiyasi ixtiro qilindi.

Bir bayt (8 bit) yozishdan oldin bu baytdagi barcha bitlarning yig'indisi hisoblab chiqilgan. Ammo to'liq nazorat summasi eslab qolinmadi (xotirani saqlash uchun), faqat uning oxirgi biti, uning qiymati (nol yoki bitta) maxsus belgilangan joyda eslab qolindi. Ushbu bitning qiymati (0 yoki 1) qo'shilganda bitlar yig'indisi juft yoki toq bo'lganiga bog'liq edi. Shuning uchun bu bit paritet biti sifatida tanildi.

Asl baytni xotira kataklariga yozgandan so'ng, bunday saqlangan baytning bitlari yig'indisi hisoblab chiqildi va bu yig'indining pariteti avvalgisi bilan taqqoslandi (uning qiymati paritet bitida saqlanadi). Agar nazorat summalarining paritetlari mos kelsa, xotiraga yozish muvaffaqiyatli bo'lgan deb hisoblanadi. Va agar ular mos kelmasa, xato xabari yaratildi. Ushbu texnologiya paritet nazorati deb ataladi.

Paritetsiz xotira.

Vaqt o'tishi bilan yanada ishonchli mikrosxemalar paydo bo'la boshladi. Ularda xatolik ehtimoli kamroq bo'ldi. Shu bilan birga, elektron komponentlar narxining pasayishi kuzatildi. Kompyuterlarni ishlab chiqarish va sotish ommaviy tus oldi. Ba'zi foydalanuvchilar uchun kompyuterlarning ishlashidagi xatolar juda muhim emas edi. Shuning uchun bozorda xotirani paritetsiz ishlatadigan modellar ishlab chiqarila boshlandi. "Qo'shimcha" to'qqizinchi bitdan (har bir bayt uchun) va nazorat summalarini hisoblashning "ortiqcha" xarajatlaridan xalos bo'lish kompyuterlar narxini biroz pasaytirish va ularni iste'molchilar ommasi uchun ochiq qilish imkonini berdi. Bunday kompyuterlar ish stoli (stol) tizimlari orasida juda mashhur bo'ldi.

Biroq, ayrim sanoat tarmoqlarida, harbiy-mudofaa ahamiyatga ega tizimlar va bank sektorida hisoblash tizimlarida xatolarga yo'l qo'ymaslik eng muhim vazifalardan biri bo'lib qolmoqda.

Nazorat va xatolarni tuzatish bilan xotira.

Paritetni boshqarish texnologiyasi mukammal emas. U, masalan, bir vaqtning o'zida 2 bitning "yo'qolishi" ni aniqlay olmaydi (bu holda paritet o'zgarmaydi). Shu sababli, xotiraga yozilgan har bir ma'lumot biti bitta nazorat yig'indisiga emas, balki bir nechtasiga kiritilishi kerak deb qaror qilindi. Bunday boshqaruv tizimi yordamida bir vaqtning o'zida bir nechta xatolarni, ularning manzillarini aniqlash va qo'shimcha ravishda ushbu xatolarni tuzatish mumkin bo'ldi. Ushbu texnologiya Xatolarni tuzatish kodi (ECC) deb nomlandi, chunki xato tuzatishga ruxsat beruvchi kod hisoblab chiqilgan.

Albatta, nazorat summalarini saqlash uchun qo'shimcha registrlar talab qilinadi, bu esa bunday xotira modullarini qimmatroq qiladi, lekin umuman olganda, ECC xotirasiga asoslangan tizimlar nosozliklarga chidamli. Bunday xotira modullari eng ko'p server tizimlarida qo'llaniladi.

Paritetli xotira va ECC texnologiyasi ham server, ham ish stoli tizimlarida ishlatilishi mumkin. Birinchi holda, bu hal qilinayotgan vazifalarning muhimligi bilan oqlanadi (bu erda eng kichik xatoning narxi juda yuqori), ikkinchi holatda esa har doim ham tavsiya etilmaydi (iqtisodiy nuqtai nazardan: axir, xato nazorati bilan modullardan foydalanish uchun siz ushbu texnologiyani qo'llab-quvvatlaydigan qimmatroq anakartga ega bo'lishingiz kerak, aks holda xatolarni boshqarish ishlamaydi).

buferlangan xotira.

Hisoblash tizimlarida xotiraga va xotiradan yozish/o'qishni boshqarish maxsus xotira kontrolleri tomonidan amalga oshiriladi. Ushbu kontroller barcha xotira kataklariga kirish huquqiga ega bo'lishi va ma'lumotni shinadan xotiraga va aksincha uzatishni ta'minlashi kerak. Ish stoli tizimlari ko'pincha o'rnatilgan xotira kontrolleriga ega protsessorlardan foydalanadi. Ushbu amaliyotning ba'zi kamchiliklari quyidagilardan iborat:

Faqat bitta kontroller mavjud, lekin ko'plab xotira hujayralarini nazorat qilish kerak - yuqori unumdorlikni saqlab, bir vaqtning o'zida xizmat ko'rsatadigan xotira banklari soni bo'yicha cheklov mavjud;

Protsessordan yoki boshqa kompyuter komponentlaridan bitta ma'lumot shinasida boshqaruv buyruqlari va ma'lumotlarni barcha foydalanilgan xotira modullariga o'tkazish kerak (avtobusdagi yuk ortadi).

Vaziyatni yaxshilash uchun har bir xotira modulida kontroller funktsiyalarining bir qismini amalga oshirishga qaror qilindi. Buning uchun xotira moduliga maxsus chip o'rnatilgan bo'lib, u bufer vazifasini bajaradi, u markaziy protsessordan manzillarni boshqarish va o'rnatish buyrug'ini oladi (bu holda xotiraga ma'lumotlar oqimi shina bo'ylab parallel ravishda boradi. buyruqlar oqimi). Buferlangan xotira shunday tug'ilgan.

Keyinchalik, bu buferda xatolarni tuzatish funktsiyalari (ECC) amalga oshirila boshlandi, shuningdek, ma'lumotlar shinasiga qo'shimcha yuklamasdan xotirani oshirish mumkin bo'ldi. Buferni amalga oshirish uchun qo'shimcha chiplar registrlar, xotiraning o'zi esa ro'yxatdan o'tgan xotira sifatida tanildi.

Vaqt o'tishi bilan to'liq buferlangan xotira modullari (FB - to'liq buferlangan) ham paydo bo'ldi, ularning buferida (reestrida) nafaqat boshqaruv signallari, balki ma'lumotlar ham ketma-ket bir oqimda uzatila boshlandi. Oraliq buferdan foydalanganda xotira ishida biroz sekinlashuv kuzatiladi, chunki buferga yozish uchun bitta oraliq sikl talab qilinadi.

Bunday xotira qo'shimcha registr chipining mavjudligi va murakkab texnologiyalardan foydalanish tufayli ro'yxatdan o'tmagan xotiraga qaraganda ancha qimmat. Ammo, uning ergonomikasi, ovoz balandligini oshirish imkoniyati, shuningdek, xatolarni boshqarish tufayli u server tizimlarida keng qo'llaniladi, bu erda katta hajmdagi ma'lumotlar bilan barqaror va xatosiz ishlash juda muhimdir.

Muvofiqlik muammolari.

Buferlangan xotira modullari rivojlanishining dastlabki bosqichlarida ish stoli va server tizimlarida ishlatilgan, ammo ro'yxatdan o'tgan xotiraning paydo bo'lishi uni shaxsiy kompyuterda ishlatish imkoniyatini yo'q qildi.

Ish stoli tizimlarida ro'yxatdan o'tgan xotiradan foydalanish amaliy emas (ortiqcha xarajat) va ko'pincha imkonsizdir, chunki ish stollarida ishlatiladigan ko'pchilik anakartlar ro'yxatdan o'tgan xotirani qo'llab-quvvatlamaydi. Zamonaviy server tizimlarida ishlatiladigan anakartlar, aksincha, faqat ro'yxatdan o'tgan xotira bilan ishlashga mo'ljallangan, chunki sig'imning oshishi (platformani o'zgartirmasdan) va xatolarni boshqarish qobiliyati serverlar uchun narxdan ko'ra muhimroq omillardir.

Ko'pincha, komponentlarni tanlashda biz turli xil tushunarsiz atamalar va tushunchalarga duch kelamiz. Operativ xotirani tanlashda u DDR, DDR2, DDR3, DDR4, RDRAM, RIMM va boshqalar bo'lishi mumkin. Agar operativ xotiraning asosiy turlari bilan hamma narsa ko'proq yoki kamroq aniq bo'lsa va har bir turni qo'llab-quvvatlash anakart tavsifida ko'rsatilgan bo'lsa, ECC kabi parametr ko'pchilik uchun ba'zi savollar tug'diradi. ECC xotirasi nima? Uy kompyuterida ECC RAMdan foydalanish mumkinmi va ECC RAM va ECC bo'lmagan RAM o'rtasidagi asosiy farq nima?

ECC xotirasi nima?

Bu o'rnatilgan xatolarni tuzatish uskunasiga ega bo'lgan maxsus operativ xotira turi. Bunday xotira modullari ma'lumotlarning to'g'riligi va ularni qayta ishlash ishonchliligi uchun talablar shaxsiy kompyuterlarga qaraganda ancha yuqori bo'lgan serverlar uchun maxsus ishlab chiqilgan.

ECC-Ram avtomatik ravishda saqlash bloklaridagi ma'lumotlarning o'z-o'zidan o'zgarishini, ya'ni sodir bo'lgan xatolarni tan oladi. Muntazam - tuzatish mexanizmlarini qo'llab-quvvatlamaydigan ish stoli xotirasi ECC bo'lmagan deb ataladi.

ECC xotirasi nimaga qodir va u qanday ishlaydi?

Xatolarni to'g'rilash xotirasi har bir mashina so'zida 1 bit o'zgartirilgan ma'lumotlarni aniqlashi va tuzatishi mumkin. Bu nima degani? Agar yozish va o'qish o'rtasidagi ma'lumotlar biron bir sababga ko'ra o'zgartirilgan bo'lsa (ya'ni xatolik yuz bergan bo'lsa), u holda ECC RAM qiymatni to'g'risiga to'g'rilaydi. Bunday funksionallik RAM boshqaruvchisidan yordam talab qiladi. Ushbu qo'llab-quvvatlash zamonaviy protsessorlarda o'rnatilgan operativ xotira boshqaruvchisi bo'lgan anakart chipsetlari tomonidan tashkil etilishi mumkin.

Xatolarni tuzatish algoritmi Hamming kodiga asoslangan, biroq boshqa algoritmlar bir nechta xatolarni tuzatish uchun ishlatiladi. Amalda xotira modullari qo'llaniladi, bu erda har 8 xotira chipiga ECC kodlarini saqlaydigan yana bitta chip qo'shiladi (asosiy xotiraning har 64 bitiga 8 bit).

Nima uchun RAM xotira hujayralaridagi qiymat buzilgan?

Ma'lumotlarning buzilishining asosiy sabablaridan biri kosmik nurlardir. Biz Yerda atmosfera himoyasi ostida bo'lsak-da, kosmik nurlar o'zlari bilan elektronikaga, jumladan, kompyuter xotirasiga ta'sir qilishi mumkin bo'lgan ba'zi elementar zarralarni olib yuradi. Ushbu zarrachalarning energiyasi ta'sirida xotira xujayrasining holatini o'zgartirish mumkin, bu ma'lumotlarning buzilishi va xatolarga olib keladi. Qizig'i shundaki, kosmik nurlarga ta'sir qilish balandlik bilan ortadi, shuning uchun baland balandlikdagi kompyuter tizimlari yaxshiroq himoya qilishni talab qiladi.

ECC xotirasi qanday ishlaydi

RAMdagi xatolarni boshqarish mexanizmlaridan biri paritet texnologiyasidan foydalanishdir, bu sizga ma'lumotlardagi xatolik faktini tuzatishga imkon beradi, lekin ma'lumotlarni tuzatishga imkon bermaydi.

Hamming kodi ECC tuzatish uchun ishlatiladi. ECC xotira buzilishi tufayli kompyuter tizimlarini noto'g'ri ishlashdan himoya qiladi va tizimning muhim ishlamay qolish ehtimolini kamaytiradi. ECC qo'llab-quvvatlanadigan xotira dasturga qarab ECC bo'lmagan xotiradan 2-3% sekinroq.

ECC xotirasidan foydalanish sabablari

Ish stoli kompyuterlarida ECC-ni qo'llab-quvvatlaydigan RAMdan foydalanish uchun ob'ektiv sabab yo'q. Ma'lumotlar xatosi yuzaga kelishi ehtimoli juda kichik bo'lganligi sababli, kompyuterdan oddiy foydalanish stsenariylarida xatolik kompyuterda muammo yoki ishlamay qolishi ehtimoldan yiroq emas. Eng yomon stsenariy - tashqi ko'rinish ko'k ekran BSOD o'limi. Bundan tashqari, ECC operativ xotirasidan foydalanish ish stoli protsessorlari va anakartlar ko'pchilik bu turdagi RAMni qo'llab-quvvatlamaydi.

ECC xatolarini tuzatish bilan RAMdan foydalanish server va korporativ segment uchun dolzarbdir, bu erda xatolarga chidamlilik va ishonchlilik talablari juda yuqori va ma'lumotlarning to'g'riligi hisob-kitoblar natijalariga va umuman tizimning ishlashiga ta'sir qilishi mumkin. .

Qalaysiz? -

Ajratish mumkin uch Mikrokontrollerlarda ishlatiladigan asosiy xotira turlari:

● xotira dasturlari, bu faqat o'qish uchun mo'ljallangan xotira bo'lib, dastur kodini va konstantalarni saqlash uchun mo'ljallangan. Bu xotira dasturni bajarish jarayonida o'z mazmunini o'zgartirmaydi;

● xotira ma'lumotlar, dasturni bajarish jarayonida o'zgaruvchilarni (natijalarni) saqlash uchun mo'ljallangan;

ro'yxatdan o'tish mikrokontrollerning ichki registrlaridan iborat xotira. Ushbu xotira turlarining har birining xususiyatlarini ko'rib chiqing.

Dastur xotirasi.

Bunday xotiraga bo'lgan ehtiyoj mikrokontrollerda bajariladigan dastur yuklangan kompyuterda qattiq disk kabi xotira qurilmalari mavjud emasligi bilan bog'liq. Shuning uchun dastur kodi mikrokontrollerda doimiy saqlanishi kerak.

Dastur xotirasining barcha turlari mavjud uchuvchan bo'lmaganga xotira yoki faqat o'qish uchun mo'ljallangan xotira (ROM), uning tarkibi mikrokontroller o'chirilgandan keyin saqlanadi.

Amalga oshirish jarayonida dastur shu xotiradan o'qiladi va boshqaruv bloki (buyruq dekoderi) uning dekodlanishini ta'minlaydi va kerakli operatsiyalarni bajaradi. Dasturni bajarish jarayonida dastur xotirasi tarkibini o'zgartirish (qayta dasturlash) mumkin emas. Shuning uchun, mikrokontrollerning funksionalligi uning dastur xotirasi tarkibi o'chirilmaguncha (agar iloji bo'lsa) va qayta dasturlashtirilmaguncha (yangi ko'rsatmalar bilan to'ldirilmasa) o'zgarmaydi.

Shuni ta'kidlash kerakki, mikrokontrollerning bitligi (8, 16 yoki 32 bit) uning ma'lumotlar shinasining bitligiga muvofiq ko'rsatiladi.

Agar qurilma 8 bitli deb aytilsa, bu mikrokontroller qayta ishlashga qodir bo'lgan ma'lumotlar bitlari sonini bildiradi.

Garvard arxitekturasida ko'rsatmalar butun ko'rsatmani bir soat siklida o'qish imkonini beradigan ma'lumotlardan kattaroq bo'lishi mumkin. Misol uchun, PIC mikrokontrollerlari modelga qarab, bit kengligi 12, 14 yoki 16 bit bo'lgan buyruqlardan foydalanadilar. DA AVR mikrokontrollerlari Buyruq har doim 16 bit kengligida. Biroq, bu mikrokontrolderlarning barchasi 8 bitli ma'lumotlar shinasiga ega.

Prinston arxitektura qurilmalarida ma'lumotlar kengligi odatda foydalanilayotgan avtobusning bit kengligini (chiziqlar sonini) aniqlaydi. Motorola 68HC05 mikrokontrollerlarida 24 bitli ko'rsatma uchta 8 bitli dastur xotirasida joylashgan. Bunday ko'rsatmani to'liq olish uchun ushbu xotiraning uchta o'qish tsiklini bajarish kerak.

Keling, beshtasini ko'rib chiqaylik turlari dasturlarni saqlash uchun foydalaniladigan doimiy xotira yoki faqat o'qiladigan xotira (ROM).

Maska xotirasi.

Maska ROMlari (Mask-ROM yoki oddiygina ROM) to'liq disk raskadrovka qilingan dastur uchun mikrokontroller ishlab chiqarish bosqichida ishlab chiqariladi. Shisha foto maskasida, dasturdan foydalanganda, niqob namunasi yaratiladi. Olingan niqobli fotomaska ​​dastur xotirasini tashkil etuvchi elementlar o‘rtasida bog‘lanishlarni shakllantirish uchun ishlatiladi.

Birinchi niqobli ROMlar 1960-yillarning boshlarida paydo bo'lgan va shu tufayli bugungi kunda ham foydalanilmoqda. fazilatlar mahsulotlarni ommaviy ishlab chiqarishda past narx va dasturni saqlashning yuqori ishonchliligi sifatida.

Kamchiliklar mask ROM - dastur dasturidagi har qanday o'zgarish yangi fotomaskalar to'plamini yaratish va ularni ishlab chiqarishga joriy etish uchun katta xarajatlar va vaqt bilan bog'liq.

Bir martalik dasturlashtiriladigan xotira.

Ushbu xotira (One-Time Program mable ROM - OTPROM) foydalanuvchi tomonidan dasturlashtiriladi va dastlab bitta bitli hujayralarni o'z ichiga oladi. Faqat o'sha xotira xujayralari dasturlashga bo'ysunadi, ularning mazmuni 0 qiymatini olishi kerak. Buning uchun xotira elementiga kuchaygan kuchlanish impulslari ketma-ketligi qo'llaniladi.

Kuchlanish darajasi, impulslar soni va ularning vaqt parametrlari spetsifikatsiyalarga qat'iy muvofiq bo'lishi kerak. Nolni yozgandan so'ng, bitta qiymatni tiklash mumkin emas. Shu sababli xotira deyiladi bir marta dasturlashtiriladi ROM. Biroq, imkoniyatni ta'kidlash kerak qo'shimcha dasturlash bitta bitli (tegilgan bo'lmagan) hujayralar.

Bir martalik dasturlashtiriladigan ROMga ega mikrokontrollerlar kichik partiyalarda ishlab chiqarilgan mahsulotlarda qo'llaniladi.

Ultraviyole o'chirish bilan qayta dasturlashtiriladigan xotira.

O'chiriladigan dasturlashtiriladigan ROM (EPROM) xotira uyasi LIPSMOS (Floating Gate Avalanche Injection) tranzistoridir. Dastlabki holatda (yozishdan oldin), katakka kirishda mantiqiy birlik o'qiladi. Xotirani dasturlash tegishli kataklarga mantiqiy nollarni yozishdan iborat. EP ROMlar bir nechta dasturlash imkoniyatiga ega, ularning texnologiyasi bir martalik dasturlashtiriladigan ROM texnologiyasiga o'xshaydi.

Har bir dasturlash sessiyasidan oldin, operatsiyani o'chirish xotira hujayralarining asl holatini tiklash uchun. Buning uchun mikrokontroller korpusida ultrabinafsha nurlar bilan nurlanadigan maxsus oyna mavjud. ROMni o'chirish/dasturlash seanslari soni dasturlash texnologiyasiga (ta'minot kuchlanishlarining belgilangan qiymatlari, impulslar soni va davomiyligi) va o'chirish texnologiyasiga (ultrabinafsha nurlanish manbasining to'lqin uzunligi diapazoni) rioya qilgan holda 25-100 marta.

EPROM xotirali mikrokontrollerlar yuqori narx tufayli ishlab chiqilgan ilovalarning prototiplarida qo'llaniladi.

Narxlarni kamaytirish uchun EPROM chiplari oynasiz qutiga o'ralgan (bir martalik dasturlash bilan EPROM versiyasi). Xarajatlarning kamayishi tufayli EPROM versiyalari ko'pincha niqob bilan dasturlashtiriladigan ROMlar o'rniga ishlatiladi.

Elektr o'chirish bilan qayta dasturlashtiriladigan xotira.

Elektr o'chirishga ega xotira elementi sifatida (Electrically Erasable Pro grammable ROM - EEPROM yoki E2 PROM) MNOS tuzilmasi bo'lgan tranzistor (metall, silikon nitridi, silikon oksidi, yarimo'tkazgich) ishlatiladi, buning natijasida ROM nisbatan past narxga ega. (EPROMga nisbatan) va o'chirish/dasturlash sikllarining maksimal soni 10 4 -10 6 imkonini beradi. Bundan tashqari, EEPROM xotira dasturlash texnologiyasi amalga oshirish imkonini beradi baytni o'chirish va bayt dasturlash, boshqaruvchini doskadan olib tashlamasdan, uni vaqti-vaqti bilan yangilash imkonini beradi dasturiy ta'minot.

Ushbu afzalliklarga qaramay, ushbu turdagi xotira ikkita sababga ko'ra dasturlarni saqlash uchun keng qo'llanilmaydi:

● EEPROMlar cheklangan imkoniyatlarga ega;

● FLASH tipidagi ROMlar paydo bo'ldi, ular o'xshash foydalanuvchi xususiyatlariga ega, lekin arzonroq.

FLASH xotira.

Elektr bilan dasturlashtiriladigan va elektr bilan o'chiriladigan FLASH xotirasi (FLASH ROM) arzon yuqori sig'imli bir martalik dasturlashtiriladigan ROMlar va qimmat EEPROM ROMlar o'rtasida muqobil sifatida yaratilgan. kichik quvvat. FLASH xotira (masalan, EEPROM) qayta-qayta o'chirish va dasturlash qobiliyatini saqlab qoldi.

Har bir katakning adreslovchi tranzistori ROM sxemasidan olib tashlandi, bu bir tomondan xotiraning har bir bitini alohida dasturlashni imkonsiz qildi, ikkinchi tomondan esa xotira hajmini oshirish imkonini berdi. Shunday qilib, FLASH xotirasi o'chiriladi va dasturlashtiriladi sahifalar yoki bloklar.

Shunday qilib, funktsional jihatdan FLASH-xotira EEPROM-dan kam farq qiladi. Asosiy farq qayd etilgan ma'lumotni o'chirish usulida: agar EEPROM-xotirada o'chirish har bir hujayra uchun alohida amalga oshirilsa, FLASH-xotirada - butun bloklarda. EEPROM xotirasi bo'lgan mikrokontrollerlarda butun qurilmani qayta dasturlash zaruratisiz dasturning alohida bo'limlarini o'zgartirish kerak.

Hozirgi vaqtda FLASHli MCU'lar MCU'larni bir martalik dasturlashtiriladigan (va hatto niqoblangan) ROM bilan almashtira boshlaydi.

ROM dasturlash.

Esda tutingki, Mask ROM xotirasi faqat MK ishlab chiqarishda zavodda dasturlashtirilgan. OTPROM va EPROM xotira turlari ishlab chiquvchiga dasturchi va MCU ning tegishli chiqishlariga ulangan kuchaytiruvchi kuchlanish manbai yordamida dasturlash imkoniyatlarini beradi.

EEPROM va FLASH xotirasi qayta dasturlashtiriladigan yoki qayta dasturlash mumkin xotira. O'chirish/dasturlash uchun zarur bo'lgan kuchaygan quvvat zamonaviy kontrollerlarning EEPROM va FLASH xotira modullarida o'rnatilgan kuchlanishni kuchaytirish sxemalari yordamida yaratiladi. nasos generatorlari. Amalga oshirish uchun rahmat dastur nazorati Nasos generatorini yoqish va o'chirish orqali, ishlab chiqilayotgan tizimning bir qismi sifatida FLASH va EEPROM xotira hujayralarini dasturlash yoki o'chirish printsipial jihatdan mumkin bo'ldi. Ushbu dasturlash texnikasi deyiladi tizimda dasturlash(Tizim dasturlashda - ISP).

Bu maxsus jihozlarni (dasturchilarni) talab qilmaydi, bu esa dasturlash xarajatlarini kamaytiradi. ISP xotirasiga ega mikrokontrollerlar yakuniy mahsulot platasiga o'rnatilgandan so'ng dasturlashtirilishi mumkin.

EEPROM-xotirani amaliy dastur nazorati ostida dasturlash imkoniyati qanday amalga oshirilishini (va ishlatilishini) ko'rib chiqamiz. Agar dasturlash algoritmiga ega dastur nominal kuchlanishli alohida xotira modulida saqlangan bo'lsa va EEPROM xotirasi nasos generatorlari bilan ta'minlangan bo'lsa, u holda EEPROM xotirasini ISP dasturlash amalga oshirilishi mumkin. Ushbu holat EEPROM xotirasini mahsulotning ishlashi davomida o'zgartirilgan foydalanuvchi sozlamalarini saqlash uchun ideal o'zgaruvchan saqlash qurilmasiga aylantiradi. Bunga misol qilib zamonaviy televizorni keltirish mumkin, uning kanal sozlamalari quvvat o'chirilganda saqlanadi.

Shu sababli, 8-bitli MKlarning doimiy xotirasini yaxshilash tendentsiyalaridan biri MK chipiga ikkita o'zgarmas xotira modulining integratsiyasi bo'ldi: FLASH (yoki OTP) - dasturlarni saqlash uchun va EEPROM - qayta dasturlashtiriladigan konstantalarni saqlash uchun.

Texnologiyani ko'rib chiqing (qayta) FLASH dasturlash- amaliy dastur tomonidan boshqariladigan o'rnatilgan nasos generatoriga ega xotira. Avvalo, biz ikkita faktga e'tibor qaratamiz:

● qayta dasturlanadigan konstantalarni saqlash uchun MKga EEPROM xotirasi o'rnatilgan bo'lsa, tayyor mahsulotning ishlashi davomida FLASH-xotiraning bir necha bitlarini dasturlash mantiqiy emas. Agar kerak bo'lsa, darhol qayta dasturlash rejimidan foydalanish yaxshiroqdir;

● FLASH-xotirali dasturlash dasturini FLASH-xotiraning o‘zida saqlamasligingiz kerak, chunki dasturlash rejimiga o‘tish uni keyingi o‘qishni imkonsiz qiladi. Dasturlash dasturi boshqa xotira modulida joylashgan bo'lishi kerak.

Tizimda dasturlash texnologiyasini amalga oshirish uchun MC seriyali portlaridan biri tanlanadi, unga maxsus xizmat ko'rsatiladi. aloqa monitor dasturi, ROM MK rezident maskasida joylashgan. Seriya port orqali Shaxsiy kompyuter dasturni operativ xotiraga yuklaydi dasturlash va qo'llaniladi keyin FLASH xotirasida saqlanadigan dastur. MKning doimiy operativ xotirasi kichik hajmga ega bo'lganligi sababli, amaliy dastur alohida bloklarga (qismlarga) yuklanadi. MCUda dasturlash dasturiga ega niqobli xotira moduli o'rnatilgan bo'lsa, operativ xotiraga faqat amaliy dastur yuklanadi.

Tizimda dasturlash texnologiyasini amalga oshiradigan mikrokontrollerlar ko'pincha o'z ichiga oladi to'rtta xotira turi:

FLASH - dastur xotirasi, Mask ROM - aloqa monitori xotirasi, EEPROM - o'zgaruvchan konstantalarni saqlash uchun xotira va oraliq ma'lumotlar operativ xotirasi.

Tizimda dasturlash texnologiyasi hozirgi vaqtda yakuniy mahsulot platasida joylashgan mikrokontrollerlarga amaliy dasturlarni kiritish uchun tobora ko'proq foydalanilmoqda. Uning qadr-qimmat- MC ning belgilangan ichki rejimlarining barqarorligi tufayli dasturchining etishmasligi va dasturlashning yuqori ishonchliligi.

Misol sifatida, Motorola'dan HC08 MK oilasining doimiy FLASH-xotirasining ko'rsatkichlarini olaylik:

● o'chirish/dasturlash davrlarining kafolatlangan soni - 10 5 ;

● qayd etilgan ma'lumotlarning kafolatlangan saqlash muddati - 10 yil, bu amalda mahsulotning hayot aylanishini tashkil qiladi; FLASH-xotira modullari MK ta'minot kuchlanishida 1,8 dan 2,7 V gacha ishlaydi va dasturlashtirilgan;

● 1 bayt xotira uchun ekvivalent dasturlash vaqti 60 mks.

Ma'lumotlar xotirasi.

Rezident ma'lumotlar xotirasi sifatida ishlatiladi statik Tasodifiy kirish xotirasi (RAM), bu sizga soat chastotasini o'zboshimchalik bilan kichik qiymatlarga kamaytirish imkonini beradi. RAM hujayralarining tarkibi (dinamik xotiradan farqli o'laroq) nol chastotada saqlanadi. Statik operativ xotiraning yana bir xususiyati ta'minot kuchlanishini ma'lum bir minimal ruxsat etilgan darajaga tushirish qobiliyatidir, bunda mikrokontrollerni boshqarish dasturi bajarilmaydi, lekin RAMdagi tarkib saqlanadi.

Saqlash darajasi bir voltlik tartib qiymatiga ega, agar kerak bo'lsa, ma'lumotlarni saqlash uchun MKni avtonom manbadan (batareya yoki akkumulyator) quvvatga o'tkazish imkonini beradi. Ba'zi mikrokontrollerlar (masalan, Dallas Semiconductor'dan DS5000) korpusda 10 yil davomida operativ xotirada ma'lumotlarning saqlanishini kafolatlaydigan avtonom quvvat manbaiga ega.

Mikrokontrollerlarning xarakterli xususiyati o'zgaruvchilarni saqlash uchun ishlatiladigan tasodifiy xotiraning (RAM) nisbatan kichik miqdori (yuzlab bayt) hisoblanadi. Buni bir necha omillar bilan izohlash mumkin:

● MC apparatini soddalashtirishga intilish;

● operativ xotira hajmini kamaytirishga qaratilgan dasturlarni yozishda ma'lum qoidalardan foydalanish (masalan, konstantalar o'zgaruvchilar sifatida saqlanmaydi);

● xotira resurslarini shunday taqsimlashki, ma’lumotlarni operativ xotiraga joylashtirish o‘rniga texnik vositalardan (taymerlar, indeks registrlari va boshqalar) maksimal darajada foydalanish;

● amaliy dasturlarni katta ma'lumotlar massivlaridan foydalanmasdan ishlashga yo'naltirish.

Stack xususiyatlari.

Mikrokontrollerlarda operativ xotiraning bir qismi deyiladi stack. Bu amallar davomida dastur hisoblagichi va asosiy registrlarning (akkumulyator, holat registrlari, indeks va boshqa registrlar) tarkibi saqlanadi va asosiy dasturga qaytganda tiklanadi. Eslatib o'tamiz, stek quyidagi printsip bo'yicha ishlaydi: oxirgi kirish - birinchi chiqish(Oxirgi kirish, birinchi chiqish-LIFO).

Prinston arxitekturasida RAM ko'plab apparat funktsiyalarini, shu jumladan stek funktsiyalarini amalga oshirish uchun ishlatiladi. Xotira manzil maydonida buyruqlar, umumiy maqsadli registrlar, maxsus funksiya registrlari va boshqalar uchun alohida maydonlar ajratilgan. Bu kontrollerning ishlashini pasaytiradi, chunki turli xil xotira sohalariga kirish bir vaqtning o'zida amalga oshirilmaydi.

Garvard mikroprotsessorlari dastur xotirasi, ma'lumotlar xotirasi (jumladan, kiritish-chiqarish maydoni) va stekga parallel ravishda (bir vaqtning o'zida) murojaat qilishi mumkin.

Misol uchun, CALL pastki dastur ko'rsatmasi faollashtirilganda bir vaqtning o'zida bir nechta harakatlar amalga oshiriladi.

Prinston arxitekturasida CALL buyrug'i bajarilganda keyingi ko'rsatma dastur hisoblagichi tarkibi stekga surilgandan keyingina olinadi.

Ikkala arxitekturaning mikrokontrollerlarida RAMning kichik sig'imi tufayli dasturni bajarishda muammolar paydo bo'lishi mumkin:

● agar alohida stek ajratilgan bo‘lsa, u to‘ldirilgandan so‘ng stek ko‘rsatkichi tarkibi davriy ravishda o‘zgarib turadi, buning natijasida stek ko‘rsatkichi avval to‘ldirilgan stek yacheykasiga murojaat qila boshlaydi. Shuning uchun, juda ko'p CALL ko'rsatmalaridan so'ng, noto'g'ri qaytish manzili to'g'ri manzil o'rniga yozilgan stekda bo'ladi;

● Agar mikroprotsessor ma'lumotlar va stekni joylashtirish uchun umumiy xotira maydonidan foydalansa, stekning to'lib ketishi ma'lumotlarning ustiga yoziladi. Stekga yuklash (PUSH) va stekdan chiqish (POP) buyruqlari yo'qligi sababli registrlar tarkibini stekda saqlashning o'ziga xos xususiyatlarini ko'rib chiqamiz. Bunday mikrokontrollerlarda PUSH va POP ko'rsatmalari o'rniga stek maydoniga aniq ishora qiluvchi ikkita ko'rsatma va indeks registridan foydalaniladi. Ko'rsatmalar ketma-ketligi shunday bo'lishi kerakki, birinchi va ikkinchi ko'rsatmalar o'rtasidagi uzilish ma'lumotlarning yo'qolishiga olib kelmaydi. Quyida belgilangan talabni hisobga olgan holda PUSH va POP buyruqlarining simulyatsiyasi keltirilgan.

DURANG ; Ma'lumotlarni stekni pasaytirish indeksiga yuklash; Keyingi stek joylashuviga o'tish [indeks], ace; Akkumulyatorning tarkibini stekda saqlang POP ; Stack move ace dan pop ma'lumotlar, ; Stack qiymatini akkumulyatorning o'sish indeksiga suring; Oldingi stek hujayrasiga o'ting

Agar dastur birinchi buyruqdan keyin uzilib qolsa, uzilish bilan ishlov berilgandan keyin stek tarkibi yo'qolmaydi.

xotirani ro'yxatdan o'tkazish.

Mikrokontrollerlar (masalan, kompyuter tizimlari) ko'plab registrlarga ega boshqaruv uchun turli xil ichki tugunlar va tashqi qurilmalar. Bularga quyidagilar kiradi:

● registrlar protsessor yadrosi(batareya, holat registrlari, indeks registrlari);

● registrlar boshqaruv(uzilishni boshqarish registrlari, taymerni boshqarish registrlari);

● ma'lumotlarni kiritish/chiqarish registrlari (ma'lumotlar registrlari va parallel, ketma-ket yoki analogli kirish/chiqishni boshqarish registrlari).

Registrlarni manzil maydoniga joylashtirish usuliga ko'ra biz quyidagilarni ajratib ko'rsatishimiz mumkin:

● mikrokontrollerlar, ularda barcha registrlar va ma'lumotlar xotirasi joylashgan bitta manzil maydoni, ya'ni registrlar ma'lumotlar xotirasi bilan tekislanadi. Bu holda kiritish-chiqarish qurilmalari xotiraga moslashtiriladi;

● mikrokontrollerlar, ularda kirish/chiqish qurilmalari ajratilgan umumiy xotira manzil maydonidan. Kiritish-chiqarish registrlarini alohida manzil maydoniga joylashtirish usulining asosiy afzalligi shundaki, u dastur xotirasi va ma'lumotlarni umumiy shinaga ulash sxemasini soddalashtiradi. Alohida kiritish/chiqarish maydoni Garvard arxitekturasi protsessorlariga kiritish-chiqarish registriga kirish paytida ko'rsatmalarni o'qish imkonini beruvchi qo'shimcha foyda beradi.

Registrlarga qanday kirish mumkinligi ularning ishlashiga sezilarli ta'sir ko'rsatadi. RISC arxitekturasiga ega protsessorlarda barcha registrlar (ko'pincha akkumulyator) aniq manzillarda joylashgan bo'lib, bu protsessor ishini tashkil qilishda ko'proq moslashuvchanlikni ta'minlaydi.

Tashqi xotira haqida.

Ishlab chiqilgan ilovalar uchun rezident dastur xotirasi va ma'lumotlar xotirasi etarli bo'lmagan hollarda, mikrokontrollerga qo'shimcha tashqi xotira ulanadi. ma'lum ikki asosiy usullari:

● ulanish tashqi xotira avtobus interfeysi yordamida (mikroprotsessorli tizimlarda bo'lgani kabi). Ko'pgina mikrokontrolörlarda bu ulanish uchun maxsus apparat mavjud;

● xotirani kiritish-chiqarish qurilmalariga ulash Shu bilan birga xotiraga ham shu qurilmalar orqali kirish mumkin dasturiy vositalar. Bu usul murakkab avtobus interfeyslarini amalga oshirmasdan oddiy kiritish-chiqarish qurilmalaridan foydalanish imkonini beradi. Usulni tanlash maxsus dasturga bog'liq.

Izoh: Elektron xotira elementlari sifatida registrlarning ishlash printsipi ko'rib chiqiladi.

Registr ko'p bitli so'zni yodlash va saqlash uchun mo'ljallangan o'rta darajadagi integratsiyaga ega IC.

ro'yxatga olish qulfi

Protozoa ro'yxatdan o'tish bir nechta triggerlarning parallel ulanishi (8.1-rasm, a). UGO registr mandali rasmda ko'rsatilgan. 8.1, b. Agar a ro'yxatdan o'tish flip-floplarda qurilgan, deyiladi ro'yxatdan o'tish -"latch". Qoidaga ko'ra, bufer kuchaytirgichlari va boshqaruv elementlari IC registrining bir qismidir, masalan, rasmda ko'rsatilganidek. 8.2, a. Mana 8 bitli funksional diagramma D- uchta chiqish holatiga ega KR580IR82 mandal registri. Uning UGO si rasmda ko'rsatilgan. 8.2, b.


Guruch. 8.1. To'g'ridan-to'g'ri chiqishlari bilan to'rt bitli "latch" registr: a - funktsional diagramma; b - UGO

uchinchi davlat(birinchi ikkitasi mantiqiy 0 va mantiqiy 1) IC chiqishlarining holati bo'lib, ular ham quvvat manbaidan, ham umumiy nuqtadan uzilgan. Bu davlatning boshqa nomlari yuqori qarshilik, yuqori empedans holati, Z-holat[ , bilan. 61 - 63; , Bilan. 68 - 70].

Bunga erishiladi uchinchi davlat maxsus sxema eritmasi [, p. 117 - 118] mantiqiy elementlarning chiqish qismida, mantiqiy elementlarning chiqish tranzistorlari qulflanganda va chiqishga na besleme zo'riqishini, na tuproq potentsialini (0 emas va 1 emas) etkazib bermasa.

Roʻyxatdan oʻtish KR580IR82 8 ta funksional blokdan iborat (8.2-rasm, a). Ularning har biri o'z ichiga oladi D-Trigger-latch, orqa tomonda yozib olish va kuchli 3-holatli chiqish eshigi. STB- strobe kiritish, - uzatishni yoqish - uchinchi holatni boshqaruvchi signal: agar bo'lsa, u holda ma'lumotlar kirishlardan mos keladigan chiqishlarga o'tkaziladi, agar bo'lsa, barcha chiqishlar uchinchi holatga o'tkaziladi. Qachon va IS avtobusni shakllantirish rejimida ishlaydi - kirishlardan olingan ma'lumotlar o'zgarmagan holda chiqishlarga uzatiladi.

Ariza topshirishda orqa tomon Triggerlarda uzatilgan ma'lumotlarning "zarbasi" mavjud, ya'ni topshirish vaqtida nima bo'lganini eslab qoladi. . Xayr, bufer ro'yxatdan o'tish dagi ma'lumotlardan qat'i nazar, ushbu ma'lumotlarni saqlaydi D-kirishlar. Etakchi qirrani qo'llashda saqlanganida, chiqishlarning holati mos keladigan kirishlarning o'zgarishiga mos ravishda o'zgaradi. Agar bo'lsa, u holda barcha chiqish kuchaytirgichlari uchinchi holatga o'tkaziladi. Bunday holda, kirishlar holatidan qat'i nazar, barcha chiqishlar ro'yxatdan o'tish uchinchi holatga o'tkazildi.

Barcha registr chiqishlari faol nol darajasiga ega bo'lishi mumkin, bu UGO da teskari signallar va chiqish belgilari ko'rinishida ko'rsatiladi.

Ko'p navlari bor registrlar, masalan, siljish registrlari [ , 8-bob], bunda flip-floplar bir-biriga shunday bog'langanki, ular ma'lumotni bir flip-flopdan ikkinchisiga ketma-ket uzatadi [ , 109 - 122-betlar], lekin bu erda biz e'tiborni qaratamiz. mandal va uning qo'llanilishi.

Xotirani ro'yxatdan o'tkazish

Ro'yxatga olingan xotira - registr fayli - o'ta tasodifiy kirish xotirasi (SRAM) - bir nechta ko'p bitli so'zlarni saqlash uchun mo'ljallangan bir nechta registrlardan iborat sxema.

Shaklda. 8.3 amalga oshirish misolini ko'rsatadi SOZU, to'rtta 8 bitdan iborat registrlar(RG2 va RG3 ulanishi ko'rsatilmagan, xuddi shu tarzda amalga oshiriladi). Berilgan SOZU 4x8 bit axborot hajmiga ega - 8 bitli 4 so'z yoki 4 bayt. Bu yerda DI - ma'lumotlarni kiritish- ma'lumotlarni kiritish avtobusi, DO-ma'lumotlarning chiqishi- chiqish ma'lumotlar avtobusi, WR- SRAM ga signal yozish, RD- SRAM dan ma'lumotlarni o'qish uchun signal, VSD - ichki ma'lumotlar avtobusi.

Har biri ro'yxatdan o'tish ikki xonali manzilga ega, u dekoderning kirishlariga beriladi. Misol uchun, rasmdagi eng chap. 8.3 ro'yxatdan o'tish RG1 manziliga ega , keyingi - (rasmda ko'rsatilmagan), keyingi - (ko'rsatilmagan) va eng o'ng tomonda ro'yxatdan o'tish RG4 manziliga ega.

Agar faol yozish signali mavjud bo'lsa, dekoder manzil kodiga muvofiq ulardan biriga chiqaradi registrlar kirish ma'lumotlar avtobusidan qaysi ma'lumot haqida faol signal DI tanlanganga yoziladi ro'yxatdan o'tish. Orqa tomonda, bu ma'lumot ro'yxatdan o'tish"qisqalar".

Agar, masalan, yoqilgan bo'lsa DI ma'lumot va manzilni taqdim etdi ro'yxatdan o'tish ga teng bo'lsa, dekoderning "3" chiqishidagi faol signal RG4 registriga qo'llaniladi. Bu vaqtda qolgan registrlar faol bo'lmagan signal darajasiga ega bo'ladi, shuning uchun kirish ma'lumotlar shinasidan olingan ma'lumotlar RG4 ga yoziladi va ilgari yozilgan ma'lumotlar qolgan registrlarda saqlanadi.

Faol o'qish signali bilan barcha 8 multipleksor faollashtiriladi (birinchi, ikkinchi va sakkizinchi diagrammada ko'rsatilgan, qolganlari xuddi shunday ulangan), chunki faol signal ularning yoqish kirishlariga qo'llaniladi. ga muvofiq manzil dekoderi, multipleksorlar ma'lumotni tanlangan registrdan chiqish ma'lumotlar shinasiga o'zgartiradi. Masalan, registr manzili . Keyin barcha multipleksorlarda bo'ladi, ularning barchasi manzilga muvofiq ma'lumotni tanlashni boshlaydi. Shuning uchun, chiqish avtobusida QILING ichki avtobusning bitlari 25 - birinchi multipleksordan, 26 - ikkinchidan, 27 - uchinchidan, 28 - to'rtinchidan, 29 - beshinchidan, 30 - oltinchidan, 31 - ettinchidan va 32 - sakkizinchi multipleksordan beriladi. Shunday qilib, tarkibning nusxasi bo'lgan ma'lumot ro'yxatdan o'tish RG 4 manzili bilan chiqish ma'lumotlar shinasiga uzatiladi DO - multipleksor chiqishining o'zgarmagan holati.

Tasodifiy xotiraning (RAM) ikkita asosiy turi mavjud; ular buferlangan xotira - yoki qayd etilgan xotira - va buferlanmagan xotira. Buferlanmagan xotira tezroq va ko'pincha buferlangan xotiraga qaraganda ancha arzon. Shunday qilib, bu deyarli barcha uy ish stoli va noutbuk kompyuterlarida mavjud bo'lgan modul turi. Buferlangan xotira buferlanmagan turga qaraganda qimmatroq va ma'lumotlarni saqlash va qidirishni boshqarishi tufayli ham sekinroq.
Ammo buferlangan xotira buferlanmagan shakllarga qaraganda ancha barqaror, shuning uchun u asosan asosiy kompyuterlar va serverlarda qo'llaniladi.

Buferlanmagan xotira kundalik foydalanishda eng keng tarqalgan kompyuter xotira moduli shaklidir. Ushbu xotira modullarini ishlab chiqarish buferli xotira modullariga nisbatan arzon, bu qisman ularning uy va tijorat kompyuterlarida keng qo'llanilishi, shuningdek, kamroq foydalanishi tufayli. apparat. Buferlanmagan xotira modulida operativ xotira chipi va kompyuter xotirasi boshqaruvchisi o'rtasidagi ko'rsatmalar uchun registr vazifasini bajaradigan o'rnatilgan uskuna mavjud emas. Bu tezroq ishlashga olib keladi, lekin ma'lumotni joylashtirish va olishning tasodifiy tabiati natijasida, ayniqsa qizg'in faollik davrida xotira yo'qolishi xavfini oshiradi.

Ko'pincha ro'yxatdan o'tgan xotira deb ataladigan bufer xotira. Buferlanmagan xotira, g'alati, o'z nomini saqlab qoldi va ro'yxatdan o'tmagan xotiraga o'zgartirilmadi. Buferlangan xotira buferlanmagan turdan farq qiladi, chunki u xotira chipining bir sikli uchun keshda axborotni saqlaydigan apparat registriga ega. Bu operatsiya sekinroq xotira chipiga olib kelishi mumkin bo'lsa-da, u qo'shimcha barqarorlikni ta'minlaydi va xotira xatolari xavfini kamaytiradi.

Umumiy iste'molchi foydalanishda, ikki turdagi xotira modullari o'rtasidagi tezlik farqi ahamiyatsiz ko'rinadi. Ma'lumotlarning intensiv almashinuvi davrida kechikish paydo bo'ladi, bu registr yordamida kuzatiladi. Buferlangan xotira odatda server kompyuterlari va asosiy kompyuter tizimlarida barqarorlikni ta'minlash va buferlanmagan modullarda doimiy og'ir foydalanish paytida yuzaga kelishi mumkin bo'lgan shikastlanishdan himoya qilish uchun ishlatiladi. Buferlangan modullar qimmatroq va odatda sekinroq ishlashiga qaramasdan, xotira barqarorligi va ma'lumotlar xavfsizligi ishlab chiqarish muhitida uni to'ldiradi.