Các Thành Phần Cơ Bản Trong Kiến Trúc Phần Cứng Hệ Thống Nhúng
Có thể bạn quan tâm
Người ta vẫn biết tới phần lõi xử lý của các bộ vi xử lý (VXL) là đơn vị xử lý trung tâm CPU (Central Processing Unit) đóng vai trò như bộ não chịu trách nhiệm thực thi các phép tính và thực hiện các lệnh. Phần chính của CPU đảm nhận chức năng này là đơn vị logic toán học (ALU - Arthimetic Logic Unit). Ngoài ra để hỗ trợ hoạt động cho ALU còn thêm một số thành phần khác như bộ giải mã (decoder), bộ tuần tự (Sequencer) và các thanh ghi.
Bộ giải mã chuyển đổi (thông dịch) các lệnh lưu trữ ở trong bộ mã chương trình thành các mã mà ALU có thể hiểu được và thực thi. Bộ tuần tự có nhiệm vụ quản lý dòng dữ liệu trao đổi qua bus dữ liệu của VXL. Các thanh ghi được sử dụng để CPU lưu trữ tạm thời các dữ liệu chính cho việc thực thi các lệnh và chúng có thể thay đổi nội dung trong quá trình hoạt động của ALU. Hầu hết các thanh ghi của VXL đều là các bộ nhớ được tham chiếu (mapped) và hội nhập với khu vực bộ nhớ và có thể được sử dụng như bất kỳ khu vực nhớ khác.
Các thanh ghi có chức năng lưu trữ trạng thái của CPU. Nếu các nội dung của bộ nhớ VXL và các nội dung của các thanh ghi tại một thời điểm nào đó được lữu giữ đầy đủ thì hoàn toàn có thể tạm dừng thực hiện phần chương trình hiện tại trong một khoảng thời gian bất kỳ và có thể trở lại trạng thái của CPU trước đó. Thực tế số lượng các thanh ghi và tên gọi của chúng cũng khác nhau trong các họ VXL/VĐK và thường do chính các nhà chế tạo qui định, nhưng về cơ bản chúng đều có chung các chức năng như đã nêu.
Khi thứ tự byte trong bộ nhớ đã được xác định thì người thiết kế phần cứng phải thực hiện một số quyết định xem CPU sẽ lưu dữ liệu đó như thế nào. Cơ chế này cũng khác nhau tuỳ theo kiến trúc tập lệnh được áp dụng. Có ba loại hình cơ bản:
Kiến trúc ngăn xếp.
Kiến trúc bộ tích luỹ.
Kiến trúc thanh ghi mục đích chung.
Kiến trúc ngăn xếp sử dụng ngăn xếp để thực hiện lệnh và các toán tử nhận được từ đỉnh ngăn xếp. Mặc dù cơ chế này hỗ trợ mật độ mã tốt và mô hình đơn giản cho việc đánh giá cách thể hiện chương trình nhưng ngăn xếp không thể hỗ trợ khả năng truy nhập ngẫu nhiên và hạn chế hiệu suất thực hiện lệnh.
Kiến trúc bộ tích luỹ với lệnh một toán tử ngầm mặc định chứa trong thanh ghi tích luỹ có thể giảm được độ phức tạp bên trong của cấu trúc CPU và cho phép cấu thành lệnh rất nhỏ gọn. Nhưng thanh ghi tích luỹ chỉ là nơi chứa dữ liệu tạm thời nên giao thông bộ nhớ rất lớn.
Kiến trúc thanh ghi mục đích chung sử dụng các tập thanh ghi mục đích chung và được đón nhận như mô hình của các hệ thống CPU mới, hiện đại. Các tập thanh ghi đó nhanh hơn bộ nhớ thường và dễ dàng cho bộ biên dịch xử lý thực thi và có thể được sử dụng một cách hiệu quả. Hơn nữa giá thành phần cứng ngày càng có xu thế giảm đáng kể và tập thanh ghi có thể tăng nhanh. Nếu cơ chế truy nhập bộ nhớ nhanh thì kiến trúc dựa trên ngăn xếp có thể là sự lựa chọn lý tưởng, còn nếu truy nhập bộ nhớ chậm thì kiến trúc thanh ghi sẽ là sự lựa chọn phù hợp nhất.
Một số thanh ghi với chức năng điển hình thường được sử dụng trong các kiến trúc CPU như sau:
Thanh ghi con trỏ ngăn xếp (stack pointer): Thanh ghi này lưu giữ địa chỉ tiếp theo của ngăn xếp. Theo nguyên lý giá trị địa chỉ chứa trong thanh ghi con trỏ ngăn xếp sẽ giảm nếu dữ liệu được lưu thêm vào ngăn xếp và sẽ tăng khi dữ liệu được lấy ra khỏi ngăn xếp.
Thanh ghi chỉ số (index register): Thanh ghi chỉ số được sử dụng để lưu địa chỉ khi mode địa chỉ được sử dụng. Nó còn được biết tới với tên gọi là thanh ghi con trỏ hay thanh ghi lựa chọn tệp (Microchip).
Thanh ghi địa chỉ lệnh/Bộ đếm chương trình (Program Counter): Một trong những thanh ghi quan trọng nhất của CPU là thanh ghi bộ đếm chương trình. Thanh ghi bộ đếm chương trình lưu địa chỉ lệnh tiếp theo của chương trình sẽ được CPU xử lý. Mỗi khi lệnh được trỏ tới và được CPU xử lý thì nội dung giá trị của thanh ghi bộ đếm chương trình sẽ tăng lên một. Chương trình sẽ kết thúc khi thanh ghi PC có giá trị bằng địa chỉ cuối cùng của chương trình nằm trong bộ nhớ chương trình.
Thanh ghi tích lũy (Accumulator): Thanh ghi tích lũy là một thanh ghi giao tiếp trực tiếp với ALU, được sử dụng để lưu giữ các toán tử hoặc kết quả của một phép toán trong quá trình hoạt động của ALU.
Từ khóa » Thanh Ghi Tích Lũy
-
Thanh Ghi – Wikipedia Tiếng Việt
-
1.3. Thanh Ghi Của Vi Xử Lí Là Gì? Nêu Chức Năng Và đặc điểm ... - Quizlet
-
Các Thanh Ghi Tích Luỹ A, B Thanh Ghi Tích Luỹ D Các Thanh Ghi Chỉ Số ...
-
Thanh Ghi Trạng Thái Thanh Ghi Tích Luỹ - Tài Liệu Text - 123doc
-
Thanh Ghi Là Gì? Chức Năng Chính Của Thanh Ghi Là Gì Cập Nhật Mới ...
-
Chức Năng Chính Của Tập Các Thanh Ghi Là Gì
-
Thanh Ghi (Registers) | Assembly
-
Thanh Nào Sau đây Là Thanh Ghi Tích Lũy? - Trắc Nghiệm Online
-
[CHUẨN NHẤT] Thanh Ghi Là Gì? - TopLoigiai
-
BÀI 2 TỔ CHỨC CPU - LẬP TRÌNH ASSEMBLY (TT) - T-Root
-
CÁC CHỨC NĂNG THANH GHI CỦA CPU 8086
-
Chapter 6 – Kiến Trúc Bộ Lệnh - TaiLieu.VN
-
Đọc Truyện - Thanh Ghi Thanh Ghi - TruyenKul
-
Các Loại Thanh Ghi Khác Nhau được Sử Dụng Trong Vi điều Khiển 8051