Үй / Әртүрлі / ECC RAM дегеніміз не? Буферленген жедел жад - бұл не? Тізбектелген функционалдық бірліктер. Тіркеу және жадты тіркеу Жадты тіркеу

ECC RAM дегеніміз не? Буферленген жедел жад - бұл не? Тізбектелген функционалдық бірліктер. Тіркеу және жадты тіркеу Жадты тіркеу

Қазіргі заманғы есептеуіш құрылғылардың бар екенін бәрі біледі жедел жады, мұнда ақпарат тек жұмыс кезінде сақталады. ЖЖҚ биттік ақпаратты сақтауға арналған ұяшықтар жиынтығы бар микросұлбалары (чиптері) бар модульдер түрінде жасалған. Әрбір жад ұяшығы нөлді немесе біреуін сақтауға арналған. Мұндай 8 ұяшықта 8 бит сақталады (бұл қазірдің өзінде 1 байт). Мұндай чиптер жартылай өткізгіштер негізінде жасалады. Бірақ модульдер мен компьютерді енгізуде бірқатар елеулі айырмашылықтар бар, оларды біз осы мақалада қарастырамыз.

Паритеттік жады.

Есептеуіш техниканың дамуының бастапқы кезеңінде жартылай өткізгіш элементтерді өндіру технологиясы әлі өте жақсы дамымаған. Сондықтан кез келген жад ұяшығына жазу кезінде ақпаратты жоғалту мүмкіндігі болды: олар оған бір жазды, бірақ ол жазылмады (нөл қалды). Жадқа жазу процесін қандай да бір жолмен басқару үшін қарапайым деректерді тексеру технологиясы ойлап табылды.

Бір байтты (8 бит) жазбас бұрын осы байттағы барлық биттердің қосындысы есептелді. Бірақ бақылау сомасы толығымен есте сақталмады (жадты сақтау үшін), тек оның соңғы биті, оның мәні (нөл немесе бір) ол үшін арнайы белгіленген жерде есте сақталды. Бұл биттің мәні (0 немесе 1) қосу кезінде биттердің қосындысының жұп немесе тақ болуына байланысты болды. Сондықтан бұл бит паритет биті ретінде белгілі болды.

Бастапқы байтты жад ұяшықтарына жазғаннан кейін мұндай сақталған байттың биттерінің қосындысы есептелді және бұл қосындының паритеті алдыңғысымен (мәні паритет битінде сақталады) салыстырылды. Егер бақылау сомасының паритеттері сәйкес келсе, онда жадыға жазу сәтті болды деп есептелді. Ал егер олар сәйкес келмесе, қате туралы хабарлама жасалды. Бұл технология паритеттік бақылау деп аталады.

Паритетсіз жад.

Уақыт өте сенімді микросұлбалар пайда бола бастады. Олардағы қателер ықтималдығы төмендеді. Сонымен қатар, электронды компоненттердің құнының төмендеуі байқалды. Компьютерлерді өндіру мен сату жаппай сипат алды. Кейбір пайдаланушылар үшін компьютерлердің жұмысындағы қателер маңызды болмады. Сондықтан нарықта жадты паритетсіз пайдаланатын модельдер шығарыла бастады. «Артық» тоғызыншы биттен (әр байт үшін) және бақылау сомасын есептеудің «артық» шығындарынан құтылу компьютерлердің құнын біршама төмендетуге және оларды тұтынушылар массасына қолжетімді етуге мүмкіндік берді. Мұндай компьютерлер үстелдік (үстелдік) жүйелер арасында өте танымал болды.

Дегенмен, жекелеген салаларда, әскери-қорғаныс маңызы бар жүйелерде және банк секторында есептеу жүйелеріндегі қателерге жол бермеу маңызды міндеттердің бірі болып қала береді.

Басқару және қатені түзетуі бар жад.

Паритеттерді басқару технологиясы мінсіз емес. Ол, мысалы, бір уақытта 2 биттің «жоғалуын» анықтай алмайды (бұл жағдайда паритет өзгермейді). Сондықтан жадқа жазылған мәліметтердің әрбір биті бір бақылау сомасына емес, бірнешеуіне қосылуы керек деп шешілді. Мұндай басқару жүйесі арқылы бір уақытта бірнеше қателерді, олардың мекенжайларын анықтауға, сонымен қатар осы қателерді түзетуге болады. Бұл технология қатені түзету коды (ECC) деп аталды, өйткені қатені түзетуге мүмкіндік беретін код есептелді.

Әрине, бақылау сомасын сақтау үшін қосымша регистрлер қажет, бұл мұндай жад модульдерін қымбатырақ етеді, бірақ жалпы алғанда, ECC жадына негізделген жүйелер ақауларға төзімді. Мұндай жад модульдері серверлік жүйелерде кеңінен қолданылады.

Паритет пен ECC технологиясы бар жад серверлік және жұмыс үстелі жүйелерінде де қолданылуы мүмкін. Бірінші жағдайда, бұл шешілетін міндеттердің маңыздылығымен негізделеді (бұл жерде ең аз қатенің құны өте жоғары), ал екінші жағдайда бұл әрқашан орынды бола бермейді (экономикалық тұрғыдан: ақыр соңында, қатені басқару модульдерін пайдалану үшін сізде осы технологияны қолдайтын қымбатырақ аналық плата болуы керек, әйтпесе қатені басқару жұмыс істемейді).

буферленген жады.

Есептеу жүйелерінде жадқа жазуды/оқуды басқаруды және жадыдан жадыға жазуды басқару арнайы жады контроллері арқылы жүзеге асырылады. Бұл контроллердің барлық жады ұяшықтарына рұқсаты болуы керек және ақпаратты шинадан жадыға және керісінше тасымалдауды қамтамасыз ету керек. Жұмыс үстелі жүйелерінде көбінесе біріктірілген жад контроллері бар процессорлар қолданылады. Бұл іске асырудың кейбір кемшіліктері мыналар:

