У дома / Разни / Какво е ECC RAM? Буферирана RAM - какво е това? Последователни функционални единици. Регистри и регистрационна памет Регистрирайте памет

Какво е ECC RAM? Буферирана RAM - какво е това? Последователни функционални единици. Регистри и регистрационна памет Регистрирайте памет

Всеки знае, че съвременните компютърни устройства имат RAM, където информацията се съхранява само по време на работа. RAM е направена под формата на модули с микросхеми (чипове), които имат набор от клетки за съхраняване на битова информация. Всяка клетка от паметта е проектирана да съхранява нула или единица. 8 такива клетки съхраняват 8 бита (това вече е 1 байт). Такива чипове са направени на базата на полупроводници. Но внедряването на модули и компютър има редица сериозни разлики, които ще разгледаме в тази статия.

Паритетна памет.

В ранен етап от развитието на компютърните технологии технологията за производство на полупроводникови елементи все още не е много добре развита. Следователно имаше възможност за загуба на информация при запис в която и да е клетка от паметта: една беше записана в нея, но не беше записана (остана нула). За да се контролира по някакъв начин процесът на запис в паметта, беше изобретена проста технология за проверка на данните.

Преди записването на един байт (8 бита) се изчислява сумата от всички битове в този байт. Но не беше запомнена цялата контролна сума (за да се спести памет), а само нейният последен бит, чиято стойност (нула или единица) беше запомнена на специално определено за това място. Стойността на този бит (0 или 1) зависи от това дали сумата от битовете е четна или нечетна при добавяне. Следователно този бит стана известен като бит за паритет.

След записване на оригиналния байт в клетките на паметта се изчислява сумата от битовете на такъв съхранен байт и паритетът на тази сума се сравнява с предишния (стойността на който се съхранява в бита за паритет). Ако паритетите на контролните суми съвпадат, тогава се счита, че записът в паметта е успешен. И ако те не съвпадат, тогава се генерира съобщение за грешка. Тази технология се нарича контрол на четността.

Памет без паритет.

С течение на времето започнаха да се появяват по-надеждни микросхеми. Вероятността от грешки в тях стана по-малка. В същото време имаше намаление на цената на електронните компоненти. Производството и продажбите на компютри станаха масови. За някои потребители грешките в работата на компютрите не са критични. Затова на пазара започнаха да се произвеждат модели, които използват памет без паритет. Отърваването от "допълнителния" девети бит (за всеки байт) и "прекомерните" разходи за изчисляване на контролни суми направи възможно донякъде да се намалят разходите за компютри и да ги направят достъпни за масите от потребители. Такива компютри станаха много популярни сред настолните (настолни) системи.

Но в някои индустрии, системи с военно-отбранително значение и банковия сектор, недопустимостта на грешки в изчислителните системи остава една от най-важните задачи.

Памет с контрол и корекция на грешки.

Технологията за контрол на паритета не е перфектна. Не е в състояние да открие, например, "изчезването" на 2 бита едновременно (четността в този случай не се променя). Затова беше решено всеки бит данни, записан в паметта, да бъде включен не в една контролна сума, а в няколко. С такава система за контрол стана възможно едновременното откриване на няколко грешки, техните адреси и в допълнение коригирането на тези грешки. Тази технология беше наречена код за коригиране на грешки (ECC), тъй като беше изчислен код, който позволяваше коригиране на грешки.

Разбира се, за съхраняване на контролни суми са необходими допълнителни регистри, което оскъпява подобни модули памет, но като цяло системите, базирани на ECC памет, са по-устойчиви на грешки. Такива модули памет се използват най-широко в сървърните системи.

Памет с технология за паритет и ECC може да се използва както в сървърни, така и в настолни системи. В първия случай това е оправдано от важността на задачите, които се решават (където цената на най-малката грешка е много висока), а във втория случай не винаги е препоръчително (от икономическа гледна точка: в крайна сметка, за да използвате модули с контрол на грешките, трябва да имате по-скъпа дънна платка, която поддържа тази технология, в противен случай контролът на грешки просто няма да работи).

буферирана памет.

В изчислителните системи контролът на запис / четене към и от паметта се осъществява от специален контролер на паметта. Този контролер трябва да има достъп до всички клетки на паметта и да осигурява прехвърлянето на информация от шината към паметта и обратно. Настолните системи често използват процесори с интегриран контролер на паметта. Някои недостатъци на това изпълнение са следните:

