EEPROM เป็น“ หน่วยความจำแบบอ่านอย่างเดียว” ดังนั้นทำไมฉันถึงเขียนถึงมันได้?


15

หน่วยความจำแบบอ่านอย่างเดียวที่สามารถตั้งโปรแกรมได้แบบลบได้ด้วยไฟฟ้า ( EEPROM ):

ถ้าใช้หน่วยความจำแบบอ่านอย่างเดียว ( ROM ) แล้วฉันจะเขียนมันได้อย่างไร?


13
คำว่า "ตั้งโปรแกรมได้" มีคำใบ้อะไรหรือไม่?
Nick Alexeev

2
ROM ดั้งเดิมเป็นโปรแกรมรูปแบบหน้ากาก (ซึ่งอาจเป็นที่ที่คุณสับสน) แต่เราต้องมีวิธีที่จะนำบางสิ่งบางอย่างไปใส่ใน ROM อื่น
StainlessSteelRat

6
'โปรแกรมได้' จะไม่ใบ้อะไรเลยถ้าตามมาด้วยคำใบ้ 'แบบอ่านอย่างเดียว'
TonyM

4
@TonyM หลังจากที่คุณเพิ่ม "erasable" "programmable" นั้นไม่ได้ใช้งานมากนักเว้นแต่ว่ามันหมายถึง "reprogrammable" แต่ ROM ที่ตั้งโปรแกรมได้ครั้งเดียวก็มีประโยชน์เช่นกันเพราะคุณไม่จำเป็นต้องรู้เนื้อหาก่อนที่คุณจะวาง PO สำหรับชิ้นส่วน
โฟตอน

1
คำตอบที่เกิดขึ้นจริงเป็นเรื่องง่ายมาก: คุณสามารถเขียนโปรแกรมได้ แต่คุณไม่สามารถ / ไม่ควรเขียนมัน เช่นเดียวกับ Nick กล่าวว่าทั้งสองคำนี้มีบริบท "การเขียนโปรแกรม" มักจะหมายถึงรอบเดียวของการเขียนตามลำดับโดยมีจุดประสงค์เพื่อกำหนดค่าชิปเพื่อทำสิ่งที่มันตั้งใจจะทำโดยปกติที่ความเร็วต่ำมาก - เกี่ยวกับสถาปัตยกรรมฮาร์วาร์ดคุณจะไม่สามารถเขียนลงในหน่วยความจำ การกระทำ "การเขียน" ปกติหมายถึงเพียงแค่นั้น - การจัดเก็บข้อมูลระหว่างการทำงานของโปรแกรมโดยปกติแล้วจะเข้าถึงได้อย่างรวดเร็วและ / หรือสุ่ม

คำตอบ:


27

ตัวย่อ EEPROM มีประวัติบางอย่างซึ่งเป็นไปตามการพัฒนาของเทคโนโลยี

ROM : หน่วยความจำแบบอ่านอย่างเดียว เขียนที่โรงงาน

PROM : โปรแกรมอ่านอย่างเดียวหน่วยความจำ แต่โปรแกรม (ครั้งเดียว) โดยผู้ใช้ เป็นหน่วยความจำที่ตั้งโปรแกรมได้ครั้งเดียวและสามารถอ่านได้ตลอดไป ทำผิดและคุณทิ้งชิป

EPROM : หน่วยความจำแบบอ่านอย่างเดียวที่ลบโปรแกรมได้ มักจะถูกลบโดยใช้แสง UV ผ่านหน้าต่างควอทซ์เหนือชิป ปัญหาเล็กน้อย แต่มีประโยชน์มาก

EEPROM : หน่วยความจำแบบอ่านอย่างเดียวที่ตั้งโปรแกรมได้แบบลบได้ด้วยระบบไฟฟ้า สามารถลบหรือเขียนใหม่ภายใต้การควบคุมโปรแกรม

1

รูปที่ 1 Intel 1702A EPROM ซึ่งเป็นหนึ่งในประเภท EPROM ที่เร็วที่สุด 256 ถึง 8 บิต หน้าต่างควอตซ์ขนาดเล็กยอมรับแสง UV สำหรับการลบออก ที่มา: Wikipedia EPROM EPROM