Тек бір контроллер бар, бірақ көптеген жад ұяшықтарын басқару қажет - жоғары өнімділікті сақтай отырып, бір уақытта қызмет көрсететін жад банктерінің санына шектеу бар;

Процессордан немесе басқа компьютер компоненттерінен бір деректер шинасында басқару командаларын да, деректерді де барлық пайдаланылған жад модульдеріне тасымалдау қажет (шинаға жүктеме артады).

Жағдайды жақсарту үшін әрбір жад модулінде контроллер функцияларының бір бөлігін енгізу туралы шешім қабылданды. Ол үшін жад модуліне арнайы микросхема біріктірілген, ол буфер қызметін атқарады, ол орталық процессордан адрестерді басқару және орнату командаларын қабылдайды (бұл жағдайда жадқа деректер ағыны шинаға параллель жүреді. командалар ағыны). Буферлік жады осылай дүниеге келді.

Кейінірек бұл буферде қателерді түзету функциялары (ECC) іске асырыла бастады, сонымен қатар деректер шинасына қосымша жүктемесіз жадты ұлғайту мүмкін болды. Буферді іске асыруға арналған қосымша микросхемалар регистрлер, ал жадтың өзі тіркелген жад ретінде белгілі болды.

Уақыт өте келе толық буферленген жад модульдері (FB - толық буферленген) пайда болды, олардың буферіне (тізіліміне) тек басқару сигналдары ғана емес, сонымен қатар деректер бір ағында дәйекті түрде тасымалдана бастады. Аралық буферді пайдаланған кезде жад жұмысында біршама баяулау байқалады, себебі буферге жазу үшін бір аралық цикл қажет.

Қосымша регистр микросхемасының болуына және күрделі технологияларды қолдануға байланысты мұндай жады тіркелмеген жадқа қарағанда әлдеқайда қымбатқа түседі. Бірақ, оның эргономикасы, дыбыс деңгейін жоғарылату мүмкіндігі, сондай-ақ қателерді басқару арқасында ол серверлік жүйелерде кеңінен қолданылады, мұнда деректердің үлкен көлемімен тұрақты және қатесіз жұмыс өте маңызды.

Үйлесімділік мәселелері.

Буферлік жад модульдері дамуының бастапқы кезеңдерінде жұмыс үстелі және серверлік жүйелерде қолданылды, бірақ тіркелген жадтың пайда болуы оны ДК-де пайдалану мүмкіндігін жойды.

Жұмыс үстелі жүйелерінде тіркелген жадты пайдалану практикалық емес (артық шығындар) және жиі мүмкін емес, өйткені жұмыс үстелінде қолданылатын аналық платалардың көпшілігі тіркелген жадты қолдамайды. Қазіргі заманғы серверлік жүйелерде қолданылатын аналық платалар, керісінше, тек тіркелген жадпен жұмыс істеуге арналған, өйткені сыйымдылықты арттыру (платформаны өзгертпей) және қателерді басқару мүмкіндігі серверлер үшін құнынан гөрі маңызды фактор болып табылады.

Көбінесе компоненттерді таңдаған кезде біз әртүрлі түсініксіз терминдер мен ұғымдарды кездестіреміз. ЖЖҚ таңдағанда, ол DDR, DDR2, DDR3, DDR4, RDRAM, RIMM және т.б. Егер ЖЖҚ-ның негізгі түрлерімен бәрі азды-көпті түсінікті болса және әрбір түрге қолдау аналық платаның сипаттамасында көрсетілген болса, онда ECC сияқты параметр көптеген адамдар үшін кейбір сұрақтар тудырады. ECC жады дегеніміз не? Үй компьютерінде ECC RAM пайдалану мүмкін бе және ECC RAM мен ECC емес жедел жадтың негізгі айырмашылығы неде?

ECC жады дегеніміз не?

Бұл кірістірілген қателерді түзету аппаратурасы бар жедел жадтың ерекше түрі. Мұндай жад модульдері деректердің дұрыстығына және оларды өңдеудің сенімділігіне қойылатын талаптар дербес компьютерлерге қарағанда әлдеқайда жоғары болатын серверлер үшін арнайы әзірленген.

ECC-Ram сақтау блоктарындағы деректердің өздігінен өзгеруін, яғни орын алған қателерді автоматты түрде таниды. Регулярлы - түзету механизмдерін қолдаусыз жұмыс үстелі жады ECC емес деп аталады.

ECC жады не істей алады және ол қалай жұмыс істейді?

Қатені түзететін жад әрбір машина сөзіндегі 1 бит өзгертілген деректерді анықтап, түзете алады. Бұл нені білдіреді? Егер жазу мен оқу арасындағы деректер қандай да бір себептермен өзгертілсе (яғни қате орын алса), онда ECC ЖЖҚ мәнді дұрысына түзетеді. Мұндай функциялар ЖЖҚ контроллерінен қолдауды қажет етеді. Бұл қолдауды қазіргі заманғы процессорлардағы кірістірілген жедел жады контроллері, аналық платаның чипсетімен ұйымдастыруға болады.

Қателерді түзету алгоритмі Хамминг кодына негізделген, бірақ басқа алгоритмдер бірнеше қатені түзету үшін қолданылады. Іс жүзінде жад модульдері пайдаланылады, мұнда әрбір 8 жад микросхемасы үшін ECC кодтарын сақтайтын тағы бір чип қосылады (негізгі жадтың әрбір 64 битіне 8 бит).

ЖЖҚ жады ұяшықтарындағы мән неге бұрмаланған?

