Ev / Çeşitli / ECC RAM nedir? Tamponlu RAM - nedir bu? Sıralı fonksiyonel birimler. Kayıtlar ve Kayıt Belleği Kayıt Belleği

ECC RAM nedir? Tamponlu RAM - nedir bu? Sıralı fonksiyonel birimler. Kayıtlar ve Kayıt Belleği Kayıt Belleği

Herkes modern bilgi işlem cihazlarının sahip olduğunu bilir. Veri deposu, bilgilerin yalnızca işlem sırasında depolandığı yer. RAM, bit bilgilerini depolamak için bir dizi hücreye sahip mikro devrelere (çiplere) sahip modüller şeklinde yapılır. Her bellek hücresi sıfır veya bir depolamak üzere tasarlanmıştır. Bu tür 8 hücre 8 bit depolar (bu zaten 1 bayttır). Bu tür yongalar yarı iletkenler temelinde yapılır. Ancak modüllerin ve PC'nin uygulanması, bu makalede ele alacağımız bir takım ciddi farklılıklara sahiptir.

Parite hafızası.

Bilgisayar teknolojisinin gelişiminin erken bir aşamasında, yarı iletken elemanların üretim teknolojisi henüz çok iyi gelişmemişti. Bu nedenle, herhangi bir bellek hücresine yazarken bilgi kaybı olasılığı vardı: ona bir tane yazıldı, ancak kaydedilmedi (sıfır kaldı). Belleğe yazma sürecini bir şekilde kontrol etmek için basit bir veri doğrulama teknolojisi icat edildi.

Bir bayt (8 bit) yazılmadan önce bu bayttaki tüm bitlerin toplamı hesaplandı. Ancak sağlama toplamının tamamı hatırlanmadı (belleği kurtarmak için), ancak yalnızca değeri (sıfır veya bir) kendisi için özel olarak belirlenmiş bir yerde hatırlanan son biti. Bu bitin değeri (0 veya 1), eklendiğinde bitlerin toplamının çift mi yoksa tek mi olduğuna bağlıydı. Bu nedenle, bu bit parite biti olarak bilinir hale geldi.

Orijinal bayt bellek hücrelerine yazıldıktan sonra, depolanan bu tür bir baytın bitlerinin toplamı hesaplandı ve bu toplamın paritesi bir öncekiyle (değeri eşlik bitinde saklanan) karşılaştırıldı. Sağlama toplamlarının pariteleri eşleşirse, belleğe yazmanın başarılı olduğu kabul edildi. Ve eşleşmezlerse, bir hata mesajı oluşturuldu. Bu teknolojiye parite kontrolü denir.

Paritesiz hafıza.

Zamanla, daha güvenilir mikro devreler ortaya çıkmaya başladı. İçlerinde hata olasılığı azaldı. Aynı zamanda, elektronik bileşenlerin maliyetinde bir azalma oldu. Bilgisayarların üretimi ve satışı muazzam hale geldi. Bazı kullanıcılar için bilgisayarların çalışmasındaki hatalar kritik değildi. Bu nedenle piyasada paritesiz bellek kullanan modeller üretilmeye başlandı. "Ekstra" dokuzuncu bitten (her bayt için) ve sağlama toplamlarını hesaplamanın "aşırı" maliyetlerinden kurtulmak, bilgisayarların maliyetini bir şekilde düşürmeyi ve onları tüketici kitleleri için erişilebilir hale getirmeyi mümkün kıldı. Bu tür bilgisayarlar masaüstü (masaüstü) sistemler arasında çok popüler hale geldi.

Bununla birlikte, bazı endüstrilerde, askeri-savunma açısından önem taşıyan sistemlerde ve bankacılık sektöründe, bilgi işlem sistemlerinde hataların kabul edilemezliği en önemli görevlerden biri olmaya devam etmektedir.

Kontrol ve hata düzeltmeli hafıza.

Parite kontrol teknolojisi mükemmel değil. Örneğin, aynı anda 2 bitin "kaybolmasını" tespit edemez (bu durumda parite değişmez). Bu nedenle, belleğe yazılan her bir veri bitinin bir sağlama toplamına değil, birkaçına dahil edilmesi gerektiğine karar verildi. Böyle bir kontrol sistemi ile, birkaç hatayı, adreslerini aynı anda tespit etmek ve ayrıca bu hataları düzeltmek mümkün hale geldi. Hata düzeltmeye izin veren bir kod hesaplandığından bu teknolojiye Hata Düzeltme Kodu (ECC) adı verildi.

Elbette, sağlama toplamlarını depolamak için ek kayıtlar gereklidir, bu da bu tür bellek modüllerini daha pahalı hale getirir, ancak genel olarak ECC belleğine dayalı sistemler hataya daha dayanıklıdır. Bu tür bellek modülleri en yaygın olarak sunucu sistemlerinde kullanılır.

Parite ve ECC teknolojisine sahip bellekler hem sunucu hem de masaüstü sistemlerinde kullanılabilir. İlk durumda, bu, çözülmekte olan görevlerin önemi ile doğrulanır (en ufak bir hatanın maliyetinin çok yüksek olduğu durumlarda) ve ikinci durumda her zaman tavsiye edilmez (ekonomik açıdan: sonuçta, hata kontrollü modülleri kullanmak için bu teknolojiyi destekleyen daha pahalı bir anakartınız olması gerekir, aksi takdirde hata kontrolü çalışmaz).

arabelleğe alınmış bellek.

