Điều gì thực sự là một thanh ghi bóng?


Câu trả lời:


11

Tôi đoán bạn đã gặp phải điều này về mặt lập trình PIC. PIC ban đầu có các cổng I / O được xử lý theo cách rất trực tiếp - bạn có thể đọc những giá trị nào chúng có ở bên ngoài hoặc viết những giá trị nào bạn xuất ra, cả hai trên cùng một địa chỉ. Nhược điểm của điều này là giá trị bạn đang cố gắng tạo ra có thể không khớp với trạng thái trên mã pin - một cái gì đó khác có thể khiến nó mạnh hơn hoặc có thể chưa hoàn thành thay đổi. Điều này có nghĩa là một biến riêng biệt là cần thiết để theo dõi trạng thái bạn dự định, thay vì có, nếu bạn chỉ muốn cập nhật các phần của một cổng. Như tôi nhớ lại rằng biến riêng biệt là cái thường được gọi là thanh ghi bóng, vì bạn luôn sử dụng nó để lưu một bản sao của thanh ghi đầu ra (vô hình). Các PIC gần đây tránh điều này bằng cách thêm các địa chỉ "chốt", nơi thanh ghi đầu ra có thể được đọc. Điều này cũng phổ biến trong các bộ vi điều khiển khác, chẳng hạn như cổng so với địa chỉ pin trên AVR.

Có một thuật ngữ tương tự trong kiến ​​trúc PC cho bộ nhớ bóng; trong trường hợp đó, nó thường có nghĩa là một phần RAM được sử dụng để lưu trữ một bản sao của ROM chậm hơn và được ánh xạ tới cùng một địa chỉ. Một lần nữa, nó lưu một bản sao của một số lưu trữ khác, bị ẩn vì bản sao thay thế nó trong không gian địa chỉ.

Chỉnh sửa: Thấy nó là TMS320, thanh ghi bóng cung cấp bộ đệm đôi; kỹ thuật này được sử dụng để đảm bảo cập nhật xảy ra vào một thời điểm thích hợp. So sánh việc sử dụng hoán đổi bộ đệm khung trong đồ họa. Các dữ liệu bằng tay chương trình shadow và các phiên bản tích cực của nhiều thanh ghi. Ví dụ, xem xét một thanh ghi chỉ ra sự kết thúc của một xung; nếu bạn thay đổi nó thành một xung ngắn hơn, thì làm như vậy khi xung chưa kết thúc có thể khiến một xung không bao giờ kết thúc (vì nó không bao giờ bằng giá trị cuối trong chu kỳ đó). Nhưng nếu bạn ghi vào thanh ghi bóng, phần cứng có thể sao chép nó vào thanh ghi hoạt động tại một điểm được biết là an toàn - ví dụ, chính xác là khi bộ đếm thời gian bao quanh. Điều này không được mô tả trong Hướng dẫn dữ liệu, bao gồm các tham số cụ thể cho một chip nhất định; biết TI, có khả nănghướng dẫn sử dụng riêng mô tả chức năng của từng khối; cái này có đề cập đến Shadow Mode trong phần 2.2.


3
Một cách sử dụng khác của thuật ngữ "bóng" được áp dụng đặc biệt cho các thanh ghi là ánh xạ các tên thanh ghi kiến ​​trúc vào các thanh ghi vật lý khác nhau để cho phép chuyển đổi ngữ cảnh đầy đủ hoặc một phần nhanh chóng. ("Thanh ghi bị chặn" đôi khi được sử dụng như một từ đồng nghĩa.) Như vậy thường được dùng để tăng tốc các ngắt.
Paul A. Clayton

1

tất cả các thanh ghi bóng và gương đều đề cập đến các thanh ghi có thể được truy cập từ nhiều địa chỉ. Ví dụ, trong phần cứng, một thanh ghi đã cho có một thể hiện nằm ở F00h. Tuy nhiên, nếu nó có bí danh ở mức 1F00h, thì đọc hoặc viết lên F00h cũng giống như đọc hoặc viết thành 1F00h và ngược lại.


2
Nó sẽ là một bổ sung tốt đẹp nếu giải thích mục đích của các thanh ghi bóng đó là gì.
Rev1.0

0

Nói một cách đơn giản, thanh ghi bóng là một thanh ghi được tạo ra trong vi điều khiển nhằm mục đích lưu trữ dữ liệu nhất định sẽ được sử dụng sau này. Tên "Shadow" ngụ ý nhân đôi một số giá trị và sử dụng lại - vì vậy nó sẽ không bị mất.

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.