Деректердің бұрмалануының негізгі себептерінің бірі – ғарыштық сәулелер. Біз Жерде атмосфераның қорғауында болсақ та, ғарыштық сәулелер электроникаға, соның ішінде компьютер жадына әсер ететін кейбір қарапайым бөлшектерді алып жүреді. Осы бөлшектердің энергиясының әсерінен жад ұяшығының күйінің өзгеруі мүмкін, бұл деректердің бұрмалануына және қателеріне әкеледі. Бір қызығы, ғарыштық сәулелердің әсері биіктікке қарай артады, сондықтан биік таулы компьютерлік жүйелер жақсырақ қорғауды қажет етеді.

ECC жады қалай жұмыс істейді

ЖЖҚ-дағы қателерді бақылау механизмдерінің бірі деректердегі қате фактісін түзетуге мүмкіндік беретін, бірақ деректерді түзетуге мүмкіндік бермейтін паритет технологиясын пайдалану болып табылады.

Хамминг коды ECC түзету үшін пайдаланылады. ECC компьютерлік жүйелерді жадтың бұзылуына байланысты дұрыс жұмыс істемеуден қорғайды және жүйенің маңызды сәтсіздігінің ықтималдығын азайтады. ECC қолдауы бар жад қолданбаға байланысты ECC емес жадқа қарағанда 2-3% баяу.

ECC жадын пайдалану себептері

Жұмыс үстеліндегі компьютерлерде ECC қолдайтын жедел жадты пайдаланудың объективті себебі жоқ. Деректер қателерінің орын алу ықтималдығы өте аз болғандықтан, компьютерді қалыпты пайдалану сценарийлерінде қатенің компьютерде ақаулықтарды немесе бұзылуларды тудыруы екіталай. Ең нашар сценарий - сыртқы көрініс көк экран BSOD өлімі. Сонымен қатар, ECC оперативті жадын пайдалану жұмыс үстелі процессорлары мен аналық платаларкөпшілігі бұл ЖЖҚ түрін қолдамайды.

ECC қателерін түзетуі бар жедел жадты пайдалану ақауларға төзімділік пен сенімділікке қойылатын талаптар өте жоғары болатын сервер мен корпоративтік сегмент үшін өзекті болып табылады, ал деректердің дұрыстығы есептеулердің нәтижелеріне және тұтастай жүйенің жұмысына әсер етуі мүмкін. .

Сізге қалай? -

Айыра алады үшМикроконтроллерлерде қолданылатын жадының негізгі түрлері:

● жад бағдарламалар,ол программа кодын және константаларды сақтауға арналған тек оқуға арналған жад. Бұл жад программаның орындалу барысында оның мазмұнын өзгертпейді;

● жад деректер,программаны орындау кезінде айнымалыларды (нәтижелерді) сақтауға арналған;

тіркелумикроконтроллердің ішкі регистрлерінен тұратын жады. Жадтың осы түрлерінің әрқайсысының ерекшеліктерін қарастырыңыз.

Бағдарлама жады.

Мұндай жадтың қажеттілігі микроконтроллерде орындалатын бағдарлама жүктелетін компьютердегі қатты диск сияқты жад құрылғыларының болмауына байланысты. Сондықтан бағдарлама коды микроконтроллерде тұрақты сақталуы керек.

Бағдарлама жадының барлық түрлері өзгермейтінгежад немесе тек оқуға арналған жад (ROM), оның мазмұны микроконтроллер өшірілгеннен кейін сақталады.

Орындалу кезінде бағдарлама осы жадтан оқылады, ал басқару блогы (командалық декодер) оның декодталуын қамтамасыз етеді және қажетті операцияларды орындайды. Бағдарламаны орындау кезінде бағдарлама жадының мазмұнын өзгерту (қайта бағдарламалау) мүмкін емес. Сондықтан микроконтроллердің функционалдығы оның бағдарламалық жадының мазмұны жойылмайынша (мүмкіндігінше) және қайта бағдарламаланбайынша (жаңа нұсқаулармен толтырылғанша) өзгермейді.

Айта кету керек, микроконтроллердің разряды (8, 16 немесе 32 бит) оның деректер шинасы битіне сәйкес көрсетіледі.

Құрылғы 8 биттік деп айтылса, бұл микроконтроллер өңдеуге қабілетті деректер биттерінің санын білдіреді.

Гарвард архитектурасында нұсқаулықтар бір сағаттық циклде бүкіл нұсқаулықты оқуға мүмкіндік беретін деректерден үлкен болуы мүмкін. Мысалы, PIC микроконтроллерлері үлгіге байланысты разряд ені 12, 14 немесе 16 бит болатын командаларды пайдаланады. AT AVR микроконтроллерлеріПәрмен әрқашан ені 16 бит. Дегенмен, бұл микроконтроллерлердің барлығында 8 биттік деректер шинасы бар.

Принстон архитектурасының құрылғыларында деректер ені әдетте пайдаланылатын шинаның бит енін (жолдар санын) анықтайды. Motorola 68HC05 микроконтроллерлерінде 24-биттік нұсқаулық үш 8-биттік бағдарлама жады ұяшықтарында орналасқан. Мұндай нұсқауды толығымен алу үшін осы жадтың үш оқу циклін орындау қажет.

Бесеуін қарастырайық түрлерібағдарламаларды сақтау үшін пайдаланылатын тұрақты жад немесе тек оқуға арналған жад (ROM).

Маска жады.

Маска ROM (Mask-ROM немесе жай ғана ROM) толық жөндеуден өткен бағдарлама үшін микроконтроллерді өндіру сатысында жасалады. Шыны фотомаскада бағдарламаны пайдалану кезінде маска үлгісі жасалады. Алынған маскасы бар фотомаска программа жадысын құрайтын элементтер арасында байланыстарды құру үшін қолданылады.

Алғашқы маска ROM-лары 1960-шы жылдардың басында пайда болды және олардың арқасында бүгінгі күнге дейін қолданылуда. ізгіліктерөнімдерді жаппай өндірудегі төмен шығындар және бағдарламаны сақтаудың жоғары сенімділігі ретінде.