ดังนั้นฉันได้ยินคุณพูดว่าทำไมพวกเขาเรียกมันว่า eepROm เมื่อมันเขียนได้? คำตอบนี้คือผมสงสัยว่าแตกต่างจากRAM (หน่วยความจำเข้าถึงโดยสุ่ม) มันถือเนื้อหาในช่วงวงจรไฟฟ้าและมีมารยาทมากขึ้นเช่นรอม


1
ข้อมูลยอดเยี่ยม! คำตอบของคุณกระตุ้นให้ฉันค้นหาศักยภาพของRAMการเก็บข้อมูลใด ๆ นอกเหนือจากรอบพลังงานและฉันพบอัญมณีเล็ก ๆ น้อย ๆที่คุณอาจสนใจ
Jacksonkr

1
อา 1702 เป็น EPROM แรกที่ฉันใช้ มันมีวิธีการแปลก ๆ ที่คุณต้องเขียนโปรแกรมผกผันของสิ่งที่คุณต้องการออกมาเพราะด้วยเหตุผลบางอย่างที่ตัวประมวลผล 4004 ที่ออกแบบมาเพื่อทำงานกับการใช้ตรรกะเชิงลบเพื่อจัดทำรหัสแอสเซมบลีของมัน ดังนั้นการแก้ไขนี้คือการทำให้สิ่งต่างๆ 'ง่ายขึ้น'!
Neil_UK

3
และถ้าคุณใช้ ROM-> PROM-> EPROM-> วิวัฒนาการ EEPROM ไปยังขั้นตอนต่อไปคุณจะมีหน่วยความจำ "แฟลช" ใช้กันอย่างแพร่หลายในไดรฟ์ USB ไดรฟ์ Solid State "ฮาร์ด" ไดรฟ์, หน่วยความจำถาวรในทุกรูปแบบของอุปกรณ์ผู้บริโภค ฯลฯ
Richard Crowley

การถือครองเนื้อหาระหว่างรอบการใช้พลังงานอยู่ไกลจากสถานที่เดียวที่ PROM สั้นลงอย่างมากเมื่อเทียบกับ RAM ที่อ่านค่าได้อย่างเท่าเทียมกันเนื่องจากฉันหวังว่าคำตอบของฉันจะชัดเจน
underscore_d

หน่วยความจำมีความผันผวน, eeprom เป็นแบบไม่ลบเลือน, มันจะจดจำได้หลังจากรอบการใช้พลังงาน รอมไม่ระเหย eeprom คุณส่วนใหญ่อ่านและส่วนใหญ่ไม่เขียน rom คุณอ่านและไม่เขียน ดังนั้น eeprom จึงคล้ายกับ rom และทรานซิสเตอร์ได้อธิบายว่ามันเป็นส่วนหนึ่งของวิวัฒนาการของวิธีแก้ปัญหาที่ไม่ลบเลือน
old_timer

7

ฉันงงงวยกับผู้วิจารณ์หลายคนที่คิดว่าคำว่า ROM เป็นเพียงวิธีการทางการตลาดหรืออ้างถึงการสูญเสียข้อมูลเมื่อปิดเครื่องเท่านั้น

คำว่า PROM เป็นอย่างมาก 'อ่านอย่างเดียว' ในแง่ที่มีคุณสมบัติว่าการเขียนในลักษณะเดียวกันและบริบทตามที่คุณต้องการด้วย 'เทียบเท่า' RAM เป็นไปไม่ได้ นี่เป็นเพราะ E / EPROM ต้องการ:

  • การลบโดย UV (EPROM) หรือรอบ 0xFF (EEPROM)
  • เปลี่ยนเป็นโหมดอื่นสำหรับการเขียนโปรแกรมข้อมูล ('การเขียน')
  • ซึ่งในบางกรณีต้องการสภาวะพลังงานที่แตกต่างกันเวลารอ ฯลฯ
  • ข้อ จำกัด เกี่ยวกับรอบการเขียนจะทำให้ PROMs ที่มีอยู่ทั้งหมดไร้ประโยชน์สำหรับการถ่ายโอนข้อมูล / การจัดการปริมาณสูงที่จำเป็นสำหรับหลาย ๆ โปรแกรม