Bilgisayar sistemlerinde belleğe yazma/belleğe okuma kontrolü özel bir bellek denetleyicisi tarafından gerçekleştirilir. Bu denetleyicinin tüm bellek hücrelerine erişimi olmalı ve veri yolundan belleğe ve bunun tersi şekilde bilgi aktarımını sağlamalıdır. Masaüstü sistemler genellikle tümleşik bellek denetleyicili işlemciler kullanır. Bu uygulamanın bazı dezavantajları şunlardır:

Yalnızca bir denetleyici vardır, ancak birçok bellek hücresinin denetlenmesi gerekir - yüksek performansı korurken aynı anda sunulan bellek bankalarının sayısında bir sınır vardır;

İşlemciden veya diğer bilgisayar bileşenlerinden bir veri yolunda, hem kontrol komutlarını hem de verileri kullanılan tüm bellek modüllerine aktarmak gerekir (veri yolundaki yük artar).

Durumu iyileştirmek için, her bir bellek modülünde denetleyicinin işlevlerinin bir kısmının uygulanmasına karar verildi. Bunu yapmak için, bellek modülüne, merkezi işlemciden kontrol ve adres ayar komutlarını alan bir arabellek görevi gören özel bir yonga entegre edilmiştir (bu durumda, belleğe veri akışı, komuta paralel olarak veri yolu boyunca ilerler). akış). Arabelleğe alınmış bellek bu şekilde doğdu.

Daha sonra bu arabellekte hata düzeltme işlevleri (ECC) uygulanmaya başlandı ve ayrıca veri yoluna ek yük olmadan belleği artırmak mümkün hale geldi. Arabelleği uygulamak için ek yongalar kayıtlar olarak bilinir hale geldi ve belleğin kendisi kayıtlı bellek olarak bilinir hale geldi.

Zamanla, arabellekte (kayıt) yalnızca kontrol sinyallerinin değil, aynı zamanda verilerin tek bir akışta sırayla aktarılmaya başladığı tam arabelleğe alınmış bellek modülleri (FB - tamamen arabelleğe alınmış) da ortaya çıktı. Bir ara arabellek kullanırken, arabelleğe yazmak için bir ara döngü gerektiğinden, bellek işleminde bir miktar yavaşlama olur.

Bu tür bellek, ek bir kayıt yongasının varlığı ve karmaşık teknolojilerin kullanılması nedeniyle kayıtlı olmayan bellekten çok daha pahalıdır. Ancak ergonomisi, hacmi artırma imkanı ve hata kontrolü nedeniyle, büyük miktarda veri ile kararlı ve hatasız çalışmanın çok önemli olduğu sunucu sistemlerinde yaygın olarak kullanılmaktadır.

Uyumluluk sorunları.

Arabelleğe alınmış bellek modülleri, geliştirmelerinin ilk aşamalarında hem masaüstü hem de sunucu sistemlerinde kullanılıyordu, ancak kayıtlı belleğin ortaya çıkması, bir bilgisayarda kullanma olasılığını ortadan kaldırdı.

Masaüstü sistemlerde, kayıtlı belleğin kullanımı pratik değildir (aşırı maliyet) ve çoğu zaman, masaüstü bilgisayarlarda kullanılan anakartların çoğu kayıtlı belleği desteklemediğinden imkansızdır. Modern sunucu sistemlerinde kullanılan anakartlar ise tam tersine sadece kayıtlı bellek ile çalışacak şekilde tasarlanmıştır, çünkü artan kapasite (platformu değiştirmeden) ve hataları kontrol etme yeteneği sunucular için maliyetten daha önemli faktörlerdir.

Çok sık olarak, bileşenleri seçerken çeşitli anlaşılmaz terimler ve kavramlarla karşılaşırız. RAM seçerken DDR, DDR2, DDR3, DDR4, RDRAM, RIMM vb. olabilir. Ana RAM türleri ile ilgili her şey az çok açıksa ve anakartın açıklamasında her tür için destek belirtilirse, ECC gibi bir parametre birçokları için bazı soruları gündeme getirir. ECC belleği nedir? ECC RAM'i bir ev bilgisayarında kullanmak mümkün müdür ve ECC RAM ile ECC olmayan RAM arasındaki temel fark nedir?

ECC belleği nedir?

Bu, yerleşik hata düzeltme donanımına sahip özel bir RAM türüdür. Bu tür bellek modülleri, verilerin doğruluğu ve işlenmesinin güvenilirliği için gereksinimlerin kişisel bilgisayarlardan çok daha yüksek olduğu sunucular için özel olarak geliştirilmiştir.

ECC-Ram, depolama bloklarındaki spontane veri değişikliklerini, yani meydana gelen hataları otomatik olarak tanır. Normal - düzeltme mekanizmalarını desteklemeyen masaüstü belleğine ECC olmayan denir.

ECC belleği neler yapabilir ve nasıl çalışır?

Hata düzeltme belleği, her makine sözcüğündeki 1 bitlik değiştirilmiş veriyi algılayabilir ve düzeltebilir. Bu ne anlama geliyor? Yazma ve okuma arasındaki veriler herhangi bir nedenle değiştiyse (yani bir hata oluştu), ECC RAM değeri doğru olana düzeltir. Bu tür işlevsellik, RAM denetleyicisinden destek gerektirir. Bu destek, modern işlemcilerdeki yerleşik RAM denetleyicisi olan anakart yonga seti tarafından düzenlenebilir.

Hata düzeltme algoritması, Hamming kodunu temel alır, ancak birden fazla hatayı düzeltmek için başka algoritmalar kullanılır. Pratikte, her 8 bellek yongası için ECC kodlarını (ana belleğin her 64 biti için 8 bit) depolayan bir yonga daha eklendiği bellek modülleri kullanılır.