Кемшіліктер mask ROM – қолданбалы бағдарламаның кез келген өзгерісі фотомаскалардың жаңа жиынтығын жасауға және оларды өндіріске енгізуге айтарлықтай шығындар мен уақытпен байланысты.

Бір реттік бағдарламаланатын жады.

Бұл жад (One-Time Program mable ROM - OTPROM) пайдаланушы бағдарламалайды және бастапқыда бір биттері бар ұяшықтарды қамтиды. Тек сол жад ұяшықтары ғана бағдарламалауға жатады, олардың мазмұны 0 мәнін қабылдауы керек. Ол үшін жад ұяшығына жоғарылаған кернеу импульстерінің тізбегі қолданылады.

Кернеу деңгейі, импульстар саны және олардың уақыт параметрлері техникалық сипаттамаларға қатаң сәйкес келуі керек. Нөлді жазғаннан кейін бір мәнді қалпына келтіру мүмкін емес. Осы себепті жады деп аталады бір рет бағдарламаланатынТҰРАҚТЫ ЖАДТАУ ҚҰРЫЛҒЫСЫ. Дегенмен, мүмкіндікті атап өту керек қосымша бағдарламалаужалғыз биттері бар (қоспаған) ұяшықтар.

Бір реттік бағдарламаланатын ROM бар микроконтроллерлер шағын партиялармен шығарылатын өнімдерде қолданылады.

Ультракүлгін сәулені өшіретін қайта бағдарламаланатын жад.

Өшірілетін бағдарламаланатын ROM (EPROM) жад ұяшығы LIPSMOS (қалқымалы қақпа көшкіні инъекциясы) транзисторы болып табылады. Бастапқы күйде (жазу алдында) ұяшыққа кіру кезінде логикалық бірлік оқылады. Жадты бағдарламалау сәйкес ұяшықтарға логикалық нөлдерді жазумен аяқталады. EP ROM бірнеше бағдарламалауға қабілетті, олардың технологиясы бір реттік бағдарламаланатын ROM технологиясына ұқсас.

Әрбір бағдарламалау сеансы алдында, өшіру операциясыжад ұяшықтарының бастапқы күйін қалпына келтіру үшін. Ол үшін микроконтроллер корпусында ультракүлгін сәулелермен сәулеленетін арнайы терезе қарастырылған. ROM өшіру/бағдарламалау сеанстарының саны бағдарламалау технологиясына (қоректендіру кернеулерінің белгіленген мәндері, импульстердің саны мен ұзақтығы) және өшіру технологиясына (ультракүлгін сәулелену көзінің толқын ұзындығы диапазоны) сәйкес 25-100 рет құрайды.

EPROM жадысы бар микроконтроллерлер жоғары құнына байланысты әзірленген қолданбалы бағдарламалардың прототиптерінде қолданылады.

Құнды азайту үшін EPROM чиптері терезесі жоқ қорапқа салынған (бір реттік бағдарламалауы бар EPROM нұсқасы). Құнды азайтуға байланысты маскамен бағдарламаланатын ROM орнына жиі EPROM нұсқалары қолданылады.

Электрлік өшірумен қайта бағдарламаланатын жад.

Электрлік өшіретін жад элементі ретінде (Electrically Erasable Pro gramable ROM - EEPROM немесе E2 PROM) MNOS құрылымы бар транзистор (метал, кремний нитриді, кремний оксиді, жартылай өткізгіш) пайдаланылады, соның арқасында ROM салыстырмалы түрде төмен бағаға ие. (EPROM-ға қатысты) және өшіру/бағдарламалау циклдерінің ең көп санына мүмкіндік береді 10 4 -10 6 . Сонымен қатар, EEPROM жадты бағдарламалау технологиясы жүзеге асыруға мүмкіндік береді байтты өшіружәне байт бағдарламалау,контроллерді тақтадан шығармай-ақ, оны мерзімді түрде жаңартуға мүмкіндік береді бағдарламалық қамтамасыз ету.

Осы артықшылықтарға қарамастан, жадтың бұл түрі екі себепке байланысты бағдарламаларды сақтау үшін кеңінен қолданылмайды:

● EEPROM құрылғыларының сыйымдылығы шектеулі;

● Ұқсас пайдаланушы сипаттамалары бар, бірақ арзанырақ болатын FLASH типті ROM дискілері пайда болды.

Флеш жады.

Электрлік бағдарламаланатын және электрлік өшірілетін FLASH жады (FLASH ROM) арзан сыйымдылығы жоғары бір реттік бағдарламаланатын ROM және қымбат EEPROM ROM арасында балама ретінде жасалған. шағын сыйымдылық. FLASH жады (мысалы, EEPROM) қайта-қайта өшіру және бағдарламалау мүмкіндігін сақтап қалды.

Әрбір ұяшықтың адрестеу транзисторы ROM тізбегінен алынып тасталды, бұл бір жағынан жадының әрбір битін бөлек бағдарламалауды мүмкін етпесе, екінші жағынан жады көлемін ұлғайтуға мүмкіндік берді. Сондықтан, FLASH жады өшіріледі және бағдарламаланады беттер немесе блоктар.

Осылайша, функционалдық тұрғыдан FLASH-жадтың EEPROM-дан айырмашылығы аз. Негізгі айырмашылық жазылған ақпаратты өшіру әдісінде: егер EEPROM-жадта өшіру әрбір ұяшық үшін жеке орындалса, FLASH-жадта - тұтас блоктарда. EEPROM жады бар микроконтроллерлерде бүкіл құрылғыны қайта бағдарламалауды қажет етпей, бағдарламаның жеке бөлімдерін өзгерту қажет.

Қазіргі уақытта FLASH бар MCU-лар MCU-ны бір реттік бағдарламаланатын (тіпті маскаланған) ROM-мен алмастыра бастады.