... ทั้งหมดนี้หมายความว่าการเขียนลงในหน่วยความจำช้าไม่สามารถเชื่อมต่อกับการอ่านได้อย่างมีประสิทธิภาพไม่ต้องใช้ชิปอย่างแข็งขัน ฯลฯ

PROM อยู่ในลีกที่แตกต่างโดยสิ้นเชิงกว่า RAM ที่มีรายละเอียดการอ่านเทียบเท่า ดังนั้นทำไมมันไม่ได้ทำการตลาดในรูปแบบของ RAM แบคแลชจะใหญ่โตมาก!

ดังนั้นเราอาจเรียกมันว่า Read Mostly Memory หรือสำหรับคนเดินเท้า EWRPROM: ในที่สุดเขียนได้, รันไทม์อ่านอย่างเดียวหน่วยความจำเท่านั้น ... แต่ในแง่การใช้งานจริง ROM จะถูกทำเครื่องหมาย


5
" ... การเขียนในลักษณะและบริบทเดียวกับที่คุณทำโดยใช้ RAM 'เทียบเท่า' นั้นเป็นไปไม่ได้ " แต่นั่นไม่ใช่คำถามของ OP และสำหรับแอพพลิเคชั่นมากมายเช่นการบันทึกการตั้งค่าการกำหนดค่าหน้าพิมพ์ ฯลฯ EEPROM นั้นสมบูรณ์แบบแม้จะมีความเร็วต่ำก็ตาม ไม่ว่าความเร็วในการเขียนจะยังคงเขียนได้
ทรานซิสเตอร์

@transistor ทีนี้คำถามก็ขึ้นอยู่กับความหมายดังนั้นคำตอบคือ ... ดังนั้นฉันไม่แน่ใจว่าคำตอบ 'หนึ่งจริง' เป็นไปได้ ประเด็นของฉันคือว่ามันไม่ 'สามารถเขียนได้' โดยความหมายที่สันนิษฐานโดยทั่วไปของคำนั้น นั่นเป็นเหตุผลว่าทำไม vaxquis จึงชี้ให้เห็นคำศัพท์ทางเลือกที่ตั้งโปรแกรมได้ ฉันเพิ่มของฉันตั้งแต่ฉันรู้สึกว่ารายละเอียดที่สำคัญนี้ถูกมองข้ามในหัวข้อนี้ก่อนหน้านี้ แต่แน่นอนว่าคุณถูกที่ EEPROM พอเพียงในกรณีที่เหมาะสมดังนั้นขอขอบคุณสำหรับรายละเอียด
underscore_d

3

อุปกรณ์หน่วยความจำที่ตั้งโปรแกรมได้ก่อนหน้านี้ตั้งใจจะเขียนขณะเสียบเข้ากับอุปกรณ์หนึ่งจากนั้นจึงอ่านขณะเสียบเข้ากับอุปกรณ์อื่น ในขณะที่อุปกรณ์สามารถอ่านได้โดยทั่วไปในขณะที่โปรแกรมฟิกซ์เจอร์เขียนโปรแกรม (ดังนั้นฟิกซ์เจอร์การเขียนโปรแกรมสามารถยืนยันได้ว่าถูกเขียนอย่างถูกต้อง) การเขียนโปรแกรมอุปกรณ์มักจะต้องใช้แรงดันไฟฟ้าผิดปกติที่ไม่สามารถใช้ได้ในอุปกรณ์ส่วนใหญ่ นอกจากนี้การดำเนินการเขียนเป็นลำดับความสำคัญช้ากว่าการดำเนินการอ่าน อุปกรณ์รุ่นต่อมาได้รับการปรับปรุงเพื่อกำจัดข้อกำหนดดังกล่าวทำให้สามารถตั้งโปรแกรมในอุปกรณ์ที่จะใช้หลังจากการเขียนโปรแกรม แต่ความแตกต่างระหว่างความเร็วในการอ่านและการเขียนยังคงอยู่


