Sự khác biệt giữa cách đọc bình thường của người Bỉ và người đọc nhanh trong trò chơi A25L032


9

Flash A25L032 có chế độ đọc bình thường và chế độ đọc nhanh. Nó cũng có chế độ đọc kép và quad tự giải thích. Tuy nhiên, sự khác biệt giữa chế độ bình thường và nhanh không rõ ràng.

Điều gì làm cho chế độ nhanh nhanh? vì cả hai đều sử dụng một MISO SPI nào? Sơ đồ thời gian của họ là dưới đây:

nhập mô tả hình ảnh ở đây

Đọc nhanh:

nhập mô tả hình ảnh ở đây

Câu trả lời:


12

Điều gì làm cho chế độ nhanh nhanh?

Sự khác biệt chắc chắn được che giấu kỹ lưỡng :-) Nhìn vào bảng Đặc điểm AC trong biểu dữ liệu . Nó nói rằng lệnh bình thường READ (03h) có tần số xung nhịp tối đa là 65 MHz. Trong khi đó, tất cả các lệnh khác, do đó bao gồm FAST_READlệnh (0Bh), có tần số xung nhịp tối đa là 100 MHz:

Đặc tính AC A25L032

Đây là lý do tại sao FAST_READcó thể nhanh hơn, tùy thuộc vào tần số đồng hồ thực tế được chọn.

Tuy nhiên do byte giả được yêu cầu khi sử dụng FAST_READlệnh (nhưng không phải khi sử dụng READlệnh thông thường ), nếu cả hai lệnh được sử dụng cho nhiều lần đọc nhỏ với tần số xung nhịp <= 65 MHz, thì thông lượng dữ liệu thực sự sẽ chậm hơn khi sử dụng FAST_READcác lệnh, so với việc sử dụng READcác lệnh, do chi phí chung của tất cả các byte giả (mỗi FAST_READlệnh được gửi đến thiết bị).

Nếu tần số xung nhịp nhanh hơn (> 65 MHz) được sử dụng và nếu sử dụng ít hơn nhưng các FAST_READlệnh lớn hơn (vì tổng phí byte giả là "trên mỗi lệnh"), thì thông lượng lớn hơn sẽ bắt đầu lớn hơn tổng phí của các byte giả.

Tại sao không chỉ có một chế độ duy nhất có thể hoạt động tới 100 MHz?

Điều này đang đi vào cõi suy đoán - Tôi nghi ngờ rằng có độ trễ tối thiểu bên trong cần thiết để bắt đầu quá trình đọc dữ liệu (có lẽ sạc máy bơm sạc bên trong?).

Giả thuyết của tôi là độ trễ có thể bị "ẩn" sau thời gian cần thiết để nhận READlệnh ở <= 65 MHz (tức là tốc độ tương đối chậm hơn), nhưng độ trễ cần thiết (trước khi bắt đầu đọc) dài hơn thời gian nhận được READlệnh ở mức> 65 Mhz (tức là tốc độ tương đối nhanh hơn). Điều đó có thể giải thích tại sao một giao thức lệnh khác (có thêm một byte trước khi bắt đầu giai đoạn đọc dữ liệu) để đọc tốc độ nhanh hơn. Một byte giả được yêu cầu cho các lệnh FAST_READFAST_READ_DUAL_OUTPUTlệnh, và một byte chế độ được yêu cầu choFAST_READ_DUAL_INPUT_OUTPUTchỉ huy. Tất cả các byte này phục vụ để trì hoãn bắt đầu giai đoạn đầu ra dữ liệu, điều này gợi ý cho tôi một yêu cầu độ trễ nội bộ cố định - điều mà tôi đã thấy trước đây với các thiết bị khác. Tất nhiên câu trả lời thực sự sẽ cần đến từ nhà sản xuất :-)


ai vậy Tôi hiểu rồi. Tại sao bạn nghĩ rằng "chế độ nhanh" này tồn tại như một chế độ hoạt động riêng biệt trong thiết bị? Tại sao không chỉ có một chế độ duy nhất có thể hoạt động tới 100 MHz?
quantum231