ROM бағдарламалау.

Есіңізде болсын, Mask ROM жады МК өндіру кезінде зауытта ғана бағдарламаланады. OTPROM және EPROM жад түрлері әзірлеушіге бағдарламалаушыны және MCU сәйкес шығыстарына қосылған күшейткіш кернеу көзін пайдаланып бағдарламалау мүмкіндіктерін береді.

EEPROM және FLASH жады қайта бағдарламаланатын немесе қайта бағдарламаланатынжады. Өшіру/бағдарламалау үшін қажетті жоғары қуат қазіргі заманғы контроллерлердің EEPROM және FLASH жад модульдерінде орнатылған кернеуді күшейту схемалары арқылы жасалады. сорғы генераторлары.Іске асырудың арқасында бағдарламаны басқаруСорғы генераторын қосу және өшіру арқылы негізінен FLASH және EEPROM жад ұяшықтарын әзірленіп жатқан жүйенің бөлігі ретінде бағдарламалау немесе өшіру мүмкін болды. Бұл бағдарламалау техникасы деп аталады жүйеде бағдарламалау(Жүйелік бағдарламалауда - ISP).

Ол арнайы жабдықты (бағдарламашыларды) қажет етпейді, бұл бағдарламалау шығындарын азайтады. ISP жады бар микроконтроллерлерді соңғы өнімнің тақтасына орнатқаннан кейін бағдарламалауға болады.

Қолданбалы бағдарламаның басқаруымен EEPROM-жадты бағдарламалау мүмкіндігі қалай жүзеге асырылатынын (және қолданылатынын) қарастырайық. Бағдарламалау алгоритмі бар бағдарлама номиналды қоректендіру кернеуі бар жеке жад модулінде сақталса, ал EEPROM жады сорғы генераторларымен қамтамасыз етілсе, онда EEPROM жадының ISP бағдарламалауын орындауға болады. Бұл жағдай EEPROM жадын өнімнің жұмысы кезінде өзгертілген пайдаланушы параметрлерін сақтауға арналған тамаша тұрақты сақтау құрылғысы етеді. Мысал ретінде арна параметрлері қуат өшірілгенде сақталатын заманауи теледидарды келтіруге болады.

Сондықтан 8-разрядты МК-ның резиденттік жадысын жақсарту тенденцияларының бірі МК чипіне екі тұрақты жад модулін біріктіру болды: FLASH (немесе OTP) - бағдарламаларды сақтауға және EEPROM - қайта бағдарламаланатын тұрақтыларды сақтауға арналған.

Технологияны қарастырыңыз (қайта) FLASH бағдарламалау– қолданбалы бағдарламамен басқарылатын кірістірілген сорғы генераторы бар жад. Ең алдымен, біз екі фактіні атап өтеміз:

● қайта бағдарламаланатын тұрақтыларды сақтау үшін МК-ға EEPROM жады салынған болса, онда дайын өнімнің жұмысы кезінде бірнеше бит FLASH-жадты бағдарламалаудың мағынасы жоқ. Қажет болса, қайта бағдарламалау режимін дереу қолданған дұрыс;

● FLASH-жадты бағдарламалау бағдарламасын FLASH-жадының өзінде сақтауға болмайды, өйткені бағдарламалау режиміне ауысу оны әрі қарай оқуды мүмкін емес етеді. Бағдарламалау бағдарламасы басқа жад модулінде орналасуы керек.

Жүйеде бағдарламалау технологиясын енгізу үшін MC сериялық порттарының бірі таңдалады, оған арнайы оператор қызмет көрсетеді. байланыс бақылау бағдарламасы, ROM МК резиденттік маскасында орналасқан. Сериялық порт арқылы Дербес компьютербағдарламаны жедел жадқа жүктейді бағдарламалаужәне қолданылдыбағдарлама, содан кейін ол FLASH жадында сақталады. МК резидентті жедел жадының көлемі аз болғандықтан қолданбалы бағдарлама бөлек блоктарда (порцияларда) жүктеледі. MCU-да бағдарламалау бағдарламасы бар маска жады модулі орнатылған болса, ЖЖҚ-ға тек қолданбалы бағдарлама жүктеледі.

Жүйеде бағдарламалау технологиясын жүзеге асыратын микроконтроллерлер жиі кіреді төртжад түрі:

FLASH – программа жады, Mask ROM – байланыс мониторының жады, EEPROM – айнымалы константаларды сақтауға арналған жад және аралық деректер ЖЖҚ.

Жүйедегі бағдарламалау технологиясы қазіргі уақытта соңғы өнімнің тақтасында орналасқан микроконтроллерлерге қолданбалы бағдарламаларды енгізу үшін көбірек қолданылады. Оның абырой- МК көрсетілген ішкі режимдерінің тұрақтылығына байланысты бағдарламалаушының жоқтығы және бағдарламалаудың жоғары сенімділігі.

Мысал ретінде біз Motorola-дан MC HC08 отбасының тұрақты FLASH-жадының көрсеткіштерін ұсынамыз:

● өшіру/бағдарламалау циклдарының кепілдік берілген саны – 10 5 ;

● Тіркелген ақпаратты сақтаудың кепілдік мерзімі – 10 жыл, бұл іс жүзінде өнімнің өмірлік циклі; FLASH-жад модульдері жұмыс істейді және МК қоректендіру кернеуінде 1,8-ден 2,7 В-қа дейін бағдарламаланады;

● 1 байт жад үшін баламалы бағдарламалау уақыты 60 мкс.

Деректер жады.