1

มันสามารถลบได้ด้วยระบบไฟฟ้าดังนั้นคุณจึงสามารถเขียนได้

มันไม่มีเหตุผลเมื่อคุณขยาย ROM เป็นคำ แต่ความเข้าใจของฉันคือ EPROM ได้รับการตั้งชื่อโดยนักประดิษฐ์ของ Intel ว่าเป็นสิ่งล่อใจทางการตลาดที่มีความหมายว่า "เหมือนกับ ROM - แต่คุณสามารถเปลี่ยนได้ด้วยตัวเอง" นี่คือโลกของ 1972 ที่ ROM หมายถึงแกรนด์มากมายสำหรับการเปลี่ยนหน้ากาก

EEPROM ติดตามจากก่อนหน้านั้น


4
คำเตือน: หน่วยความจำแบบอ่านอย่างเดียวที่ตั้งโปรแกรมได้ (ไม่ได้ตั้งค่าที่โรงงานเท่านั้น) EPROM: หน่วยความจำแบบอ่านอย่างเดียวที่ลบโปรแกรมได้ โดยทั่วไปจะต้องได้รับรังสี UV เพื่อลบ EEPROM: หน่วยความจำแบบอ่านอย่างเดียวที่สามารถลบได้ด้วยระบบไฟฟ้าที่สามารถลบได้ช่วยประหยัดเวลาได้มากโดยไม่ต้องนั่งอุปกรณ์ของคุณในเตียงอาบแดดทุกครั้งที่คุณต้องการทำการตั้งโปรแกรมซ้ำ
โฟตอน

1
UV EPROM ที่ฉันเห็นมีหน้าต่างเล็ก ๆ ในพลาสติก คุณครอบคลุมพวกเขาเมื่อคุณไม่ได้ลบ
mkeith

1
การแต่งตั้งของรอมทำให้ความอุดมสมบูรณ์ของความรู้สึกเมื่อคุณรำคาญที่จะคิดเกี่ยวกับการปฏิบัติการที่นำมาใช้ในคำตอบของฉันพยายามที่จะใช้พรหมราวกับว่ามันเป็นแรม ลองและดู ฉันจะรอ!
underscore_d

@underscore_d ที่จริงฉันกังวลกับการคิดและฉันไม่แน่ใจว่าความคิดเห็นของคุณมีน้ำหนักอย่างไรเมื่อเทียบกับเกียร์ถอยหลังของคุณในภายหลัง "ดีเช่นเดียวกับคำถามที่มีความหมายดังนั้นคำตอบคือ ... ดังนั้นฉัน ' ฉันไม่แน่ใจว่าคำตอบ 'หนึ่งจริง' เป็นไปได้ " ในกรณีใด ๆ มีหน่วยความจำน้อยมากในปี 1972 และ ROM เป็นประเภทที่แตกต่างกัน ในฐานะที่เป็นตัวย่อยืนตนเอง EEPROM เป็นจริงสับสนตามคำถาม OPs
TonyM

1

ฉันค้นพบคำตอบที่เป็นไปได้ขณะเขียนคำถาม

จากการดูบทความ ROM นี้บน Wikipediaดูเหมือนว่า ROM บางอันจะอนุญาตให้เขียนได้ แต่ถ้าทำได้ความเร็วในการเขียนจะช้าหรือการเขียนโดยทั่วไปจะทำได้ยากถ้าเป็นไปได้

อีกชิ้นอาหารอันโอชะที่น่าสนใจคือ EEPROM มีเวลา จำกัด ที่สามารถเขียนได้ บทความกล่าวถึงว่า EEPROM สามารถเช็ดทำความสะอาดและเขียนถึงหลายพันครั้ง แต่ยัง!


1
นี่เป็นคำอธิบายที่ง่ายเกินไปและไม่สามารถจำแนกความแตกต่างที่สำคัญระหว่าง ROM ประเภทต่าง ๆ (เช่น mask ROM vs. OTP PROM เทียบกับ EPROM, EEPROM และหน่วยความจำแฟลช)
duskwuff -inactive-

