EEPROM - це пам'ять лише для читання, тож чому я можу писати на неї?


15

Програмована пам'ять, доступна лише для читання ( EEPROM ):

Якщо він використовує пам'ять лише для читання ( ROM ), то як я можу писати на неї?


13
Чи щось натякає слово "програмований"?
Нік Алексєєв

2
Оригінальний ROM був запрограмований (мабуть, там, де ви плутаєтесь), але ми повинні мати якийсь спосіб, щоб щось включити в інші ПЗУ.
StainlessSteelRat

6
"Програмований" ні на що не натякне, якщо слідуватиме не підказки "лише для читання".
TonyM

4
@TonyM, після додавання "стирається", "програмований" не дуже корисний, якщо він насправді не означає "перепрограмований". Але одноразові програмовані ПЗУ також є корисною справою, оскільки це означає, що вам не потрібно знати вміст, перш ніж навіть розмістити PO для частини.
The Photon

1
фактична відповідь надзвичайно проста: ви можете запрограмувати її, але ви не можете / не повинні писати на неї. Як сказав Нік, обидва терміни тут є контекстуальними; "програмування" зазвичай означає один цикл послідовних записів, спрямованих на налаштування мікросхеми на те, що він збирається робити, як правило, з дуже низькою швидкістю - що стосується архітектури Гарварду, ви не зможете записати в таку пам'ять під час застосування виконання. Регулярне "написання" означає саме це - зберігання даних під час виконання програми, як правило, з швидким та / або випадковим доступом.

Відповіді:


27

Акронім EEPROM має певну історію, яка слідкує за розвитком технології.

ПЗУ : Пам'ять лише для читання. Написано на заводі.

PROM : програмована пам'ять, доступна лише для читання, але програмована (один раз) користувачем. Дійсно одноразова програмована, вічно читабельна пам'ять. Зроби неправильно, і ти скидаєш фішку.

EPROM : стирається програмована пам'ять, доступна лише для читання. Зазвичай стирається за допомогою УФ-світла через кварцове вікно над мікросхемою. Трохи клопоту, але дуже корисно.

EEPROM : Електрично легко програмувана пам'ять, доступна лише для читання. Можна стерти або переписати під контролем програми.

1

Малюнок 1. Intel 1702A EPROM, один з найбільш ранніх типів EPROM, 256 на 8 біт. Невелике кварцове вікно пропускає УФ світло для стирання. Джерело: Вікіпедія EPROM .

Отже, я чую, як ви говорите, чому вони називають це eepROm, коли він пишеться? Відповідаю на це, я підозрюю, що на відміну від оперативної пам’яті ( оперативної пам’яті з випадковим доступом) вона зберігає її вміст під час циклу живлення і, отже, поводилася більше як ПЗУ .


1
Чудова інформація! Ваша відповідь підштовхнула мене до пошуку потенціалу RAMзберігати будь-які дані поза циклом живлення, і я знайшов цей маленький камінь, який може вас зацікавити.
Jacksonkr

1
Ах, 1702, перший EPROM, який я використав. Це мало дивну умову, що вам потрібно було запрограмувати зворотне, що ви хочете вийти з цього, оскільки чомусь процесор 4004, з яким він був розроблений, використовував негативну логічну умову для документування коду його складання. Тож це виправлення полягало в тому, щоб зробити речі легшими!
Neil_UK

3
І якщо ви перейдете на ROM-> PROM-> EPROM-> EEPROM evolution до наступного кроку, у вас є "флеш" пам'ять. Широко використовуються в USB-накопичувачі, тверді диски твердого типу, стійка пам’ять у всіх видах споживчих гаджетів тощо.
Річард Кроулі

Вміст вмісту між циклами живлення далеко не єдине місце, в якому PROM значно скорочується в порівнянні з рівноцінною оперативною пам’яттю, що читається, як я сподіваюсь, моя відповідь дає зрозуміти.
підкреслити

таран мінливий, епром нелетучий, він запам'ятовується після силового циклу. ром - енергонезалежний. eeprom ви в основному читаєте і в основному не пишете, rom ви читаєте і не пишете. Таким чином, eeprom дуже схожий на rom, і як описав транзистор, він був частиною еволюції енергонезалежних розчинів.
old_timer

7

Мене бентежить те, що багато коментаторів тут думають, що термін ПЗУ є виключно маркетинговим складом або має на увазі лише втрату даних про відключення живлення.

PROM дуже "лише для читання", в тому кваліфікованому розумінні, що писати на нього таким же чином і в контекстах, як і в "еквівалентній" ОЗУ, неможливо. Це тому, що E / EPROM вимагає:

  • стирання УФ (EPROM) або циклом 0xFF (EEPROM),
  • перехід в інший режим для програмування ("запису") даних,
  • що в деяких випадках вимагає різних умов живлення, часу очікування тощо.
  • Обмеження циклів запису зробить всі існуючі PROM непотрібними для виду високооб'ємних передач / маніпуляцій, необхідних багатьом програмам.