Има само един контролер, но трябва да се управляват много клетки с памет - има ограничение за броя на едновременно обслужваните банки с памет, като същевременно се поддържа висока производителност;

На една шина за данни от процесора или други компютърни компоненти е необходимо да се прехвърлят както команди за управление, така и данни към всички използвани модули памет (натоварването на шината се увеличава).

За да се подобри ситуацията, беше решено да се внедрят част от функциите на контролера във всеки модул памет. За целта в модула памет е интегриран специален чип, който действа като буфер, който получава команди от централния процесор за управление и задаване на адреси (в този случай потокът от данни към паметта върви по шината, успоредна на команден поток). Така се роди буферираната памет.

По-късно в този буфер започнаха да се прилагат функции за коригиране на грешки (ECC) и също така стана възможно да се увеличи паметта без допълнително натоварване на шината за данни. Допълнителните чипове за внедряване на буфера станаха известни като регистри, а самата памет стана известна като регистрирана памет.

С течение на времето се появиха и напълно буферирани модули памет (FB - fully buffered), в чийто буфер (регистър) не само управляващи сигнали, но и данни започнаха да се прехвърлят последователно в един поток. Когато използвате междинен буфер, има известно забавяне в работата на паметта, тъй като е необходим един междинен цикъл за запис в буфера.

Такава памет е много по-скъпа от нерегистрираната поради наличието на допълнителен регистърен чип и използването на сложни технологии. Но поради своята ергономичност, възможността за увеличаване на обема, както и поради контрола на грешките, той се използва широко в сървърни системи, където стабилната и безпроблемна работа с големи количества данни е много важна.

Проблеми със съвместимостта.

Модулите с буферирана памет в ранните етапи на тяхното развитие се използват както в настолни, така и в сървърни системи, но появата на регистрирана памет елиминира възможността за използването й в компютър.

В настолните системи използването на регистрирана памет е непрактично (прекомерна цена) и често невъзможно, тъй като повечето дънни платки, използвани в настолни компютри, не поддържат регистрирана памет. Дънните платки, използвани в съвременните сървърни системи, напротив, са проектирани да работят само с регистрирана памет, тъй като увеличаването на капацитета (без промяна на платформата) и възможността за контрол на грешките са по-важни фактори за сървърите от цената.

Много често, когато избираме компоненти, се сблъскваме с различни неразбираеми термини и понятия. Когато избирате RAM, тя може да бъде DDR, DDR2, DDR3, DDR4, RDRAM, RIMM и др. Ако всичко е повече или по-малко ясно с основните видове RAM и поддръжката за всеки тип е посочена в описанието на дънната платка, тогава такъв параметър като ECC повдига някои въпроси за мнозина. Какво е ECC памет? Възможно ли е да се използва ECC RAM на домашен компютър и каква е основната разлика между ECC RAM и не-ECC RAM?

Какво е ECC памет?

Това е специален вид RAM с вграден хардуер за коригиране на грешки. Такива модули памет са разработени специално за сървъри, където изискванията за коректност на данните и надеждността на тяхната обработка са много по-високи, отколкото при персоналните компютри.

ECC-Ram автоматично разпознава спонтанни промени в данните в блоковете за съхранение, тоест възникнали грешки. Обикновена - настолна памет без поддръжка за коригиращи механизми се нарича не-ECC.

На какво е способна ECC паметта и как работи?

Паметта за коригиране на грешки може да открие и коригира 1 бит променени данни във всяка машинна дума. Какво означава? Ако данните между запис и четене са били променени по някаква причина (т.е. възникнала е грешка), тогава ECC RAM ще коригира стойността до правилната. Тази функционалност изисква поддръжка от RAM контролера. Тази поддръжка може да бъде организирана от чипсета на дънната платка, вградения RAM контролер в съвременните процесори.

Алгоритъмът за коригиране на грешки се основава на кода на Хеминг, но други алгоритми се използват за коригиране на повече от една грешка. На практика се използват модули памет, където на всеки 8 чипа памет се добавя още един чип, който съхранява ECC кодове (8 бита за всеки 64 бита от основната памет).

Защо стойността в клетките на RAM паметта е изкривена?