@duskwuff ดูเหมือนว่าคุณมีข้อมูลที่ดีเยี่ยมในหัวข้อ กรุณาทำร่วมกัน
Jacksonkr

2
คำพูดของวิกิพีเดียที่คุณอ้างถึงเป็นพยักหน้าให้กับทุกประเภทที่แตกต่างกัน แต่ @Jacksonkr นั้นถูกต้อง มันลดความซับซ้อนมากเกินไป ROM ไม่สามารถเขียนได้เลย สามารถเขียน PROM ได้ครั้งเดียว EPROM สามารถเขียนใหม่ได้ แต่หลังจากได้รับหลอด UV เท่านั้น (เช่นช้าและลำบาก ) EEPROM สามารถเขียนใหม่ได้ แต่หลังจากที่คุณให้คำสั่งเพื่อลบ (เช่นช้า )
Robert Harvey

2
@RobertHarvey ฉันคิดว่าคุณหมายถึง "@duskwuff ถูกต้อง"?
Jacksonkr

1
[ถอนหายใจ]และตอนนี้ความคิดเห็นทั้งหมดก็สับสน
Robert Harvey

1

EEPROMs และแม้กระทั่งความทรงจำแฟลชใช้วิวัฒนาการของเทคโนโลยีเดียวกัน (ประตูประตูน้ำ) ที่ EPROM ใช้ไม่ใช่เทคโนโลยีที่จะใช้สำหรับอุปกรณ์ SRAM หรือ DRAM

EEPROMs มีความไม่สมดุลอย่างมากในพฤติกรรมการอ่านและการเขียน: รอบการอ่านนั้นไม่ จำกัด อย่างรวดเร็ว (สิบหรือหลายร้อยนาโนวินาที) และเป็นไปได้เสมอด้วยแรงดันไฟฟ้าหลักที่ใช้งานเท่านั้น รอบการเขียนนั้นช้ากว่ามากและบางครั้งต้องใช้แรงดันไฟฟ้าเพิ่มเติม (2816 EEPROM แบบขนานจะต้องใช้แหล่งจ่ายไฟ 12V พิเศษสำหรับการเขียนโปรแกรมบางอย่างและจะมีเวลาในการเขียนเป็นร้อยไมโครวินาทีหรือช้ากว่านั้นขึ้นอยู่กับยี่ห้อและรุ่นที่แน่นอน มีรอบการเขียน จำกัด )

หน่วยความจำแฟลชไม่ใช่การเข้าถึงแบบสุ่มสำหรับการเขียน (การเขียนทับคำต้องให้คุณลบมากกว่าหนึ่งคำ) บางประเภท (NAND) ไม่ได้เข้าถึงแบบสุ่มสำหรับการอ่าน

โปรดทราบว่าอุปกรณ์บางอย่าง (ไม่ใช่ทั้งหมด!) ที่วางตลาดในฐานะ PROMs หรือ ROM เป็น OTP ภายใน (ไม่มีหน้าต่าง) EPROMs


0

เป็นเพียง ROM เมื่อเทียบกับ Volatile RAM (Random Access Memory ที่จะสูญเสียสถานะเมื่อสูญเสียพลังงาน) การตั้งชื่อดั้งเดิมที่ไม่เหมาะสมอีกต่อไปหลังจากหลายทศวรรษ


2
ฉันจะไม่เห็นด้วย Passerby; ชื่อจริงเหมาะสมในบริบท เรามี NVRAM และเรามี EEPROM คำศัพท์ทั้งสองเน้นที่โหมดการใช้งานที่แตกต่างกันของความทรงจำ, ความเร็วในการอ่าน / เขียนที่แตกต่างกัน, เวลาเก็บข้อมูลที่แตกต่างกันเป็นต้น

-1