RAM bellek hücrelerindeki değer neden bozuk?

Veri bozulmasının ana nedenlerinden biri kozmik ışınlardır. Atmosferin koruması altında Dünya'da olmamıza rağmen, kozmik ışınlar yanlarında bilgisayar belleği de dahil olmak üzere elektroniği etkileyebilecek bazı temel parçacıkları taşır. Bu parçacıkların enerjisinin etkisi altında, veri bozulmasına ve hatalara yol açan bellek hücresinin durumunda bir değişiklik mümkündür. İlginç bir şekilde, kozmik ışınlara maruz kalma yükseklikle artar, bu nedenle yüksek irtifa bilgisayar sistemleri daha iyi korumaya ihtiyaç duyar.

ECC Belleği Nasıl Çalışır?

RAM'deki hata kontrol mekanizmalarından biri, verilerdeki bir hata gerçeğini düzeltmenize izin veren ancak verileri düzeltmenize izin vermeyen eşlik teknolojisini kullanmaktır.

ECC düzeltmesi için Hamming kodu kullanılır. ECC, bilgisayar sistemlerini bellek bozulması nedeniyle hatalı işlemlerden korur ve kritik sistem arızası olasılığını azaltır. ECC destekli bellek, uygulamaya bağlı olarak ECC olmayan bellekten %2-3 daha yavaştır.

ECC belleği kullanma nedenleri

Masaüstü bilgisayarlarda ECC özellikli RAM kullanmak için nesnel bir neden yoktur. Normal bilgisayar kullanım senaryolarında veri hatalarının meydana gelme olasılığı son derece küçük olduğundan, bir hatanın bilgisayarda sorunlara veya çökmelere neden olması pek olası değildir. En kötü senaryo görünümdür Mavi ekran BSOD ölümü. Ek olarak, ECC RAM'in kullanımı, masaüstü işlemcilerin ve anakartlarçoğu bu RAM türünü desteklemez.

ECC hata düzeltmeli RAM kullanımı, hata toleransı ve güvenilirlik gereksinimlerinin çok yüksek olduğu ve verilerin doğruluğunun hesaplama sonuçlarını ve sistemin bir bütün olarak çalışmasını etkileyebileceği sunucu ve kurumsal segment için geçerlidir. .

Nasılsınız? -

Ayırt edilebilir üç mikrodenetleyicilerde kullanılan ana bellek türleri:

● hafıza programlar, program kodunu ve sabitleri depolamak için tasarlanmış salt okunur bir bellektir. Bu bellek, programın yürütülmesi sırasında içeriğini değiştirmez;

● hafıza veri, program yürütme sırasında değişkenleri (sonuçları) depolamak için tasarlanmıştır;

Kayıt ol mikrodenetleyicinin dahili kayıtlarından oluşan bellek. Bu bellek türlerinin her birinin özelliklerini düşünün.

Program hafızası.

Böyle bir belleğe duyulan ihtiyaç, mikrodenetleyicinin, yürütülebilir programın yüklendiği bilgisayarda sabit sürücü gibi bellek aygıtları içermemesi gerçeğinden kaynaklanmaktadır. Bu nedenle program kodunun mikrodenetleyicide kalıcı olarak saklanması gerekir.

Her türlü program belleği uçucu olmayan içeriği mikrodenetleyici kapatıldıktan sonra tutulan bellek veya salt okunur bellek (ROM).

Yürütme sırasında program bu bellekten okunur ve kontrol birimi (komut kod çözücü) kodunun çözülmesini sağlar ve gerekli işlemleri gerçekleştirir. Program belleğinin içeriği, program yürütme sırasında değiştirilemez (yeniden programlanamaz). Bu nedenle, mikro denetleyicinin işlevselliği, program belleğinin içeriği silinene (mümkünse) ve yeniden programlanana (yeni talimatlarla doldurulana) kadar değişemez.

Mikrodenetleyicinin bitliğinin (8, 16 veya 32 bit) veri yolunun bitliğine göre belirtildiğine dikkat edilmelidir.

Bir cihazın 8 bit olduğu söylendiğinde, mikrodenetleyicinin işleyebildiği veri bitlerinin sayısı anlamına gelir.

Harvard mimarisinde, talimatlar tüm talimatın bir saat döngüsünde okunmasına izin vermek için verilerden daha büyük olabilir. Örneğin, modele bağlı olarak PIC mikro denetleyicileri, 12, 14 veya 16 bitlik bit genişliğinde komutlar kullanır. AT AVR mikro denetleyicileri Komut her zaman 16 bit genişliğindedir. Ancak, tüm bu mikrodenetleyicilerin 8 bitlik bir veri yolu vardır.

Princeton mimarisi cihazlarında, veri genişliği genellikle kullanılan veri yolunun bit genişliğini (satır sayısını) belirler. Motorola 68HC05 mikro denetleyicilerinde, üç adet 8 bit program bellek hücresinde 24 bitlik bir talimat bulunur. Böyle bir talimatı tam olarak getirmek için, bu hafızanın üç okuma döngüsünün gerçekleştirilmesi gerekir.

Beş tanesine bir göz atalım türleri programları depolamak için kullanılan geçici olmayan yerleşik bellek veya Salt Okunur Bellek (ROM).

Maske hafızası.

Mask ROM'lar (Maske-ROM veya basitçe ROM), tamamen hata ayıklanmış bir program için mikrodenetleyici üretimi aşamasında yapılır. Bir cam fotoğraf maskesinde, programı kullanırken bir maske deseni oluşturulur. Ortaya çıkan maskeli fotoğraf maskesi, program belleğini oluşturan öğeler arasında bağlantılar oluşturmak için kullanılır.