Една от основните причини за изкривяване на данните са космическите лъчи. Въпреки че сме на Земята под закрилата на атмосферата, космическите лъчи носят със себе си някои елементарни частици, които могат да повлияят на електрониката, включително компютърната памет. Под действието на енергията на тези частици е възможна промяна в състоянието на клетката на паметта, което води до изкривяване на данните и грешки. Интересното е, че излагането на космически лъчи се увеличава с надморската височина, така че компютърните системи на голяма надморска височина изискват по-добра защита.

Как работи ECC паметта

Един от механизмите за контрол на грешките в RAM е използването на технология за паритет, която ви позволява да коригирате факта на грешка в данните, но не ви позволява да коригирате данните.

Кодът на Хеминг се използва за ECC корекция. ECC защитава компютърните системи от неправилна работа поради повреда на паметта и намалява вероятността от критична системна повреда. Паметта с поддръжка на ECC е 2-3% по-бавна от паметта без ECC в зависимост от приложението.

Причини да използвате ECC памет

Няма обективна причина да се използва RAM с активиран ECC в настолни компютри. Тъй като вероятността от възникване на грешки в данните е изключително малка, при нормални сценарии за използване на компютър е изключително малко вероятно дадена грешка да причини проблеми или сривове в компютъра. Най-лошият сценарий е външният вид син екран BSOD смърт. В допълнение, използването на ECC RAM е затруднено от факта, че настолните процесори и дънни платкиповечето не поддържат този тип RAM.

Използването на RAM с ECC корекция на грешки е подходящо за сървърния и корпоративния сегмент, където изискванията за устойчивост на грешки и надеждност са много високи и коректността на данните може да повлияе на резултатите от изчисленията и работата на системата като цяло. .

Как сте? -

Може да се разграничи триосновни видове памет, използвани в микроконтролерите:

● памет програми,която е памет само за четене, предназначена да съхранява програмен код и константи. Тази памет не променя съдържанието си по време на изпълнение на програмата;

● памет данни,предназначени за съхраняване на променливи (резултати) по време на изпълнение на програмата;

регистрирампамет, състояща се от вътрешни регистри на микроконтролера. Помислете за характеристиките на всеки от тези видове памет.

Програмна памет.

Необходимостта от такава памет се дължи на факта, че микроконтролерът не съдържа такива устройства с памет като твърд диск в компютъра, от който се зарежда изпълнимата програма. Следователно програмният код трябва да се съхранява постоянно в микроконтролера.

Всички видове програмна памет са към енергонезависимпамет или памет само за четене (ROM), чието съдържание се запазва след изключване на микроконтролера.

По време на изпълнение програмата се чете от тази памет, а управляващият блок (декодер на команди) осигурява нейното декодиране и извършва необходимите операции. Съдържанието на програмната памет не може да се променя (препрограмира) по време на изпълнение на програмата. Следователно функционалността на микроконтролера не може да се промени, докато съдържанието на неговата програмна памет не бъде изтрито (ако е възможно) и препрограмирано (попълнено с нови инструкции).

Трябва да се отбележи, че битовостта на микроконтролера (8, 16 или 32 бита) се посочва в съответствие с битовостта на неговата шина за данни.

Когато се каже, че едно устройство е 8-битово, това означава броят битове данни, които микроконтролерът може да обработва.

В архитектурата на Харвард инструкциите могат да бъдат по-големи от данните, за да позволят цялата инструкция да бъде прочетена за един такт. Например PIC микроконтролерите, в зависимост от модела, използват команди с битова ширина от 12, 14 или 16 бита. AT AVR микроконтролериКомандата винаги е широка 16 бита. Всички тези микроконтролери обаче имат 8-битова шина за данни.

В устройствата с архитектура Princeton ширината на данните обикновено определя битовата ширина (броя линии) на използваната шина. В микроконтролерите Motorola 68HC05 24-битова инструкция се намира в три 8-битови клетки на програмната памет. За пълно извличане на такава инструкция е необходимо да се извършат три цикъла на четене на тази памет.

Нека да разгледаме пет видовеенергонезависима резидентна памет или памет само за четене (ROM), използвана за съхраняване на програми.

Маска памет.

Маскиращите ROM (Mask-ROM или просто ROM) се правят на етапа на производство на микроконтролер за напълно дебъгвана програма. На стъклена фотомаска при използване на програмата се създава модел на маска. Получената фотомаска с маска се използва за формиране на връзки между елементите, изграждащи програмната памет.

Първите ROM с маски се появяват в началото на 60-те години на миналия век и благодарение на тях се използват и днес добродетеликато ниска цена при масово производство на продукти и висока надеждност на програмното съхранение.