EPROM / PROM สามารถอ่านได้เฉพาะที่ RUNTIME เมื่อคุณเรียกใช้แอพพลิเคชั่นที่ต้องการ (PC, คอนโทรลเลอร์แบบฝัง ฯลฯ ) ไม่สามารถเขียนได้โดยโปรแกรมที่กำลังทำงานอยู่ คุณต้องนำมันออกมาแล้วใส่ลงในอุปกรณ์การเขียนพิเศษซึ่งคุณสามารถเขียนเนื้อหาทั้งหมดได้ในครั้งเดียว

ในฐานะที่เป็นระบบปฏิบัติการที่ชี้ให้เห็นฉันในความคิดเห็น EEPROM สามารถตั้งค่าให้สามารถเขียนได้ที่รันไทม์เพราะมันเขียนได้ทางไฟฟ้า แต่ในการใช้งานในชีวิตประจำวันมันไม่สามารถเขียนได้สถาปัตยกรรมมักจะป้องกันมัน โดยปกติคุณจะใช้ยูทิลิตี "แฟลช" พิเศษที่ผู้ผลิตจัดทำขึ้นเพื่อเข้าถึงและเขียนและมักจะเขียนทั้งหมดในคราวเดียวแทนที่จะอยู่ในโหมดการเข้าถึงแบบสุ่ม ใครบางคนในคำตอบข้างต้นประกอบด้วยตัวย่อขนาดใหญ่สำหรับมันที่จะนำไปใช้

RAM ซึ่งรวมถึง NVRAM สามารถเขียนได้ที่อุปกรณ์โฮสต์

แม้ว่า ROM ทั้งหมดจะไม่ลบเลือนและ MOST RAM นั้นมีความผันผวน NVRAM นั้นไม่สามารถระเหยได้ดังนั้นจึงไม่ได้เป็นเพียงความแตกต่างในการมองเห็น


ROM เป็นแบบอ่านอย่างเดียว " คุณต้องนำมันออกมาแล้วใส่มันลงในอุปกรณ์การเขียนพิเศษที่คุณเขียนเนื้อหาทั้งหมดในครั้งเดียว " นั่นคือการเขียนโปรแกรมโดยคำจำกัดความว่าเป็นอุปกรณ์พรหม (หน่วยความจำแบบอ่านอย่างเดียว) ที่พรหม " Runtime " ใช้ไม่ได้ มันไม่ใช่คอมไพเลอร์ ยินดีต้อนรับสู่ EE.SE
ทรานซิสเตอร์

ฉันหมายถึง EEPROM หรือ PROM และตั้งใจเขียน ROM เท่านั้น
Trashman

2
ยังไม่ถูกต้อง EEPROM สามารถเขียนได้โดยอุปกรณ์โฮสต์ มักใช้เพื่อบันทึกการตั้งค่าการกำหนดค่า ดูคำตอบอื่น ๆ ในหน้า
ทรานซิสเตอร์

/ เห็นด้วยทรานซิสเตอร์ - ถ้ามีการกำหนด EEPROM เป็นรหัสพื้นที่ในสถาปัตยกรรมฮาร์วาร์ด (แก้ไข) มันไม่สามารถเขียนได้ (เป็นผลจากการออกแบบบัสอย่างง่าย)

ไม่นั่นก็ถอยหลังไปเหมือนกัน ในสถาปัตยกรรมฮาร์วาร์ดที่ "ถูกดัดแปลง" โดยทั่วไปคุณสามารถเขียนลงในพื้นที่โค้ดได้โดยทั่วไปจะมีประสิทธิภาพน้อยกว่า แต่จะอยู่ในสภาพที่บริสุทธิ์ซึ่งคุณไม่สามารถทำได้ และสำหรับคำตอบนั้นเอง 8052AH พื้นฐานรองรับการใช้ (UV) EPROM เป็นที่เก็บข้อมูลแบบเขียนได้ในเวลาทำงานคุณต้องการอุปทาน 12v หรือดังนั้นและทรานซิสเตอร์เพื่อเปิดใช้งาน แน่นอนว่ามันไม่สามารถลบได้ในวงจร แต่มันสามารถผนวกโปรแกรมที่บันทึกไว้ไว้ต่อไปจนกว่าจะหมดพื้นที่
Chris Stratton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.