İlk maske ROM'ları 1960'ların başında ortaya çıktı ve bu tür sayesinde bugün hala kullanılmaktadır. erdemlerürünlerin seri üretiminde düşük maliyet ve program depolamanın yüksek güvenilirliği.

Dezavantajları maske ROM'u - uygulama programındaki herhangi bir değişiklik, yeni bir fotoğraf maskesi seti oluşturmak ve bunların üretime girmesi için önemli maliyetler ve zaman ile ilişkilidir.

Tek seferlik programlanabilir hafıza.

Bu bellek (One-Time Program mable ROM - OTPROM) kullanıcı tarafından programlanabilir ve başlangıçta tek bitli hücreler içerir. Yalnızca içeriği 0 değerini alması gereken programlamaya tabi olan bellek hücreleri. Bunu yapmak için bellek hücresine bir dizi artırılmış voltaj darbesi uygulanır.

Voltaj seviyesi, pals sayısı ve zaman parametreleri kesinlikle spesifikasyonlara uygun olmalıdır. Sıfır yazıldıktan sonra tek bir değeri geri yüklemek mümkün değildir. Bu nedenle hafıza denir. bir kez programlanabilir ROM. Ancak şu olasılığı da belirtmek gerekir. ek programlama(dokunulmamış) tek bitli hücreler.

Küçük partiler halinde üretilen ürünlerde tek seferlik programlanabilir ROM'a sahip mikrodenetleyiciler kullanılmaktadır.

Ultraviyole silme özelliğine sahip yeniden programlanabilir bellek.

Silinebilir Programlanabilir ROM (EPROM) bellek hücresi, bir LIPSMOS (Yüzer Kapı Çığ Enjeksiyonu) transistörüdür. İlk durumda (yazmadan önce), bir hücreye erişirken mantıksal bir birim okunur. Bellek programlama, karşılık gelen hücrelere mantıksal sıfırlar yazmaya gelir. EP ROM'lar, teknolojisi tek seferlik programlanabilir ROM teknolojisine benzeyen çoklu programlama yeteneğine sahiptir.

Her programlama oturumundan önce, silme işlemi bellek hücrelerinin orijinal durumunu geri yüklemek için. Bunun için ultraviyole ışınları ile ışınlanan mikrodenetleyici kasasında özel bir pencere sağlanmıştır. ROM silme/programlama oturumlarının sayısı, programlama teknolojisine (besleme voltajlarının ayar değerleri, darbelerin sayısı ve süresi) ve silme teknolojisine (ultraviyole radyasyon kaynağının dalga boyu aralığı) bağlı olarak 25–100 defadır.

EPROM belleğe sahip mikrodenetleyiciler, yüksek maliyetleri nedeniyle geliştirilen uygulamaların prototiplerinde kullanılmaktadır.

Maliyeti düşürmek için, EPROM yongaları penceresiz bir kutuya yerleştirilmiştir (tek seferlik programlamalı EPROM versiyonu). Maliyet düşürme nedeniyle, genellikle maske ile programlanabilir ROM'lar yerine EPROM sürümleri kullanılır.

Elektriksel silme ile yeniden programlanabilir bellek.

Elektrikle silinebilir bir bellek elemanı olarak (Elektrikle Silinebilir Programlanabilir ROM - EEPROM veya E2 PROM), ROM'un nispeten düşük maliyetli olması nedeniyle MNOS yapısına (Metal, Silikon Nitrür, Silikon Oksit, Yarı İletken) sahip bir transistör kullanılır. (EPROM ile ilgili olarak) ve maksimum sayıda silme/programlama döngüsüne izin verir 10 4 -10 6 . Ek olarak, EEPROM bellek programlama teknolojisi, bayt silme ve bayt programlama, denetleyiciyi panodan çıkarmadan, periyodik olarak güncellemenizi sağlar yazılım.

Bu avantajlara rağmen, bu tür bellek, programları depolamak için iki nedenden dolayı yaygın olarak kullanılmaz:

● EEPROM'ların sınırlı bir kapasitesi vardır;

● Benzer kullanıcı özelliklerine sahip ancak daha düşük maliyetli FLASH tipi ROM'lar ortaya çıktı.

FLAŞ bellek.

Elektrikle programlanabilir ve elektrikle silinebilir FLASH bellek (FLASH ROM), ucuz yüksek kapasiteli tek seferlik programlanabilir ROM'lar ve pahalı EEPROM ROM'lar arasında bir alternatif olarak oluşturulmuştur. küçük kapasite. FLASH bellek (EEPROM gibi) tekrar tekrar silme ve programlama yeteneğini korudu.

Her hücrenin adresleme transistörünün ROM devresinden çıkarılması, bir yandan her bir bellek bitinin ayrı ayrı programlanmasını imkansız hale getirirken, diğer yandan bellek miktarının arttırılmasını mümkün kılmıştır. Bu nedenle, FLASH bellek silinir ve programlanır. sayfalar veya bloklar.

Bu nedenle, işlevsel olarak FLASH bellek, EEPROM'dan çok az farklıdır. Ana fark, kaydedilen bilgileri silme yöntemindedir: EEPROM-bellek silme işleminde her hücre için ayrı ayrı gerçekleştirilirse, o zaman FLASH-bellekte - tüm bloklar halinde. EEPROM belleğe sahip mikrodenetleyicilerde, tüm cihazı yeniden programlamaya gerek kalmadan programın tek tek bölümlerini değiştirmek gerekir.

