EEPROM là một bộ nhớ chỉ đọc, nên tại sao tôi có thể ghi vào nó?


15

Bộ nhớ chỉ đọc có thể lập trình xóa được bằng điện ( EEPROM ):

Nếu nó sử dụng Bộ nhớ chỉ đọc ( ROM ) thì làm sao tôi có thể ghi vào nó?


13
Liệu từ "lập trình" có gợi ý gì không?
Nick Alexeev

2
ROM gốc đã được lập trình mặt nạ (có lẽ là nơi bạn bối rối), nhưng chúng ta phải có một số cách để đưa một cái gì đó vào các ROM khác.
StainlessSteelRat

6
'Có thể lập trình' sẽ không gợi ý bất cứ điều gì nếu được theo sau bởi gợi ý 'chỉ đọc'.
TonyM

4
@TonyM, sau khi bạn thêm "có thể xóa", "lập trình" không được sử dụng nhiều trừ khi nó thực sự có nghĩa là "lập trình lại". Nhưng ROM lập trình một lần cũng là một điều hữu ích vì điều đó có nghĩa là bạn không cần biết nội dung trước khi đặt PO cho phần đó.
Photon

1
câu trả lời thực tế rất đơn giản: bạn có thể lập trình nó, nhưng bạn không thể / không nên viết thư cho nó. Giống như Nick đã nói, cả hai thuật ngữ ở đây đều theo ngữ cảnh; "lập trình" thường có nghĩa là một chu kỳ ghi tuần tự, nhằm mục đích cấu hình chip để thực hiện những gì nó dự định làm, thường ở tốc độ rất thấp - liên quan đến kiến ​​trúc Harvard, bạn sẽ không thể ghi vào bộ nhớ như vậy trong quá trình ứng dụng chấp hành. "Viết" thông thường có nghĩa là - lưu trữ dữ liệu trong khi thực hiện chương trình, thường là truy cập nhanh và / hoặc ngẫu nhiên.
vaxquis

Câu trả lời:


27

Từ viết tắt EEPROM có một số lịch sử theo sau sự phát triển của công nghệ.

ROM : Bộ nhớ chỉ đọc. Viết tại nhà máy.

PROM : Bộ nhớ chỉ đọc có thể lập trình nhưng được lập trình (một lần) bởi người dùng. Thực sự là một bộ nhớ lập trình một lần, mãi mãi có thể đọc được. Nhận sai và bạn đổ chip.

EPROM : Bộ nhớ chỉ đọc có thể lập trình xóa được. Thường bị xóa bằng cách sử dụng ánh sáng tia cực tím thông qua một cửa sổ thạch anh phía trên chip. Một chút rắc rối nhưng rất hữu ích.

EEPROM : Bộ nhớ chỉ đọc có thể lập trình có thể xóa bằng điện. Có thể được xóa hoặc viết lại dưới sự kiểm soát của chương trình.

1

Hình 1. Một EPROM Intel 1702A, một trong những loại EPROM sớm nhất, 256 x 8 bit. Cửa sổ thạch anh nhỏ thừa nhận ánh sáng tia cực tím để xóa. Nguồn: Wikipedia EPROM .

Vì vậy, tôi nghe bạn nói, tại sao họ gọi nó là eepROm khi nó có thể viết được? Câu trả lời cho điều này là, tôi nghi ngờ rằng, không giống như RAM (bộ nhớ truy cập ngẫu nhiên), nó giữ nội dung của nó trong chu kỳ nguồn và do đó, hoạt động giống như một ROM .


1
Thông tin tuyệt vời! Câu trả lời của bạn đã thôi thúc tôi tìm kiếm tiềm năng của RAMviệc nắm giữ bất kỳ dữ liệu nào ngoài chu kỳ năng lượng và tôi đã tìm thấy viên ngọc nhỏ này mà bạn có thể quan tâm.
Jacksonkr

1
Ah, 1702, EPROM đầu tiên tôi sử dụng. Nó có một quy ước kỳ lạ là bạn phải lập trình ngược lại những gì bạn muốn ra khỏi nó, bởi vì lý do nào đó, bộ xử lý 4004 mà nó được thiết kế để làm việc với việc sử dụng một quy ước logic phủ định để ghi lại mã lắp ráp của nó. Vì vậy, sửa chữa này là để làm cho mọi thứ 'dễ dàng hơn'!
Neil_UK

3
Và nếu bạn thực hiện quá trình tiến hóa ROM-> PROM-> EPROM-> EEPROM sang bước tiếp theo, bạn có bộ nhớ "flash". Được sử dụng rộng rãi trong các ổ USB, Ổ cứng "Ổ cứng", bộ nhớ liên tục trong tất cả các loại thiết bị tiêu dùng, v.v.
Richard Crowley