... все це означає, що акт запису на таку пам'ять повільний, не може бути ефективно переплетений з операціями читання, активно зношує мікросхему тощо.

PROM знаходиться в абсолютно іншій лізі, ніж оперативна пам'ять, з еквівалентними характеристиками читання. Отже, чому вона не продається як будь-яка форма ОЗУ. Люфт буде колосальним!

Таким чином, ми могли б назвати це «Переважно пам’яттю», або, для педантів, EWRPROM: Врешті-решт, для запису, Час виконання практично читається лише з пам’яті ... але в практичному плані, ПЗУ летить на меті.


5
" ... писати на нього таким же чином і в контекстах, що і з" еквівалентною "ОЗУ, неможливо. Але це не було питанням ОП і для багатьох застосувань, таких як збереження налаштувань конфігурації, роздруковані сторінки тощо, EEPROM є ідеальним, незважаючи на малу швидкість. Незалежно від швидкості запису, вона все ще може бути записана.
транзистор

@transistor Що ж, як питання підлягає семантиці, так і відповіді ... так що я не впевнений, що можлива відповідь "одна правда". Моя думка полягала в тому, що це не «піддається запису» одним загальноприйнятим значенням цього терміна. Ось чому, як зазначав vaxquis, було введено альтернативний термін, який можна програмувати . Я додав свою оцінку, оскільки вважаю, що ця важлива деталь була помічена в цій темі до цього. Але впевнений, ти маєш рацію, що EEPROM вистачає у відповідних випадках, тому дякую за деталі.
підкреслюй_30

3

Пристрої пам'яті раннього програмування повинні були записуватися під час підключення до одного пристрою, а потім читати під час підключення до іншого. Хоча пристрої, як правило, можна читати, перебуваючи у програмуванні (щоб прилад програмування міг підтвердити, що вони написані правильно), програмування пристроїв часто вимагає застосування незвичних напруг, які були б недоступні у більшості пристроїв, які потребували їх зчитування. Крім того, операції запису були на порядок повільнішими, ніж операції читання. Пізніше пристрої були вдосконалені для усунення таких вимог, дозволяючи програмувати їх у пристрої, де він буде використовуватися після програмування, але різниця між швидкістю читання та запису залишається.


1

Це електрично стирається, тому ви можете писати на нього.

Немає сенсу, коли ви розширюєте ROM на слова. Але я розумію, що EPROM був названий таким винахідником, Intel, як маркетинг, який означав "Так само, як ROM - але ви можете змінити його самостійно". Це було у світі 1972 року, коли ROM означав незмінну кількість грошей для зміни маски.

EEPROM випливає з цього прецеденту.


4
PROM: програмована пам'ять лише для читання (не встановлена ​​лише на заводі). EPROM: стирається програмована пам'ять, доступна для читання. Зазвичай для стирання потрібен вплив УФ-променів. EEPROM: програмована пам'ять, доступна лише для читання, яка може бути стерта електричним способом, заощаджуючи багато часу, не сидіти пристрій у солярії кожен раз, коли ви хочете його перепрограмувати.
The Photon

1
У УФ-ЕПРОМ, який я бачив, у пластику мало вікон. Ви покриваєте їх, коли не стираєте.
mkeith

1
Позначення ПЗУ має багато сенсу, коли ви намагаєтесь думати про практичні аспекти, запроваджені у моїй відповіді, намагаючись використовувати PROM так, ніби це була оперативна пам’ять. Спробуйте це і подивіться. Я почекаю!
підкреслюй_30

@underscore_d, насправді я задумався думати, і я не впевнений, як ваш коментар проти вашої дещо задньої передачі пізніше "Ну, так як питання підлягає семантиці, так і відповіді ... так я" я не впевнений, що можлива відповідь "одна правдива". У будь-якому випадку, в 1972 році було дуже мало типів пам'яті, і ROM був виразним типом. Як самостійна абревіатура, EEPROM справді заплутаний, відповідно до питання про ОП.
TonyM

1

Я виявив потенційну відповідь під час написання запитання

Якщо дивитись на цю статтю із ПЗУ у Вікіпедії, це здається, що деякі ПЗУ дозволять писати, але якщо це так, швидкість запису буде повільною або взагалі буде важко, якщо це можливо.

Іншим захоплюючим примхи є те, що EEPROM має обмежену кількість разів, до яких можна записатись. У статті йдеться про те, що EEPROM можна очищати та писати тисячі разів, але все-таки!