Şu anda, FLASH'li MCU'lar, bir kerelik programlanabilir (ve hatta maskeli) ROM ile MCU'ların yerini almaya başlıyor.

ROM programlama.

Maske ROM belleğinin yalnızca fabrikada MK'nin üretimi sırasında programlandığını unutmayın. OTPROM ve EPROM bellek türleri, geliştiriciye, MCU'nun uygun çıkışlarına bağlı bir programlayıcı ve bir yükseltici voltaj kaynağı kullanarak programlama yetenekleri sağlar.

EEPROM ve FLASH bellek, yeniden programlanabilir veya yeniden programlanabilir hafıza. Silme/programlama için gereken artırılmış güç, modern kontrolörlerin EEPROM ve FLASH bellek modüllerinde yerleşik voltaj yükseltme devreleri kullanılarak oluşturulur. pompa jeneratörleri. uygulama sayesinde program kontrolü Pompa jeneratörünü açıp kapatarak, geliştirilmekte olan sistemin bir parçası olarak FLASH ve EEPROM bellek hücrelerini programlamak veya silmek prensip olarak mümkün hale geldi. Bu programlama tekniği denir sistemde programlama(Sistem Programlamada - ISP).

Programlama maliyetlerini azaltan özel ekipman (programcılar) gerektirmez. ISP belleğe sahip mikrodenetleyiciler, nihai ürünün kartına kurulduktan sonra programlanabilir.

Bir uygulama programının kontrolü altında EEPROM-belleği programlama olasılığının nasıl uygulandığını (ve kullanıldığını) ele alalım. Programlama algoritmasına sahip program, nominal besleme voltajına sahip ayrı bir bellek modülünde saklanırsa ve EEPROM belleği pompa jeneratörleri ile sağlanırsa, EEPROM belleğinin ISP programlaması yapılabilir. Bu durum, EEPROM belleği, ürünün çalışması sırasında değişen kullanıcı ayarlarının saklanması için ideal, kalıcı bir depolama aygıtı yapar. Bir örnek, güç kapatıldığında kanal ayarları kaydedilen modern bir TV'dir.

Bu nedenle, 8 bitlik MK'lerin yerleşik belleğini geliştirmedeki trendlerden biri, iki kalıcı bellek modülünün MK yongasına entegrasyonuydu: FLASH (veya OTP) - programları depolamak için ve EEPROM - yeniden programlanabilir sabitleri depolamak için.

Teknolojiyi düşünün (yeniden) FLAŞ programlama– bir uygulama programı tarafından kontrol edilen yerleşik bir pompa jeneratörüne sahip bellek. Her şeyden önce, iki gerçeği not ediyoruz:

● EEPROM belleği, yeniden programlanabilir sabitleri depolamak için MK'ye yerleşikse, bitmiş ürünün çalışması sırasında birkaç bit FLASH belleğin programlanması bir anlam ifade etmez. Gerekirse, yeniden programlama modunu hemen kullanmak daha iyidir;

● FLASH-bellek programlama programını FLASH-belleğin kendisinde saklamamalısınız, çünkü programlama moduna geçmek onu daha fazla okumayı imkansız hale getirecektir. Programlama programı başka bir bellek modülünde bulunmalıdır.

Programlama teknolojisini sisteme uygulamak için, özel bir servis tarafından hizmet verilen MC seri portlarından biri seçilir. iletişim izleme programı, yerleşik maske ROM MK'de bulunur. Seri bağlantı noktası aracılığıyla Kişisel bilgisayar programı RAM'e yükler programlama ve uygulamalı program, daha sonra FLASH bellekte saklanır. MK'nin yerleşik RAM'i az miktarda olduğundan, uygulama programı ayrı bloklar (kısımlar) halinde yüklenir. MCU'da bir programlama programı olan bir maske bellek modülü kuruluysa, RAM'e yalnızca uygulama programı yüklenir.

Sistemde programlama teknolojisi uygulayan mikrodenetleyiciler genellikle şunları içerir: dört bellek türü:

FLASH - program belleği, Maske ROM - iletişim izleme belleği, EEPROM - değişken sabitleri ve ara veri RAM'ini depolamak için bellek.

Sistemdeki programlama teknolojisi, uygulama programlarını nihai ürünün kartında bulunan mikro denetleyicilere girmek için giderek daha fazla kullanılmaktadır. O haysiyet- MK'nin belirtilen dahili modlarının kararlılığı nedeniyle bir programcı eksikliği ve yüksek programlama güvenilirliği.

Örnek olarak, Motorola'nın HC08 MK ailesinin yerleşik FLASH belleğinin göstergelerini alalım:

● garantili silme/programlama döngüsü sayısı - 10 5 ;

● Kaydedilen bilgilerin garantili saklama süresi - pratikte ürünün yaşam döngüsü olan 10 yıl; FLASH bellek modülleri çalışır ve 1,8 ila 2,7 V MK besleme voltajında ​​programlanır;

● 1 bayt bellek için eşdeğer programlama süresi 60 µs'dir.

Veri belleği.

Yerleşik veri belleği olarak kullanılır statik Saat frekansını keyfi olarak küçük değerlere düşürmenize izin veren rastgele erişim belleği (RAM). RAM hücrelerinin içeriği (dinamik belleğin aksine) sıfır frekansa kadar saklanır. Statik RAM'in bir başka özelliği, besleme voltajını, mikrodenetleyici kontrol programının yürütülmediği, ancak RAM'deki içeriğin kaydedildiği belirli bir izin verilen minimum seviyeye düşürme yeteneğidir.