2
Xem bản cập nhật sau của tôi - Tôi đã viết nó khi bạn viết bình luận :-) Tôi nghĩ rằng câu trả lời cho câu hỏi - FAST_READ không phải lúc nào cũng nhanh hơn, do chi phí của "byte giả" phải được gửi cho mỗi lệnh FAST_READ. Nếu tần số xung nhịp là <= 65 MHz thì READ bình thường sẽ nhanh hơn (không cần byte giả (mỗi lệnh).
SamGibson

Sẽ có một phần mềm 'trên cao' để thay đổi tần số đồng hồ? Dường như FAST_READ có lợi ích ít ỏi nhất.
Sparky256

1
@ Sparky256 - Xin chào, tôi đang đề xuất một phần cứng bên trong 'trên cao' trong chip flash (tôi đã thấy hành vi tương tự trước đây). Re: lợi ích - đối với các lệnh lớn (nghĩa là nhiều byte / lệnh), chi phí cho byte giả sẽ là tối thiểu. Vì vậy, FAST_READcác lệnh lớn có tần số xung nhịp cao (>> 65 MHz) có lợi nhất và có thể tiếp cận sự cải thiện thông lượng chỉ dựa trên việc tăng FAST_READtốc độ xung nhịp trên 65 MHz, so với READcác lệnh 65 MHz (ví dụ: nếu toàn bộ thiết bị được đọc trong một lệnh, sau đó là tổng phí chỉ là một byte giả!).
SamGibson

1
Dummy byte được xác nhận là vì lý do thời gian ở đây: flashmemorysummit.com/English/Collaterals/Proceedings/2011/iêu
MarcH

1

Sau khi nhận được một số bit địa chỉ nhất định, một chip flash có thể bắt đầu quá trình đọc một hàng. Quá trình đó có thể được thực hiện đồng thời với việc nhận các bit tiếp theo của địa chỉ. Nếu chủ quản lý hoàn tất việc gửi địa chỉ và bắt đầu hết giờ dữ liệu trước khi thiết bị sẵn sàng, thiết bị sẽ không thể hết dữ liệu hợp lệ (vì nó sẽ không khả dụng ở logic đầu ra) và thay vào đó có thể hết giờ- dữ liệu sai.

Nếu chủ phải tạm dừng đủ giữa việc gửi cạnh tăng cho bit cuối cùng của địa chỉ và cạnh rơi để đọc từ đầu tiên của dữ liệu, thiết bị có thể sẽ không quan tâm nếu địa chỉ và dữ liệu được tốc độ 100 MHz hoặc tốc độ 65 MHz chậm hơn. Tuy nhiên, trong nhiều trường hợp, chủ xe buýt dễ dàng phát hiện ra một từ thừa hơn là trì hoãn trong một khoảng thời gian ngắn, do đó, chỉ định hai cách đọc dữ liệu (sử dụng tốc độ dữ liệu đủ chậm để loại bỏ nhu cầu tạm dừng hoặc chèn byte giả để tạo hiệu quả tạm dừng 80ns), cả hai có thể được thực hiện bằng đồng hồ tốc độ đồng đều làm cho thông số kỹ thuật đơn giản hơn nếu phải bao gồm thời gian tối thiểu giữa việc nhận bit địa chỉ cụ thể và đọc ra bit đầu tiên của dữ liệu. Trong hầu hết các trường hợp hệ thống có thể nhận dữ liệu nhanh hơn 65 MHz, nó có thể gửi lệnh đọc tốc độ cao hoàn thành với byte bổ sung trong thời gian ngắn hơn yêu cầu gửi lệnh tốc độ chậm ở mức 65Mhz. Mặc dù có một vài trường hợp phần cứng để gửi lệnh sẽ bị giới hạn ở mức 65 MHz nhưng phần cứng để hết dữ liệu có thể làm 100Mhz (*), và trong khi nó có thể hữu ích nếu thông số kỹ thuật được cung cấp cho kịch bản đó bằng cách nói rằng lệnh có thể đồng hồ dữ liệu ở tốc độ 100Mhz sau khi lệnh được truyền hoàn toàn, tôi không nghĩ rằng việc phải xem thêm hình nộm sẽ là một khó khăn ngay cả trong trường hợp đó.

(*) Kịch bản này chủ yếu có liên quan trong trường hợp dữ liệu được đưa trực tiếp đến một số thiết bị khác. Một ví dụ đơn giản, một thiết bị để xuất các màn hình video tổng hợp tĩnh được lưu trữ trong ROM có thể sử dụng dữ liệu được lưu trữ dưới dạng sáu mẫu được đóng gói theo tốc độ bốn mẫu trên chu kỳ sắc độ 3.579.545,45Hz (tốc độ dữ liệu khoảng 85,909,090,9 bit / giây- -faster hơn 65Mhz). Nếu vi điều khiển đang chạy ở tốc độ xung nhịp đó, cổng SPI của nó chỉ có thể chạy ở tốc độ một nửa nhưng nó có thể chuyển đổi nguồn xung nhịp của chip flash giữa xung nhịp SPI và xung nhịp 85,9 MHz.


0

Mạch cảm giác bên trong mất khoảng 15 ~ 20ns (1 ~ 1,5 chu kỳ) để phân biệt dữ liệu. Với ý nghĩa dữ liệu từ, mạch bên trong sử dụng chu trình đầu vào A0 để cảm nhận dữ liệu cốt lõi và sau đó xem ra điểm A0 hướng đến. Do đó, <65MHz không cần chu kỳ giả. Nếu vượt quá 65 MHz, mạch bên trong cần đồng hồ exta để chuẩn bị dữ liệu.

Nếu thiết kế chip đó với ý nghĩa từ kép, thì bạn có thể thử ĐỌC với đồng hồ nhanh hơn.

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.