1
Це надто спрощене пояснення і не вдається розпізнати ключові відмінності між різними типами ПЗУ (наприклад, маска ROM проти OTP PROM проти EPROM, EEPROM та флеш-пам'яті).
duskwuff -inactive-

@duskwuff Здається, у вас є чудова інформація з цієї теми. Будь ласка, поділіться.
Джексонкр

2
Цитата на вікіпедію, яку ви посилаєтесь, - це кивок на всі різні типи, але @Jacksonkr має рацію; це надмірно спрощує. ПЗУ взагалі не можна писати. PROM можна написати один раз. EPROM можна переписати, але тільки після впливу УФ-лампи. (тобто повільно і з труднощами. ) EEPROM можна переписати, але лише після того, як ви дасте команду стерти (тобто повільно ).
Роберт Харві

2
@RobertHarvey Я думаю, ти мав на увазі "@duskwuff має рацію"?
Джексонкр

1
[зітхання] А тепер усі коментарі заплутані.
Роберт Харві

1

EEPROM і навіть флеш-пам’ять використовують еволюцію тієї самої технології (плаваючі ворота), яку використовують EPROM, а не технології, яка використовувалася б для пристроїв SRAM або DRAM.

EEPROM сильно асиметричні в поведінці читання проти запису: Цикли зчитування практично необмежені, швидкі (десятки чи сотні наносекунд), і завжди можливі лише при застосованих основних робочих напругах. Цикли запису набагато повільніші і іноді потрібні додаткові напруги (для 2816 паралельних EEPROM знадобиться додаткове напруга 12 В для деяких операцій програмування, і час запису буде мати сотні мікросекунд або навіть повільніше, залежно від точної марки та моделі, і мають обмежений цикл запису).

Флеш-пам'яті не є випадковим доступом для запису (перезапис слова вимагає, щоб ви стерли більше слова), деякі типи (NAND) навіть не є випадковим доступом для читання.

Зауважте, що деякі (не всі!) Пристрої, які продаються як PROM або ROM, були внутрішньо OTP (без вікон) EPROM.


0

Це лише ПЗУ порівняно з мінливою оперативною пам'яттю (пам'ять випадкового доступу, яка втрачає стан, коли втрачається живлення). Спадщина, яка не має сенсу після десятиліть.


2
Я не погодився б, Пассербі; назва насправді має ідеальний сенс у контексті. У нас є NVRAM, і у нас є EEPROM. Обидва терміни виділяють різні очікувані режими використання пам’яті, різну швидкість читання / запису, різний час збереження даних тощо

-1

EPROM / PROM ЧИТАЙТЕ ТІЛЬКИ о RUNTIME. Під час запуску програми, призначеної для використання (ПК, вбудований контролер тощо), це не може бути записано запущеною програмою. Ви повинні вийняти його і ввести його в спеціальний письмовий апарат, куди ви записуєте весь вміст одразу.

Як мені було зазначено в коментарях, EEPROM може бути налаштований так, щоб він міг записуватись під час виконання, тому що він може бути електронним. Але в повсякденному використанні це не можна записати, архітектура зазвичай це заважає. Зазвичай ви використовуєте спеціальну утиліту "спалах", надану виробником для доступу та запису, і зазвичай це записується відразу, а не в режимі довільного доступу. Хтось у відповіді вище склав велику абревіатуру для цього, що застосовуватиметься.

Оперативна пам’ять, включаючи NVRAM, може записуватися під час виконання хост-пристроєм.

Хоча весь ПЗУ є енергонезалежним і МОЩА ОЗУ є мінливим, NVRAM є енергонезалежним, так що це не єдина помітна різниця між ними.


ПЗУ доступний лише для читання. " Ви повинні вийняти його і ввести його в спеціальний апарат для запису, куди ви записуєте весь вміст одразу ". Це програмування його, за визначенням, це пристрій PROM (програмована пам'ять лише для читання). " Час виконання " не застосовується. Це не компілятор. Ласкаво просимо на EE.SE.
Транзистор

Я мав на увазі EEPROM або PROM і помилково лише написав ROM
Trashman

2
Ще не правильно. EEPROM записується хост-пристроєм. Він зазвичай використовується для збереження параметрів конфігурації. Дивіться інші відповіді на сторінці.
Транзистор

/ погодьтесь транзистор - iff EEPROM позначений як область коду в (модифікованій) Гарвардській архітектурі, до якої не можна записати (як простий результат проектування шини).

Ні, це теж назад. У "модифікованій" Гарвардській архітектурі ви, як правило, можете записувати в кодовий простір, як правило, менш ефективно, це лише в чистому, де ви не можете. А що стосується самої відповіді, то 8052AH basic підтримує використання (УФ) EPROM як запам'ятовуваного для зберігання під час роботи - вам знадобилося джерело напруги 12 В або транзистор для його включення. Звичайно, він не міг стерти це в ланцюзі, але він може тримати додавання збережених програм, поки не вистачить місця.
Кріс Страттон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.