недостатъцимаска ROM - всяка промяна в приложната програма е свързана със значителни разходи и време за създаване на нов набор от фотомаски и въвеждането им в производство.

Еднократно програмируема памет.

Тази памет (One-Time Programmable ROM - OTPROM) е програмируема от потребителя и първоначално съдържа клетки с единични битове. На програмиране подлежат само тези клетки с памет, чието съдържание трябва да приеме стойност 0. За целта към клетката с памет се прилага последователност от импулси с повишено напрежение.

Нивото на напрежението, броят на импулсите и техните времеви параметри трябва стриктно да отговарят на спецификациите. След записване на нула е невъзможно да се възстанови нито една стойност. Поради тази причина паметта се нарича еднократно програмируем ROM. Трябва обаче да се посочи възможността допълнително програмиране(недокоснати) клетки с единични битове.

Микроконтролери с еднократно програмируем ROM се използват в продукти, произведени в малки партиди.

Препрограмируема памет с ултравиолетово изтриване.

Клетката с памет на изтриваем програмируем ROM (EPROM) е транзистор LIPSMOS (лавинно инжектиране с плаващ затвор). В начално състояние (преди запис), при достъп до клетка се чете логическа единица. Програмирането на паметта се свежда до записване на логически нули в съответните клетки. EP ROM са с възможност за многократно програмиране, чиято технология е подобна на еднократно програмируемата ROM технология.

Преди всяка програмна сесия, операция за изтриванеза възстановяване на първоначалното състояние на клетките на паметта. За целта в корпуса на микроконтролера е предвиден специален прозорец, който се облъчва с ултравиолетови лъчи. Броят на сесиите за изтриване/програмиране на ROM е 25–100 пъти в зависимост от технологията на програмиране (зададени стойности на захранващите напрежения, броя и продължителността на импулсите) и технологията на изтриване (обхват на дължината на вълната на източника на ултравиолетово лъчение).

Микроконтролерите с EPROM памет се използват в прототипи на разработени приложения поради високата им цена.

За да се намалят разходите, EPROM чиповете са затворени в кутия без прозорец (EPROM версия с еднократно програмиране). Поради намаляване на разходите, версиите на EPROM често се използват вместо програмируеми с маска ROM.

Препрограмируема памет с електрическо изтриване.

Като елемент на паметта с електрическо изтриване (Electrically Erasable Pro grammable ROM - EEPROM или E2 PROM) се използва транзистор с MNOS структура (метал, силициев нитрид, силициев оксид, полупроводник), поради което ROM има относително ниска цена (по отношение на EPROM) и позволява максимален брой цикли на изтриване/програмиране 10 4 -10 6 . В допълнение, технологията за програмиране на EEPROM памет ви позволява да внедрите изтриване на байтовеи байт програмиране,без да премахвате контролера от платката, което ви позволява периодично да го актуализирате софтуер.

Въпреки тези предимства този тип памет не се използва широко за съхраняване на програми по две причини:

● EEPROM имат ограничен капацитет;

● Появиха се ROM тип FLASH, които имат подобни потребителски характеристики, но на по-ниска цена.

Флаш памет.

Електрически програмируемата и електрически изтриваема FLASH памет (FLASH ROM) е създадена като алтернатива между евтините еднократно програмируеми ROM с голям капацитет и скъпите EEPROM ROM. малък капацитет. FLASH паметта (като EEPROM) запази способността за многократно изтриване и програмиране.

Транзисторът за адресиране на всяка клетка беше премахнат от веригата ROM, което, от една страна, направи невъзможно програмирането на всеки бит памет отделно, от друга страна, направи възможно увеличаването на обема на паметта. Следователно FLASH паметта се изтрива и програмира страници или блокове.

Така функционално FLASH-паметта се различава малко от EEPROM. Основната разлика е в метода на изтриване на записаната информация: ако в EEPROM-паметта изтриването се извършва отделно за всяка клетка, то във FLASH-паметта - на цели блокове. При микроконтролери с EEPROM памет е необходимо да се променят отделни секции от програмата, без да е необходимо да се препрограмира цялото устройство.

Понастоящем MCU с FLASH започват да изместват MCU с еднократно програмируем (и дори маскиран) ROM.

ROM програмиране.