Giữ nội dung giữa các chu kỳ công suất khác xa so với vị trí duy nhất mà PROM giảm đáng kể khi so sánh với RAM đọc tương đương, vì tôi hy vọng câu trả lời của mình rất rõ ràng.
gạch dưới

ram là dễ bay hơi, eeprom là không dễ bay hơi, nó nhớ sau một chu kỳ năng lượng. rom là không dễ bay hơi. eeprom bạn chủ yếu đọc và chủ yếu không viết, rom bạn đọc và không viết. Vì vậy, eeprom rất giống với rom và như bóng bán dẫn đã mô tả nó là một phần của sự phát triển của các giải pháp không bay hơi.
old_timer

7

Tôi bị bối rối bởi có bao nhiêu nhà bình luận ở đây nghĩ rằng thuật ngữ ROM chỉ là một mưu đồ tiếp thị hoặc chỉ đề cập đến việc mất dữ liệu khi tắt nguồn.

PROM rất nhiều 'chỉ đọc', theo nghĩa đủ điều kiện là viết cho nó theo cách tương tự và bối cảnh như bạn làm với RAM 'tương đương' là không thể. Điều này là do E / EPROM yêu cầu:

  • xóa bằng UV (EPROM) hoặc chu kỳ 0xFF (EEPROM),
  • chuyển sang một chế độ khác để lập trình dữ liệu ('viết'),
  • mà trong một số trường hợp đòi hỏi các điều kiện năng lượng khác nhau, thời gian chờ đợi, vv
  • Các hạn chế về chu trình ghi sẽ làm cho tất cả các Proms còn tồn tại trở nên vô dụng đối với loại truyền / thao tác dữ liệu khối lượng lớn cần thiết cho nhiều chương trình.

... Tất cả điều đó có nghĩa là hành động ghi vào bộ nhớ như vậy là chậm, không thể xen kẽ một cách hiệu quả với các hoạt động đọc, chủ động làm hao mòn chip, v.v.

PROM là một giải đấu hoàn toàn khác so với RAM với thông số kỹ thuật đọc tương đương. Do đó, tại sao nó không được bán trên thị trường như bất kỳ dạng RAM nào. Phản ứng dữ dội sẽ là khổng lồ!

Vì vậy, có lẽ chúng ta có thể gọi nó là Bộ nhớ đọc chủ yếu hoặc, đối với người đi bộ, EWRPROM: Cuối cùng có thể ghi được, Bộ nhớ chỉ đọc thực tế ... nhưng về mặt thực tế, ROM là dấu hiệu.


5
" ... Viết cho nó theo cách và bối cảnh giống như bạn làm với RAM 'tương đương' là không thể. " Nhưng đó không phải là câu hỏi của OP và cho nhiều ứng dụng như lưu cài đặt cấu hình, trang được in, v.v. EEPROM là lý tưởng, mặc dù tốc độ chậm. Dù tốc độ ghi của nó thế nào thì nó vẫn có thể ghi được.
Transitor

@transistor Vâng, giống như câu hỏi tuân theo ngữ nghĩa, câu trả lời cũng vậy ... vì vậy tôi không chắc câu trả lời 'một sự thật' nào là có thể. Quan điểm của tôi là nó không 'có thể ghi được' bởi một ý nghĩa thường được giả định của thuật ngữ đó. Đó là lý do tại sao, như vaxquis chỉ ra, thuật ngữ lập trình thay thế đã được giới thiệu. Tôi đã thêm mất của tôi vì tôi cảm thấy chi tiết quan trọng này đã bị bỏ qua trong chủ đề này trước đó. Nhưng chắc chắn, bạn đã đúng rằng EEPROM đủ trong các trường hợp thích hợp, vì vậy cảm ơn vì chi tiết.
gạch dưới

3

Các thiết bị bộ nhớ lập trình ban đầu được dự định ghi trong khi cắm vào một thiết bị, sau đó đọc trong khi cắm vào thiết bị khác. Mặc dù các thiết bị thường có thể được đọc trong khi ở thiết bị lập trình (vì vậy thiết bị lập trình có thể xác nhận rằng chúng được viết chính xác), lập trình các thiết bị thường yêu cầu áp dụng các điện áp bất thường không có sẵn trong hầu hết các thiết bị cần đọc chúng. Hơn nữa, các hoạt động viết là các đơn đặt hàng có cường độ chậm hơn các hoạt động đọc. Các thiết bị sau này đã được cải tiến để loại bỏ các yêu cầu như vậy, cho phép chúng được lập trình trong thiết bị nơi nó sẽ được sử dụng sau khi lập trình, nhưng sự khác biệt giữa tốc độ đọc và ghi vẫn còn.