Depolama seviyesi, gerekirse, verileri kaydetmek için MK'yi özerk bir kaynaktan (pil veya akümülatör) güce aktarmaya izin veren bir volt mertebesinde bir değere sahiptir. Bazı mikrodenetleyiciler (örneğin, Dallas Semiconductor'dan DS5000), bu durumda, RAM'deki verilerin 10 yıl boyunca korunmasını garanti eden özerk bir güç kaynağına sahiptir.

Mikrodenetleyicilerin karakteristik bir özelliği, değişkenleri depolamak için kullanılan nispeten küçük miktarda (yüzlerce bayt) rastgele erişim belleğidir (RAM). Bu, birkaç faktörle açıklanabilir:

● MC donanımının basitleştirilmesi için çabalama;

● RAM belleği miktarını azaltmayı amaçlayan programlar yazarken belirli kuralların kullanılması (örneğin, sabitler değişkenler olarak saklanmaz);

● bellek kaynaklarının, verileri RAM'e yerleştirmek yerine, donanımın (zamanlayıcılar, dizin kayıtları, vb.) maksimum kullanımını sağlayacak şekilde dağıtılması;

● uygulama programlarının büyük veri dizileri kullanılmadan çalışacak şekilde yönlendirilmesi.

Yığın özellikleri.

Mikrodenetleyicilerde, RAM belleğinin bir parçası olarak adlandırılan yığın. Bu işlemler sırasında program sayacının ve ana kayıtların (akümülatör, durum kaydı, indeks ve diğer kayıtlar) içerikleri kaydedilir ve ana programa dönüldüğünde geri yüklenir. Yığının prensibe göre çalıştığını hatırlayın: son giren - ilk çıkan(Son Giren İlk Çıkar-LIFO).

Princeton mimarisinde RAM, yığın işlevleri de dahil olmak üzere birçok donanım işlevini uygulamak için kullanılır. Komutlar, genel amaçlı kayıtlar, özel fonksiyon kayıtları vb. için hafıza adres alanında ayrı alanlar tahsis edilir. Bu, farklı hafıza alanlarına erişim aynı anda gerçekleştirilemeyeceğinden kontrolörün performansını düşürür.

Harvard mikroişlemcileri program belleğini, veri belleğini (G/Ç alanı dahil) ve yığını paralel olarak (aynı anda) adresleyebilir.

Örneğin, bir ÇAĞRI alt programı talimatı etkinleştirildiğinde, aynı anda birkaç eylem gerçekleştirilir.

Princeton mimarisinde, bir CALL komutu yürütüldüğünde, bir sonraki talimat ancak program sayacının içeriği yığına itildikten sonra getirilir.

Her iki mimarinin mikrodenetleyicilerinde RAM'in küçük kapasitesi nedeniyle, program yürütülürken sorunlar ortaya çıkabilir:

● ayrı bir yığın tahsis edilirse, doldurulduktan sonra yığın göstergesinin içeriği döngüsel olarak değiştirilir, bunun sonucunda yığın göstergesi önceden doldurulmuş yığın hücresine başvurmaya başlar. Bu nedenle, çok fazla CALL komutundan sonra, doğru adres yerine yazılan yığında yanlış dönüş adresi olacaktır;

● Mikroişlemci, verileri ve yığını barındırmak için ortak bir bellek alanı kullanıyorsa, yığın taşması verilerin üzerine yazacaktır. Yığına yükleme (PUSH) ve yığından çıkış (POP) komutlarının olmaması nedeniyle, kayıtların içeriğini yığına kaydetmenin özelliklerini ele alalım. Bu tür mikrodenetleyicilerde, PUSH ve POP komutları yerine, açıkça yığın alanına işaret eden iki komut ve bir dizin kaydı kullanılır. Talimat dizisi, birinci ve ikinci talimat arasındaki bir kesinti veri kaybına neden olmayacak şekilde olmalıdır. Aşağıda, belirtilen gereksinimi dikkate alan PUSH ve POP komutlarının bir simülasyonu yer almaktadır.

İTMEK ; Verileri yığın azalma endeksine yükleyin; Sonraki yığın konumuna taşı hareket [indeks], as; Akümülatörün içeriğini POP yığınında saklayın; Yığın hareket asından gelen verileri pop, ; Yığın değerini akü artış endeksine itin; Önceki yığın hücresine git

Program ilk komuttan sonra kesilirse, kesme işlendikten sonra yığının içeriği kaybolmaz.

kayıt hafızası.

Mikrodenetleyicilerde (bilgisayar sistemleri gibi) kullanılan birçok kayıt vardır. sürüş içinçeşitli dahili düğümler ve harici cihazlar. Bunlar şunları içerir:

● kayıtlar işlemci çekirdeği(pil, durum kayıtları, indeks kayıtları);

● kayıtlar yönetmek(kesme kontrol kayıtları, zamanlayıcı kontrol kayıtları);

● veri giriş/çıkış kayıtları (veri kayıtları ve paralel, seri veya analog giriş/çıkış kontrol kayıtları).

Kayıtların adres alanına yerleştiriliş şekline göre şunları ayırt edebiliriz:

● tüm kayıtların ve veri belleğinin içinde bulunduğu mikro denetleyiciler 1 adres alanı, yani kayıtlar veri belleği ile hizalanır. Bu durumda, G/Ç cihazları belleğe eşlenir;