Имайте предвид, че маската ROM памет се програмира само фабрично по време на производството на MK. Типовете памет OTPROM и EPROM предоставят на разработчика възможности за програмиране с помощта на програматор и източник на усилващо напрежение, които са свързани към съответните изходи на MCU.

EEPROM и FLASH паметта се отнасят за препрограмируеми или препрограмируемипамет. Повишената мощност, необходима за изтриване/програмиране, се създава в модулите EEPROM и FLASH памет на съвременните контролери с помощта на вградени схеми за усилване на напрежението, т.нар. помпени генератори.Благодарение на изпълнението програмен контролЧрез включването и изключването на генератора на помпата стана възможно по принцип да се програмират или изтрият FLASH и EEPROM клетки от паметта като част от разработваната система. Тази техника на програмиране се нарича програмиране в системата(В системното програмиране - ISP).

Не изисква специално оборудване (програматори), което намалява разходите за програмиране. Микроконтролерите с ISP памет могат да бъдат програмирани след инсталирането им на платката на крайния продукт.

Нека разгледаме как се реализира (и използва) възможността за програмиране на EEPROM-памет под контрола на приложна програма. Ако програмата с алгоритъма за програмиране се съхранява в отделен модул памет с номинално захранващо напрежение и EEPROM паметта е снабдена с генератори на помпа, тогава може да се извърши ISP програмиране на EEPROM паметта. Това обстоятелство прави EEPROM паметта идеално енергонезависимо устройство за съхранение на потребителски настройки, които се променят по време на работа на продукта. Пример е модерен телевизор, чиито настройки на канала се запазват при изключване на захранването.

Следователно, една от тенденциите в подобряването на резидентната памет на 8-битовите MK беше интегрирането на два модула с енергонезависима памет в чипа MK: FLASH (или OTP) - за съхраняване на програми и EEPROM - за съхраняване на препрограмируеми константи.

Обмислете технологията (повторно) FLASH програмиране–памет с вграден помпа генератор, управляван от приложна програма. На първо място, отбелязваме два факта:

● ако в MK е вградена EEPROM памет за съхраняване на препрограмируеми константи, тогава програмирането на няколко бита FLASH-памет по време на работа на готовия продукт няма смисъл. Ако е необходимо, по-добре е незабавно да използвате режима на препрограмиране;

● Не трябва да съхранявате програмата за програмиране на FLASH-паметта в самата FLASH-памет, тъй като преминаването в режим на програмиране ще направи невъзможно по-нататъшното й четене. Програмата за програмиране трябва да се намира в друг модул памет.

За реализиране на технологията за програмиране в системата се избира един от серийните портове на MC, който се обслужва от специален програма за наблюдение на комуникацията,разположен в резидентната маска ROM MK. През серийния порт Персонален компютързарежда програмата в RAM паметта програмиранеи приложенопрограма, която след това се съхранява във FLASH памет. Тъй като резидентната RAM на MK има малък обем, приложната програма се зарежда на отделни блокове (порции). Ако в MCU е инсталиран маскиращ модул с памет с програма за програмиране, в RAM се зарежда само приложната програма.

Микроконтролерите, които прилагат технология за програмиране в системата, често включват четиритип памет:

FLASH - програмна памет, Mask ROM - комуникационна мониторна памет, EEPROM - памет за съхранение на променливи константи и междинни данни RAM.

Технологията на програмиране в системата сега все повече се използва за въвеждане на приложни програми в микроконтролери, разположени на платката на крайния продукт. нея достойнство- липса на програматор и висока надеждност на програмирането, поради стабилността на зададените вътрешни режими на МК.

Като пример представяме показателите на резидентната FLASH-памет от семейството MC HC08 от Motorola:

● гарантиран брой цикли на изтриване/програмиране - 10 5 ;

● Гарантирано време за съхранение на записаната информация - 10 години, колкото на практика е жизненият цикъл на продукта; Модулите FLASH-памет работят и се програмират при захранващо напрежение на МК от 1,8 до 2,7 V;

● Еквивалентното време за програмиране за 1 байт памет е 60 µs.

Памет за данни.

Използва се като резидентна памет за данни статиченПамет с произволен достъп (RAM), която ви позволява да намалите тактовата честота до произволно малки стойности. Съдържанието на RAM клетките (за разлика от динамичната памет) се съхранява до нулева честота. Друга особеност на статичната RAM е възможността за намаляване на захранващото напрежение до определено минимално допустимо ниво, при което програмата за управление на микроконтролера не се изпълнява, а се запазва съдържанието в RAM.