1

Nó có thể xóa bằng điện, vì vậy bạn có thể viết thư cho nó.

Thật vô nghĩa khi bạn mở rộng ROM thành từ. Nhưng sự hiểu biết của tôi là EPROM được đặt tên bởi nhà phát minh của nó, Intel, như một sự dụ dỗ tiếp thị có nghĩa là "Giống như ROM - nhưng bạn có thể tự thay đổi nó". Đây là một thế giới năm 1972, nơi ROM có nghĩa là có nhiều thay đổi cho mặt nạ.

EEPROM theo sau từ tiền lệ đó.


4
PROM: Bộ nhớ chỉ đọc có thể lập trình (không chỉ được đặt tại nhà máy). EPROM: bộ nhớ chỉ đọc có thể lập trình xóa được. Thông thường yêu cầu tiếp xúc với tia cực tím để xóa. EEPROM: bộ nhớ chỉ đọc có thể lập trình có thể xóa bằng điện, tiết kiệm rất nhiều thời gian bằng cách không đặt thiết bị của bạn trên giường tắm nắng mỗi khi bạn muốn lập trình lại nó.
Photon

1
UV EPROM tôi đã thấy có rất ít cửa sổ bằng nhựa. Bạn che chúng khi bạn không xóa.
mkeith

1
Việc chỉ định ROM có ý nghĩa rất lớn khi bạn bận tâm suy nghĩ về tính thực tiễn, được giới thiệu trong câu trả lời của tôi, về việc cố gắng sử dụng một PROM như thể đó là RAM. Hãy thử nó và xem. Tôi sẽ đợi!
gạch dưới

@underscore_d, thực sự tôi đã bận tâm suy nghĩ và tôi không chắc bình luận của bạn nặng như thế nào so với thiết bị hơi ngược của bạn sau này "Chà, cũng giống như câu hỏi phải tuân theo ngữ nghĩa, nên tôi cũng trả lời ... Tôi không chắc câu trả lời 'một sự thật' nào là có thể ". Trong mọi trường hợp, có rất ít loại bộ nhớ trong năm 1972 và ROM là một loại khác biệt. Là một từ viết tắt tự đứng, EEPROM thực sự khó hiểu, theo câu hỏi của OP.
TonyM

1

Tôi phát hiện ra một câu trả lời tiềm năng trong khi viết câu hỏi

Từ việc xem bài viết ROM này trên Wikipedia , có vẻ như một số ROM sẽ cho phép ghi nhưng nếu có thì tốc độ ghi sẽ chậm hoặc nói chung việc viết sẽ khó khăn, nếu có thể.

Một điều thú vị khác là EEPROM có số lần giới hạn mà nó có thể được viết. Bài báo đề cập rằng EEPROM có thể được xóa sạch và viết thành hàng ngàn lần, nhưng vẫn còn!


1
Đây là một lời giải thích quá đơn giản và không nhận ra sự khác biệt chính giữa các loại ROM khác nhau (ví dụ: mặt nạ ROM so với OTP PROM so với EPROM, EEPROM và bộ nhớ flash).
duskwuff

@duskwuff Có vẻ như bạn có một số thông tin tuyệt vời về chủ đề này. Xin vui lòng, chia sẻ.
Jacksonkr

2
Trích dẫn trên wikipedia mà bạn đang đề cập là một cái gật đầu với tất cả các loại khác nhau, nhưng @Jacksonkr là đúng; nó đơn giản hóa quá mức. ROM không thể được viết ở tất cả. PROM có thể được viết một lần. EPROM có thể được viết lại, nhưng chỉ sau khi tiếp xúc với đèn UV. (tức là chậm và khó khăn. ) EEPROM có thể được viết lại, nhưng chỉ sau khi bạn đưa ra lệnh xóa (tức là từ từ ).
Robert Harvey

2
@RobertHarvey Tôi nghĩ bạn có nghĩa là "@duskwuff là đúng"?
Jacksonkr

1
[thở dài] Và bây giờ tất cả các ý kiến ​​đều bị rối tung.
Robert Harvey

1

EEPROM và thậm chí bộ nhớ Flash sử dụng một sự phát triển của cùng một công nghệ (cổng nổi) mà EPROM sử dụng, không phải là công nghệ sẽ được sử dụng cho các thiết bị SRAM hoặc DRAM.