● giriş/çıkış cihazlarının bulunduğu mikro denetleyiciler ayrılmış toplam bellek adres alanından G / Ç kayıtlarını ayrı bir adres alanına yerleştirme yönteminin ana avantajı, program belleğini ve verileri ortak bir veri yoluna bağlama şemasını basitleştirmesidir. Ayrı bir G/Ç alanı, G/Ç kaydına erişilirken talimatın okunmasına izin vererek Harvard mimarisi işlemcilerine ek bir fayda sağlar.

Kayıtlara nasıl erişildiğinin performansları üzerinde önemli bir etkisi vardır. RISC mimarisine sahip işlemcilerde, tüm kayıtlar (genellikle akümülatör) açık adreslerde bulunur, bu da işlemcinin çalışmasını organize etmede daha fazla esneklik sağlar.

Harici bellek hakkında.

Geliştirilen uygulamalar için yeterli yerleşik program belleği ve veri belleğinin olmadığı durumlarda mikrodenetleyiciye ek harici bellek bağlanır. bilinen iki ana yollar:

● bağlantı harici bellek bir veri yolu arayüzü kullanarak (mikroişlemci sistemlerinde olduğu gibi). Birçok mikrodenetleyici bu bağlantı için özel donanıma sahiptir;

● hafızanın giriş-çıkış cihazlarına bağlanması Aynı zamanda bu cihazlar üzerinden hafızaya erişim sağlanır. yazılım araçları. Bu yöntem, karmaşık veri yolu arabirimlerini uygulamadan basit G/Ç cihazlarının kullanılmasına izin verir. Yöntem seçimi, belirli uygulamaya bağlıdır.

Dipnot: Kayıtların elektronik belleğin unsurları olarak çalışma prensibi göz önünde bulundurulur.

Kayıt, çok bitli bir kelimeyi ezberlemek ve depolamak için tasarlanmış, orta derecede entegrasyona sahip bir IC'dir.

kayıt mandalı

protozoa Kayıt ol birkaç tetikleyicinin paralel bağlantısıdır (Şekil 8.1, a). UGO kayıt mandalı, Şek. 8.1, b. Eğer bir Kayıt ol parmak arası terlik üzerine inşa edilmiş, buna denir Kayıt ol-"mandal". Kural olarak, tampon yükselticiler ve kontroller, örneğin Şekil 2'de gösterildiği gibi kayıt IC'nin bir parçasıdır. 8.2, bir. İşte 8 bitlik bir işlevsel diyagram D- üç çıkış durumu ile KR580IR82 mandal kaydı. UGO'su Şekil 2'de gösterilmektedir. 8.2, b.


Pirinç. 8.1. Doğrudan çıkışlı dört bitlik "mandal" kaydı: a - işlevsel diyagram; b - UGO

üçüncü devlet(ilk ikisi mantıksal 0 ve mantıksal 1), IC'nin hem güç kaynağından hem de ortak noktadan bağlantısının kesildiği çıkışlarının durumudur. Bu devlet için diğer isimler yüksek direnç, yüksek empedans durumu, Z durumu[ , ile. 61 - 63; , ile. 68 - 70].

Bu elde edilir üçüncü devletözel devre çözümü [ , s. 117 - 118], mantık elemanlarının çıkış transistörleri kilitlendiğinde ve çıkışa besleme voltajı veya toprak potansiyeli (0 değil ve 1 değil) sağlamadığında, mantık elemanlarının çıkış kısmında.

Kayıt olmak KR580IR82, 8 fonksiyonel bloktan oluşur (Şekil 8.2, a). Her biri şunları içerir: D- arka kenarda kayıt ve güçlü bir 3 durumlu çıkış kapısı ile tetikleme mandalı. STB- flaş girişi, - iletim etkinleştirme - üçüncü durumu kontrol eden bir sinyal: ise, o zaman bilgi girişlerden ilgili çıkışlara aktarılır, eğer , tüm çıkışlar üçüncü duruma aktarılır. Veri yolu şekillendirici modunda ve IS çalıştığında - girişlerden gelen bilgiler çıkışlara değişmeden iletilir.

başvururken arka kenar tetikleyicilerde iletilen bilgilerin bir "enstantanesi" vardır, yani gönderim sırasında ne olduğunu hatırlar . Hoşçakal, tampon Kayıt olüzerindeki bilgilerden bağımsız olarak bu bilgileri saklayacaktır. D-girişler. Ön kenar uygularken kaydedildiğinde, çıkışların durumu, karşılık gelen girişlerdeki değişikliğe göre değişecektir. ise, tüm çıkış yükselteçleri üçüncü duruma aktarılır. Bu durumda girişlerin durumu ne olursa olsun tüm çıkışlar Kayıt olüçüncü duruma aktarılır.

Tüm kayıt çıkışları, UGO'da ters sinyaller ve çıkış tanımlamaları şeklinde görüntülenen aktif bir sıfır seviyesine sahip olabilir.

birçok çeşit var kayıtlar, örneğin, flip-flop'ların bilgiyi bir flip-flop'tan diğerine sırayla aktaracak şekilde birbirine bağlı olduğu kaydırma kayıtları [ , bölüm 8], ancak burada odaklanacağız mandal ve uygulaması.

Hafızayı kaydet

Kayıtlı bellek - kayıt dosyası - son derece rastgele erişimli bir bellektir (SRAM) - birkaç çok bitli kelimeyi depolamak için tasarlanmış birkaç kayıttan oluşan bir devre.

Şek. 8.3 örnek bir uygulamayı gösterir SÖZÜ, dört adet 8 bitten oluşan kayıtlar(RG2 ve RG3 bağlantısı gösterilmemiştir, aynı şekilde gerçekleştirilir). verilen SÖZÜ 4x8 bit bilgi hacmine sahiptir - 4 kelime 8 bit veya 4 bayt. Burada DI - veri girişi- giriş veri yolu, DO-veri çıkışı- çıkış veri yolu, WR- SRAM'a sinyal yazma, RD- SRAM, VSD'den bilgi okumak için sinyal - dahili veri yolundan.