Нивото на съхранение има стойност от порядъка на един волт, което позволява, ако е необходимо, да прехвърлите MK към захранване от автономен източник (батерия или акумулатор), за да запазите данни. Някои MK (например DS5000 от Dallas Semiconductor) имат автономно захранване в кутията, което гарантира запазването на данните в RAM за 10 години.

Характерна особеност на микроконтролерите е сравнително малкото количество (стотици байтове) памет с произволен достъп (RAM), използвано за съхраняване на променливи. Това може да се обясни с няколко фактора:

● стремеж към опростяване на хардуера на МК;

● използване на определени правила при писане на програми, насочени към намаляване на обема на RAM паметта (например константите не се съхраняват като променливи);

● разпределение на ресурсите на паметта по такъв начин, че вместо поставяне на данни в RAM, максимално използване на хардуер (таймери, индексни регистри и др.);

● ориентация на приложните програми за работа без използване на големи масиви от данни.

Функции на стека.

В микроконтролерите част от RAM паметта, т.нар стек.По време на тези операции съдържанието на програмния брояч и основните регистри (акумулатор, регистър на състоянието, индекс и други регистри) се записват и възстановяват при връщане към основната програма. Спомнете си, че стекът работи на принципа: последно влязъл - първи излязъл(Последен вход, първи изход-LIFO).

В архитектурата на Принстън RAM се използва за реализиране на много хардуерни функции, включително стекови функции. В адресното пространство на паметта се разпределят отделни области за команди, регистри с общо предназначение, регистри за специални функции и т.н. Това намалява производителността на контролера, тъй като достъпът до различни области на паметта не може да се извършва едновременно.

Харвардските микропроцесори могат да адресират програмната памет, паметта за данни (включително I/O пространство) и стека паралелно (едновременно).

Например, когато се активира инструкция за подпрограма CALL, няколко действия се изпълняват едновременно.

В архитектурата на Принстън, когато се изпълни инструкция CALL, следващата инструкция се извлича само след като съдържанието на програмния брояч е избутано в стека.

Поради малкия капацитет на RAM в микроконтролерите на двете архитектури могат да възникнат проблеми при изпълнение на програмата:

● ако се разпредели отделен стек, то след запълването му, съдържанието на указателя на стека се променя циклично, в резултат на което указателят на стека започва да препраща към предварително попълнената клетка на стека. Следователно, след твърде много инструкции CALL, грешният адрес за връщане ще бъде в стека, който е записан вместо правилния адрес;

● Ако микропроцесорът използва обща област на паметта, за да побере данни и стека, тогава препълването на стека ще презапише данните. Нека разгледаме характеристиките на запазване на съдържанието на регистрите в стека, поради липсата на инструкции за зареждане в стека (PUSH) и изскачане от стека (POP). В такива микроконтролери вместо инструкциите PUSH и POP се използват две инструкции и индексен регистър, който изрично сочи към областта на стека. Последователността на инструкциите трябва да бъде такава, че прекъсването между първата и втората инструкция да не води до загуба на данни. Следното е симулация на командите PUSH и POP, като се вземе предвид определеното изискване.

PUSH ; Заредете данни върху индекса за намаляване на стека; Преминаване към следващото място на стека ход [индекс], асо; Съхранявайте съдържанието на акумулатора в стека POP; Изскачане на данни от стек движение асо, ; Избутайте стойността на стека в индекса на нарастване на акумулатора; Преминаване към предишната стекова клетка

Ако програмата бъде прекъсната след първата инструкция, съдържанието на стека няма да бъде загубено след обработката на прекъсването.

регистрирайте паметта.

Микроконтролерите (като компютърните системи) имат много регистри, които се използват за управлениеразлични вътрешни възли и външни устройства. Те включват:

● регистри процесорно ядро(батерия, статусни регистри, индексни регистри);

● регистри управление(регистри за управление на прекъсвания, регистри за управление на таймера);

● входно/изходни регистри за данни (регистри за данни и паралелни, последователни или аналогови контролни регистри за вход/изход).

Според начина, по който регистрите са разположени в адресното пространство, можем да разграничим:

● микроконтролери, в които са разположени всички регистри и памет за данни единадресно пространство, т.е. регистрите са подравнени с паметта за данни. В този случай I/O устройствата се нанасят в паметта;