Резидентті деректер жады ретінде пайдаланылады статикалықКездейсоқ қол жеткізу жады (RAM), ол тактілік жиілікті еркін шағын мәндерге дейін азайтуға мүмкіндік береді. ЖЖҚ ұяшықтарының мазмұны (динамикалық жадтан айырмашылығы) нөлдік жиілікке дейін сақталады. Статикалық жедел жадтың тағы бір ерекшелігі қоректендіру кернеуін белгілі бір минималды рұқсат етілген деңгейге дейін төмендету мүмкіндігі болып табылады, бұл кезде микроконтроллерді басқару бағдарламасы орындалмайды, бірақ ЖЖҚ ішіндегі мазмұн сақталады.

Сақтау деңгейі бір вольт ретінің мәніне ие, бұл қажет болған жағдайда деректерді сақтау үшін МК-ны автономды көзден (батареядан немесе аккумулятордан) қуатқа беруге мүмкіндік береді. Кейбір МК (мысалы, Dallas Semiconductor компаниясының DS5000) корпусында 10 жыл бойы жедел жадтағы деректердің сақталуына кепілдік беретін автономды қуат көзі бар.

Микроконтроллерлерге тән қасиет айнымалыларды сақтау үшін қолданылатын жедел жадтың (ЖЖҚ) салыстырмалы түрде аз мөлшері (жүздеген байт) болып табылады. Мұны бірнеше факторлармен түсіндіруге болады:

● МК аппараттық құралдарын жеңілдетуге ұмтылу;

● жедел жадының көлемін азайтуға бағытталған бағдарламаларды жазу кезінде белгілі бір ережелерді қолдану (мысалы, тұрақтылар айнымалылар ретінде сақталмайды);

● жад ресурстарын деректерді жедел жадқа орналастырудың орнына аппараттық құралдарды (таймерлер, индекстік регистрлер және т.б.) барынша пайдаланатындай етіп бөлу;

● қолданбалы бағдарламаларды үлкен деректер массивтерін қолданбай жұмыс істеуге бағдарлау.

Стек мүмкіндіктері.

Микроконтроллерлерде жедел жадының бір бөлігі деп аталады стек.Бұл операцияларды орындау кезінде программалық есептегіштің және негізгі регистрлердің (аккумулятор, күй регистрі, индекс және басқа регистрлер) мазмұны сақталады, ал негізгі бағдарламаға оралғанда қалпына келтіріледі. Еске салайық, стек принцип бойынша жұмыс істейді: соңғы кірген - бірінші шыққан(Соңғы кірген, бірінші шыққан-LIFO).

Принстон архитектурасында RAM көптеген аппараттық функцияларды, соның ішінде стек функцияларын жүзеге асыру үшін қолданылады. Жад мекенжай кеңістігінде командалар, жалпы мақсаттағы регистрлер, арнайы функциялар регистрлері және т.б. үшін бөлек аймақтар бөлінген. Бұл контроллердің өнімділігін төмендетеді, өйткені әртүрлі жад аймақтарына кіруді бір уақытта орындау мүмкін емес.

Гарвард микропроцессорлары бағдарлама жадын, деректер жадысын (енгізу-шығару кеңістігін қоса) және стекке параллельді (бір уақытта) бағыттай алады.

Мысалы, CALL ішкі бағдарламасының нұсқауы іске қосылғанда, бір уақытта бірнеше әрекет орындалады.

Принстон архитектурасында CALL командасы орындалғанда, келесі нұсқау бағдарлама есептегішінің мазмұны стекке итерілгеннен кейін ғана алынады.

Екі архитектураның микроконтроллерлеріндегі жедел жадының шағын сыйымдылығына байланысты бағдарламаны орындау кезінде проблемалар туындауы мүмкін:

● егер бөлек стек бөлінген болса, онда ол толтырылғаннан кейін стектің көрсеткішінің мазмұны циклді түрде өзгереді, нәтижесінде стектің көрсеткіші бұрын толтырылған стек ұяшығына сілтеме жасай бастайды. Сондықтан, тым көп CALL нұсқауларынан кейін дұрыс адрестің орнына жазылған стекте қате қайтару мекенжайы болады;

● Егер микропроцессор деректер мен стекті орналастыру үшін жалпы жад аймағын пайдаланса, стектің толып кетуі деректерді қайта жазады. Стекке жүктеу (PUSH) және стектен шығару (POP) нұсқауларының жоқтығынан регистрлердің мазмұнын стекке сақтау ерекшеліктерін қарастырайық. Мұндай микроконтроллерлерде PUSH және POP командаларының орнына екі команда мен индекстік регистр қолданылады, олар стек аймағын анық көрсетеді. Нұсқаулар реті бірінші және екінші нұсқау арасындағы үзіліс деректердің жоғалуына әкелмейтіндей болуы керек. Төменде көрсетілген талапты ескере отырып, PUSH және POP командаларының имитациясы берілген.

БАСЫҢЫЗ ; Деректерді стек азайту индексіне жүктеңіз; Келесі стек орнына жылжыту [индекс], ace; Аккумулятордың мазмұнын POP стекінде сақтаңыз; Деректерді стекке жылжыту ace, ; Стек мәнін аккумулятордың өсу индексіне итеріңіз; Алдыңғы стек ұяшығына жылжытыңыз

Егер бағдарлама бірінші нұсқаудан кейін үзілсе, үзіліс өңделгеннен кейін стектің мазмұны жоғалмайды.

тіркеу жады.

Микроконтроллерлерде (компьютерлік жүйелер сияқты) қолданылатын көптеген регистрлер бар басқару үшінәртүрлі ішкі түйіндер және сыртқы құрылғылар. Оларға мыналар жатады:

● тіркеулер процессор өзегі(батарея, күй регистрлері, индекстік регистрлер);

● тіркеулер басқару(үзулерді басқару регистрлері, таймерді басқару регистрлері);

● деректерді енгізу/шығару регистрлері (деректер регистрлері және параллельді, сериялық немесе аналогтық енгізу/шығыс басқару регистрлері).

Регистрлердің адрестік кеңістікте орналасу тәсілі бойынша мыналарды ажыратуға болады:

● барлық регистрлер мен деректер жады орналасқан микроконтроллерлер бірмекенжай кеңістігі, яғни регистрлер деректер жадымен теңестіріледі. Бұл жағдайда енгізу-шығару құрылғылары жадыға салыстырылады;

● енгізу/шығару құрылғылары болатын микроконтроллерлер бөлінгенжалпы жадтың мекенжай кеңістігінен. Енгізу/шығару регистрлерін жеке адрестік кеңістікте орналастыру әдісінің негізгі артықшылығы программа жады мен мәліметтерді жалпы шинаға қосу схемасын жеңілдетеді. Жеке енгізу/шығару кеңістігі Гарвард архитектурасының процессорларына енгізу/шығару регистріне қатынасу кезінде нұсқаулықты оқуға мүмкіндік беру арқылы қосымша артықшылық береді.

Регистрлерге қол жеткізу жолы олардың жұмысына айтарлықтай әсер етеді. RISC архитектурасы бар процессорларда барлық регистрлер (көбінесе аккумулятор) процессор жұмысын ұйымдастыруда үлкен икемділікті қамтамасыз ететін айқын адрестерде орналасады.

Сыртқы жады туралы.

Әзірленген қосымшалар үшін резиденттік бағдарлама жады мен деректер жады жеткіліксіз болған жағдайда микроконтроллерге қосымша сыртқы жады қосылады. белгілі екінегізгі жолдары:

● қосылым сыртқы жадышиналық интерфейсті қолдану (микропроцессорлық жүйелердегі сияқты). Көптеген микроконтроллерлерде бұл қосылым үшін арнайы аппаратура бар;

● жадты енгізу-шығару құрылғыларына қосу.Сонымен бірге жадқа осы құрылғылар арқылы қол жеткізіледі бағдарламалық құралдар. Бұл әдіс күрделі шина интерфейстерін іске асырмай қарапайым енгізу/шығару құрылғыларын пайдалануға мүмкіндік береді. Әдісті таңдау нақты қолданбаға байланысты.

Аннотация: Электрондық жадының элементтері ретінде регистрлердің жұмыс істеу принципі қарастырылады.

Регистр – көпразрядты сөзді есте сақтауға және сақтауға арналған, интеграцияның орташа дәрежесі бар IC.

тіркеу ысырмасы

Қарапайымдылар тіркелубірнеше триггерлердің параллель қосылуы болып табылады (8.1, а-сурет). UGO тіркелімі ысырмасы күріште көрсетілген. 8.1, б. Егер а тіркелуфлип-флоптарға салынған, ол деп аталады тіркелу -«ілмек». Әдетте, буферлік күшейткіштер мен басқару элементтері IC регистрінің бөлігі болып табылады, мысалы, суретте көрсетілгендей. 8.2, а. Мұнда 8-биттің функционалдық диаграммасы берілген D- үш шығыс күйі бар KR580IR82 ысырма регистрі. Оның UGO суретте көрсетілген. 8.2, б.


Күріш. 8.1.Тікелей шығыстары бар төртразрядты «ысырма» регистр: а - функционалдық диаграмма; b - UGO

үшінші мемлекет(алғашқы екеуі логикалық 0 және логикалық 1) - IC шығыстарының күйі, олар қуат көзінен де, ортақ нүктеден де ажыратылады. Бұл штаттың басқа атаулары жоғары кедергі, жоғары кедергі күйі, Z-күй[ , бірге. 61 - 63; , бірге. 68 - 70].

Бұл қол жеткізілді үшінші мемлекетарнайы схема шешімі [ , б. 117 - 118] логикалық элементтердің шығыс бөлігінде, логикалық элементтердің шығыс транзисторлары құлыпталған кезде және шығысқа қоректендіру кернеуін де, жердегі потенциалды да (0 емес және 1 емес) бермеген кезде.

Тіркелу KR580IR82 8 функционалды блоктан тұрады (8.2, а-сурет). Олардың әрқайсысы кіреді D-артқы жиегінде жазуы бар триггер-ысырма және қуатты 3 күйлі шығыс қақпасы. STB- стробтық кіріс, - жіберуді қосу - үшінші күйді басқаратын сигнал: егер , онда ақпарат кірістерден сәйкес шығыстарға беріледі, егер болса, барлық шығыстар үшінші күйге ауыстырылады. Қашан және IS шина пішіндеу режимінде жұмыс істейді - кірістерден ақпарат өзгеріссіз шығыстарға беріледі.

Өтініш берген кезде артқы жиегітриггерлерде жіберілген ақпараттың «сыртқысы» бар, яғни жіберу кезінде не болғанын есте сақтайды. . Сау бол, буфер тіркелуақпаратына қарамастан бұл ақпаратты сақтайды D- кірістер. Алдыңғы жиекті қолданған кезде сақталған кезде шығыстардың күйі сәйкес кірістердің өзгеруіне сәйкес өзгереді. Егер болса, онда барлық шығыс күшейткіштер үшінші күйге ауысады. Бұл жағдайда кірістердің күйіне қарамастан, барлық шығыстар тіркелуүшінші мемлекетке ауыстырылды.

Регистрдің барлық шығыстары белсенді нөлдік деңгейге ие болуы мүмкін, ол UGO-да кері сигналдар және шығыс белгілеулері түрінде көрсетіледі.

Көптеген сорттар бар тіркейді, мысалы, ауыстыру регистрлері [ , 8 тарау], оларда триггерлер ақпаратты бір триггерден екінші триггерге дәйекті түрде тасымалдайтындай түрде өзара байланысқан [ , 109 - 122 б.], бірақ бұл жерде біз ысырма регистріне және оның қолданылуы.

Жадты тіркеу

Тіркелген жад – регистр файлы – төтенше кездейсоқ қол жеткізу жады (SRAM) – бірнеше көпразрядты сөздерді сақтауға арналған бірнеше регистрлердің тізбегі.