EEPROM không đối xứng mạnh mẽ trong hành vi đọc và ghi: Các chu kỳ đọc thực tế không giới hạn, nhanh (hàng chục hoặc hàng trăm nano giây) và luôn luôn có thể chỉ với các điện áp hoạt động chính được áp dụng. Chu kỳ ghi chậm hơn nhiều và đôi khi cần thêm điện áp được áp dụng (EEPROM song song 2816 sẽ cần nguồn cung cấp thêm 12 V cho một số thao tác lập trình và sẽ có thời gian ghi trong hàng trăm micro giây hoặc thậm chí chậm hơn tùy thuộc vào kiểu dáng và mô hình chính xác, và có chu kỳ viết giới hạn).

Bộ nhớ flash không phải là quyền truy cập ngẫu nhiên để viết (ghi đè một từ yêu cầu bạn xóa nhiều hơn một từ), một số loại (NAND) thậm chí không phải là quyền truy cập ngẫu nhiên để đọc.

Lưu ý rằng một số thiết bị (không phải tất cả!) Được bán trên thị trường dưới dạng Proms hoặc ROM là các EPROM bên trong OTP (không có cửa sổ).


0

Nó chỉ là một ROM so với RAM dễ bay hơi (Bộ nhớ truy cập ngẫu nhiên sẽ mất trạng thái sau khi mất điện). Một cách đặt tên di sản không còn ý nghĩa sau nhiều thập kỷ.


2
Tôi sẽ không đồng ý, Passerby; tên thực sự có ý nghĩa hoàn hảo trong bối cảnh. Chúng tôi có NVRAM và chúng tôi có EEPROM. Cả hai thuật ngữ đều nêu bật các chế độ sử dụng dự kiến ​​khác nhau của bộ nhớ, tốc độ đọc / ghi khác nhau, thời gian lưu dữ liệu khác nhau, v.v.
vaxquis

-1

EPROM / PROM CHỈ ĐỌC tại RUNTIME. Khi bạn chạy ứng dụng dự định (PC, bộ điều khiển nhúng, v.v.), chương trình đang chạy không thể được ghi vào. Bạn phải lấy nó ra và nhập nó vào một bộ máy viết đặc biệt, nơi bạn viết tất cả các nội dung cùng một lúc.

Khi os được chỉ ra cho tôi trong các bình luận, EEPROM có thể được thiết lập để có thể ghi được trong thời gian chạy vì nó có thể ghi bằng điện. Nhưng trong sử dụng hàng ngày nó không thể ghi, kiến ​​trúc thường ngăn chặn nó. Thông thường, bạn sử dụng tiện ích "flash" đặc biệt do nhà sản xuất cung cấp để truy cập và viết nó, và thường được viết cùng một lúc thay vì ở chế độ truy cập ngẫu nhiên. Ai đó trong một câu trả lời ở trên tạo thành một từ viết tắt lớn cho nó sẽ được áp dụng.

RAM, bao gồm NVRAM, có thể được ghi trong thời gian chạy bởi thiết bị chủ.

Mặc dù tất cả các ROM đều không biến động và RAM MOST không ổn định, NVRAM không biến động nên đó không phải là sự khác biệt duy nhất giữa chúng.


ROM là chỉ đọc. " Bạn phải lấy nó ra và nhập nó vào một thiết bị viết đặc biệt, nơi bạn viết tất cả nội dung cùng một lúc. " Đó là lập trình nó theo định nghĩa đó là một thiết bị PROM (Bộ nhớ chỉ đọc có thể lập trình). " Thời gian chạy " không áp dụng. Nó không phải là trình biên dịch. Chào mừng đến với EE.SE.
Transitor

Ý tôi là EEPROM hoặc PROM và chỉ viết nhầm ROM
Trashman

2
Vẫn không đúng. EEPROM có thể ghi được bằng thiết bị chủ. Nó thường được sử dụng để lưu các thiết lập cấu hình. Xem câu trả lời khác trên trang.
Transitor

/ đồng ý bóng bán dẫn - iff EEPROM được chỉ định là vùng mã trong kiến ​​trúc Harvard (đã sửa đổi) mà nó không thể được ghi vào (như một kết quả đơn giản của thiết kế xe buýt).
vaxquis

Không, điều đó ngược quá. Trong một kiến ​​trúc Harvard "đã sửa đổi", bạn thường có thể ghi vào không gian mã, thường kém hiệu quả hơn, nó chỉ ở dạng thuần túy mà bạn không thể. Và như đối với câu trả lời, cơ sở 8052AH được hỗ trợ sử dụng EPROM (UV) dưới dạng lưu trữ có thể ghi trong thời gian chạy - bạn cần một nguồn cung cấp 12 v hoặc hơn và một bóng bán dẫn để kích hoạt nó. Tất nhiên nó không thể xóa nó trong mạch, nhưng nó có thể tiếp tục nối các chương trình đã lưu cho đến khi hết dung lượng.
Chris Stratton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.