● микроконтролери, в които входно/изходни устройства разделениот общото адресно пространство на паметта. Основното предимство на метода за поставяне на I / O регистри в отделно адресно пространство е, че той опростява схемата за свързване на програмна памет и данни към обща шина. Отделно входно/изходно пространство дава допълнителна полза за процесорите с архитектура на Харвард, като позволява инструкцията да бъде прочетена, докато има достъп до входно/изходния регистър.

Начинът на достъп до регистрите оказва значително влияние върху тяхната ефективност. В процесорите с RISC архитектура всички регистри (често акумулатора) са разположени на изрични адреси, което осигурява по-голяма гъвкавост при организиране на работата на процесора.

Относно външната памет.

В случаите, когато няма достатъчно резидентна програмна памет и памет за данни за разработените приложения, към микроконтролера се свързва допълнителна външна памет. известен двеосновни начини:

● връзка външна паметизползвайки шинен интерфейс (както в микропроцесорните системи). Много микроконтролери имат специален хардуер за тази връзка;

● свързване на памет към входно-изходни устройства.В същото време чрез тези устройства се осъществява достъп до паметта софтуерни инструменти. Този метод позволява използването на прости I/O устройства без прилагане на сложни шинни интерфейси. Изборът на метод зависи от конкретното приложение.

Анотация: Разгледан е принципът на действие на регистрите като елементи на електронната памет.

Регистърът е ИС със средна степен на интеграция, предназначена да запомня и съхранява многобитова дума.

регистър-резе

Протозои регистрираме паралелна връзка на няколко тригера (фиг. 8.1, а). UGO регистър-резе е показано на фиг. 8.1, б. Ако регистрирампостроена на джапанки, се казва регистрирам-"резе". Като правило, буферните усилватели и контролите са част от регистъра IC, например, както е показано на фиг. 8.2, а. Ето функционална диаграма на 8-битов д- фиксиращ регистър KR580IR82 с три изходни състояния. Неговият UGO е показан на фиг. 8.2, б.


Ориз. 8.1.Четири-битов регистър "резе" с директни изходи: а - функционална схема; b - UGO

трето състояние(първите две са логическа 0 и логическа 1) е състоянието на изходите на ИС, при което те са изключени както от източника на захранване, така и от общата точка. Други имена за това състояние са високо съпротивление, състояние с висок импеданс, Z-състояние[ , С. 61 - 63; , С. 68 - 70].

Това се постига трето състояниеспециално схемно решение [ , p. 117 - 118] в изходната част на логическите елементи, когато изходните транзистори на логическите елементи са заключени и не подават към изхода нито захранващото напрежение, нито потенциала на земята (не 0 и не 1).

Регистрирам KR580IR82 се състои от 8 функционални блока (фиг. 8.2, а). Всеки от тях включва д-тригер-фиксатор със запис на задния ръб и мощен изходен гейт с 3 състояния. STB- строб вход, - разрешаване на предаване - сигнал, който управлява третото състояние: ако , тогава информацията се прехвърля от входовете към съответните изходи, ако , всички изходи се прехвърлят в третото състояние. Когато и IS работи в режим на шиноформатор - информацията от входовете се предава към изходите непроменена.

При кандидатстване за заден ръбима "щракване" на предаваната информация в тригери, тоест помни какво е било в момента на подаване . Чао, буфер регистрирамще съхранява тази информация, независимо от информацията на д-входове. При прилагане на преден ръб когато се запази, състоянието на изходите ще се промени в съответствие с промяната в съответните входове. Ако , тогава всички изходни усилватели се прехвърлят в третото състояние. В този случай, независимо от състоянието на входовете, всички изходи регистрирампрехвърлени в трето състояние.

Всички регистрови изходи могат да имат активно нулево ниво, което се показва на UGO под формата на обратни сигнали и изходни обозначения.

Има много разновидности регистри, например регистри за изместване [ , глава 8], в които тригерите са свързани помежду си по такъв начин, че прехвърлят информация последователно от един тригер към друг [ , стр. 109 - 122], но тук ще се съсредоточим върху регистъра на фиксатора и приложението му.

Регистрирайте паметта

Регистрираната памет - регистров файл - е памет с изключително произволен достъп (SRAM) - верига от няколко регистъра, предназначена да съхранява няколко многобитови думи.