Herkes Kayıt ol kod çözücünün girişlerine beslenen iki basamaklı bir adrese sahiptir. Örneğin, Şekil 1'de en soldaki. 8.3 Kayıt ol RG1, sonraki - (şekilde gösterilmemiştir), sonraki - (gösterilmemiştir) ve sağdaki adrese sahiptir. Kayıt ol RG4 adresi var.

Aktif bir yazma sinyali varsa, dekoder adres koduna göre aşağıdakilerden birine gönderir. kayıtlar giriş veri yolundan gelen bilgilerin olduğu aktif sinyal DI seçilene yazılır Kayıt ol. Arka kenarda, bu bölümdeki bilgiler Kayıt ol"çırpma".

Örneğin, üzerinde DI gönderilen bilgi ve adres Kayıt ol eşittir, o zaman dekoderin "3" çıkışındaki aktif sinyal RG4 kaydına uygulanacaktır. Bu sırada, kalan kayıtlar aktif olmayan bir sinyal seviyesine sahip olacaktır, bu nedenle giriş veri yolundan gelen bilgiler RG4'e yazılacak ve daha önce kaydedilen bilgiler kalan kayıtlarda saklanacaktır.

Aktif bir okuma sinyali ile, 8 çoklayıcının tümü etkinleştirilir (birinci, ikinci ve sekizinci şemada gösterilir, geri kalanı benzer şekilde bağlanır), çünkü etkinleştirme girişlerine aktif bir sinyal uygulanır. Uyarınca adres çözücü, çoklayıcılar bilgileri seçilen kayıttan çıkış veri yoluna değiştirir. Örneğin, kayıt adresi . Sonra tüm çoklayıcılarda olacak, hepsi adrese göre bilgi seçmeye başlar. Bu nedenle, çıkış veriyolunda YAPMAK 25 - birinci çoklayıcıdan, 26 - ikinciden, 27 - üçüncüden, 28 - dördüncüden, 29 - beşinci, 30 - altıncı, 31 - yedinci ve 32 - sekizinci çoklayıcıdan verilecektir. Böylece içeriğin bir kopyası olan bilgiler Kayıt ol RG 4 adres ile çıkış veri yoluna aktarılır DO - çoklayıcı çıkışının değişmeyen durumu.

Rastgele erişimli belleğin (RAM) iki ana türü vardır; bunlar arabelleğe alınmış bellek veya kayıtlı bellek ve arabelleğe alınmamış bellektir. Arabelleğe alınmamış bellek, arabelleğe alınmış bellekten daha hızlıdır ve genellikle çok daha ucuzdur. Dolayısıyla hemen hemen tüm ev masaüstü ve dizüstü bilgisayarlarında bulunabilen bir modül türüdür. Arabelleğe alınmış bellek, arabelleğe alınmamış türden daha pahalıdır ve ayrıca veri depolamayı ve geri almayı nasıl gerçekleştirdiğine bağlı olarak daha yavaştır.
Ancak arabelleğe alınmış bellek, arabelleğe alınmamış formlardan çok daha kararlıdır, bu nedenle öncelikle ana bilgisayarlarda ve sunucularda kullanılır.

Arabelleğe alınmamış bellek, günlük kullanımda bulunan en yaygın bilgisayar bellek modülü biçimidir. Bu bellek modüllerinin üretimi, kısmen ev ve ticari bilgisayarlarda yaygın olarak kullanılmaları ve ayrıca daha az kullanmaları nedeniyle, arabelleğe alınmış bellek modüllerine kıyasla ucuzdur. donanım. Arabelleğe alınmamış bir bellek modülünde, RAM yongası ile bilgisayarın bellek denetleyicisi arasında yönergeler için bir kayıt görevi görecek yerleşik donanım yoktur. Bu, daha hızlı performans sağlar, ancak özellikle yoğun aktivite dönemlerinde bilgi yerleştirme ve almanın rastgele doğasından kaynaklanan hafıza kaybı riskini artırır.

En yaygın olarak kayıtlı bellek olarak adlandırılan, arabelleğe alınmış bellektir. Arabelleğe alınmamış bellek, garip bir şekilde, adını korudu ve kayıtsız belleğe değiştirilmedi. Arabelleğe alınmış bellek, bellek yongasının bir döngüsü için önbellekte bilgi depolayan bir donanım kaydına sahip olması bakımından arabelleğe alınmamış türden farklıdır. Bu işlem daha yavaş bir bellek yongasıyla sonuçlansa da, ek kararlılık sağlar ve bellek hataları riskini azaltır.

Genel tüketici kullanımında, iki tip bellek modülü arasındaki hız farkı önemsiz görünüyor. Yoğun bilgi alışverişi dönemlerinde, kayıt kullanılarak gözlemlenen gecikme ortaya çıkar. Arabelleğe alınmış bellek, arabelleğe alınmamış modüller sürekli yoğun kullanıma maruz kaldıklarında oluşabilecek hasarlara karşı kararlılık ve koruma sağlamak için sunucu bilgisayarlarda ve anabilgisayar sistemlerinde yaygın olarak kullanılır. Arabelleğe alınmış modüller daha pahalı ve genellikle daha yavaş çalıştırılsa da, bellek kararlılığı ve veri güvenliği, bir üretim ortamında bunu telafi etmekten daha fazlasıdır.