Суретте. 8.3 іске асыру үлгісін көрсетеді СОЗУ, төрт 8-биттен тұрады тіркейді(RG2 және RG3 қосылымы көрсетілмеген, ол дәл осылай жүзеге асырылады). Берілген СОЗУақпарат көлемі 4х8 бит – 8 биттік 4 сөз немесе 4 байт. Мұнда DI - деректерді енгізу- деректерді енгізу шинасы, DO-деректер шығару- шығыс деректер шинасы, WR- SRAM-ге сигнал жазу, RD- SRAM-дан ақпаратты оқуға арналған сигнал, VSD - ішкі деректер шинасы.

Әрбір тіркелуекі таңбалы адресі бар, ол дешифратордың кірістеріне беріледі. Мысалы, суреттегі ең сол жақ. 8.3 тіркелу RG1 мекенжайы бар , келесі - (суретте көрсетілмеген), келесі - (көрсетілмеген) және оң жақ шеткі тіркелу RG4 мекенжайы бар.

Белсенді жазу сигналы болса, декодер мекенжай кодына сәйкес біреуіне береді тіркейдікіріс деректер шинасынан қандай ақпарат туралы белсенді сигнал Д.Итаңдалғанға жазылады тіркелу. Артқы жағында, бұл ақпарат тіркелу«қағаздар».

Егер, мысалы, қосулы Д.Иақпарат пен мекен-жайы берілген тіркелутең болса, дешифратордың «3» шығысындағы белсенді сигнал RG4 регистріне қолданылады. Осы уақытта қалған регистрлерде белсенді емес сигнал деңгейі болады, сондықтан кіріс деректер шинасына ақпарат RG4-ке жазылады, ал бұрын жазылған ақпарат қалған регистрлерде сақталады.

Белсенді оқу сигналымен барлық 8 мультиплексор іске қосылады (бірінші, екінші және сегізінші диаграммада көрсетілген, қалғандары ұқсас қосылған), өйткені олардың қосу кірістеріне белсенді сигнал қолданылады. сәйкес мекенжай декодері, мультиплексорлар ақпаратты таңдалған регистрден шығыс деректер шинасына ауыстырады. Мысалы, регистр адресі . Содан кейін барлық мультиплексорларда болады, олардың барлығы адреске сәйкес ақпаратты таңдай бастайды. Сондықтан шығыс шинасында ЖАСАУІшкі шинаның биттері 25 - бірінші мультиплексордан, 26 - екіншіден, 27 - үшіншіден, 28 - төртіншіден, 29 - бесіншіден, 30 - алтыншыдан, 31 - жетіншіден және 32 - сегізіншіден мультиплексор беріледі. Осылайша, мазмұнның көшірмесі болып табылатын ақпарат тіркелу RG 4 мекенжайымен шығыс деректер шинасына тасымалданады DO – мультиплексор шығысының өзгермеген күйі.

Жедел жадтың (RAM) екі негізгі түрі бар; олар буферлі жады — немесе тіркелген жады — және буферленбеген жады. Буферсіз жад буферленген жадқа қарағанда жылдамырақ және жиі әлдеқайда арзан. Осылайша, бұл барлық дерлік үй жұмыс үстелі және ноутбук компьютерлерінде табуға болатын модуль түрі. Буферленген жад буферленбеген түрге қарағанда қымбатырақ, сонымен қатар деректерді сақтау мен іздеуді қалай өңдейтініне байланысты баяуырақ.
Бірақ буферлі жад буферленбеген пішіндерге қарағанда әлдеқайда тұрақты, сондықтан ол негізінен негізгі компьютерлер мен серверлерде қолданылады.

Буферленбеген жад – күнделікті қолданыста болатын компьютерлік жад модулінің ең көп таралған түрі. Бұл жад модульдері буферлі жад модульдерімен салыстырғанда, ішінара үйдегі және коммерциялық компьютерлерде жиі қолданылуына байланысты, сондай-ақ олар азырақ пайдаланатындықтан, өндіруге арзан. аппараттық құрал. Буферленбеген жад модулінде жедел жад микросхемасы мен компьютердің жад контроллері арасындағы нұсқаулар үшін регистр ретінде әрекет ететін кірістірілген жабдық жоқ. Бұл жылдамырақ өнімділікке әкеледі, бірақ ақпаратты орналастыру мен алудың, әсіресе қарқынды белсенділік кезеңдерінде кездейсоқ сипатынан туындайтын жад жоғалу қаупін арттырады.

Көбінесе тіркелген жад деп аталады буферлік жад. Буферлік жад, біртүрлі, өз атауын сақтап қалды және тіркелмеген жадқа өзгертілмеді. Буферленген жадтың буферленбеген түрінен айырмашылығы, оның жад микросхемасының бір циклі үшін кэште ақпаратты сақтайтын аппараттық регистр бар. Бұл операция жад микросхемасының баяулауына әкелуі мүмкін, бірақ ол қосымша тұрақтылықты қамтамасыз етеді және жад қателерінің қаупін азайтады.

Жалпы тұтынушылық жағдайда жад модульдерінің екі түрінің арасындағы жылдамдық айырмашылығы шамалы болып көрінеді. Ақпараттың қарқынды алмасу кезеңдерінде кідіріс пайда болады, ол регистрді пайдалану арқылы байқалады. Буферленген жад әдетте серверлік компьютерлер мен негізгі фреймдік жүйелерде тұрақтылықты қамтамасыз ету және буферленбеген модульдер тұрақты ауыр пайдалану кезінде пайда болуы мүмкін зақымнан қорғау үшін қолданылады. Буферленген модульдер қымбатырақ және әдетте іске қосылуы баяуырақ болғанымен, жад тұрақтылығы мен деректер қауіпсіздігі оны өндірістік ортада өтемейді.