На фиг. 8.3 показва примерна реализация СОЗУ, състоящ се от четири 8-битови регистри(свързването на RG2 и RG3 не е показано, то се извършва по същия начин). дадени СОЗУима информационен обем 4х8 бита - 4 думи по 8 бита, или 4 байта. Тук DI - въвеждане на данни- входна шина за данни, DO-извеждане на данни- шина за изходни данни, WR- сигнал за запис в SRAM, RD- сигнал за четене на информация от SRAM, VSD - вътрешна шина за данни.

всеки регистрирамима двуцифрен адрес, който се подава на входовете на декодера. Например най-лявото на фиг. 8.3 регистрирам RG1 има адреса , следващият - (не е показан на фигурата), следващият - (не е показан) и най-десния регистрирам RG4 има адреса.

Ако има активен сигнал за запис, декодерът, в съответствие с адресния код, издава на един от регистриактивен сигнал, на който информация от входната шина за данни DIсе записва в избрания регистрирам. На задния ръб, информацията в това регистрирам"щракане".

Ако например на DIподадена информация и адрес регистрираме равно на , тогава активният сигнал на изхода "3" на декодера ще се подаде като към регистър RG4. По това време останалите регистри ще имат неактивно ниво на сигнала, следователно информацията от входната шина за данни ще бъде записана в RG4, а информацията, записана по-рано, ще бъде съхранена в останалите регистри.

При активен сигнал за четене се активират всичките 8 мултиплексора (първият, вторият и осмият са показани на диаграмата, останалите са свързани по подобен начин), тъй като към техните входове за разрешаване се подава активен сигнал. В съответствие с адрес декодер, мултиплексорите превключват информация от избрания регистър към изходната шина за данни. Например адресът на регистъра е . Тогава на всички мултиплексори ще бъде, всички те започват да избират информация в съответствие с адреса. Следователно, на изходната шина НАПРАВЕТЕбитове от вътрешната шина с номера 25 - от първия мултиплексор, 26 - от втория, 27 - от третия, 28 - от четвъртия, 29 - от петия, 30 - от шестия, 31 - от седмия и 32 - от осмия мултиплексор ще бъде даден. По този начин информация, която е копие на съдържанието регистрирам RG 4 с адреса се прехвърля към изходната шина за данни DO - непроменено състояние на изхода на мултиплексора.

Има два основни типа памет с произволен достъп (RAM); те са буферирана памет — или регистрирана памет — и небуферирана памет. Небуферираната памет е по-бърза и често много по-евтина от буферираната памет. По този начин това е вид модул, който може да се намери в почти всички домашни настолни и преносими компютри. Буферираната памет е по-скъпа от небуферирания тип и също така е по-бавна поради начина, по който обработва съхранението и извличането на данни.
Буферираната памет обаче е много по-стабилна от небуферираните форми, така че се използва предимно в мейнфрейм компютри и сървъри.

Небуферираната памет е най-често срещаната форма на компютърен модул с памет, който се използва в ежедневието. Тези модули памет са евтини за производство в сравнение с буферираните модули памет, отчасти поради честото им използване в домашни и търговски компютри, а също и защото използват по-малко хардуер. Модулът с небуферирана памет няма вграден хардуер, който да действа като регистър за инструкции между RAM чипа и контролера на паметта на компютъра. Това води до по-бърза производителност, но увеличава риска от загуба на памет в резултат на случайния характер на разполагане и извличане на информация, особено по време на периоди на интензивна дейност.

Най-често наричаната регистрирана памет е буферната памет. Небуферираната памет, колкото и да е странно, запази името си и не беше променена на нерегистрирана памет. Буферираната памет се различава от небуферирания тип по това, че има хардуерен регистър, който съхранява информация в кеша за един цикъл на чипа памет. Въпреки че тази операция може да доведе до по-бавен чип с памет, тя осигурява допълнителна стабилност и намалява риска от грешки в паметта.

При обща потребителска употреба разликата в скоростта между двата типа модули памет изглежда незначителна. В периоди на интензивен обмен на информация се появява латентност, която се наблюдава с помощта на регистъра. Буферираната памет обикновено се използва в сървърни компютри и мейнфрейм системи, за да осигури стабилност и защита срещу повреди, които могат да възникнат в небуферираните модули, когато са подложени на постоянна интензивна употреба. Въпреки че буферираните модули са по-скъпи и обикновено работят по-бавно, стабилността на паметта и сигурността на данните компенсират това в производствена среда.