Khái niệm thanh ghi Registers là gì?
Trong kiến trúc hệ thống máy tính, thanh ghi hay registers là 1 bộ nhớ có dung lượng nhỏ và nhanh được dùng để tăng khả năng xử lý của các chương trình của máy tính bằng cách cung cấp các dữ liệu truy cập trực tiếp đến các giá trị cần dùng.
Nhưng không phải tất cả các máy vi tính hiện đại đều hoạt động theo nguyên lý trên, chuyển dữ liệu từ các bộ nhớ chính vào thanh ghi PC, đồng thời tính toán trên chúng, sau đó chuyển các kết quả vào bộ nhớ chính.
Các thanh ghi xử lý là phần đầu tiên của phân cấp bộ nhớ, và cung cấp nhanh nhất vào hệ thống để xử lý dữ liệu. Thuật ngữ này thường được dùng để nói đến một tập các thanh ghi có thể được chỉ trực tiếp cho việc nhập hay xuất các câu lệnh, xem thêm ở tập lệnh. Chúng được gọi là ” kiến trúc thanh ghi”. Ví dụ,
Đưa các biến số thường dùng vào thanh ghi là một hoạt động then chốt làm tăng hiệu ứng của chương trình. Việc này có tên là register allocation và thường được thực hiện bởi một trình biên dịch trong giai đoạn phát sinh mã hoá.
Các loại thanh ghi
Thanh ghi registers thường được đo bằng các bit nó có thể chứa được , ví dụ như , một thanh ghi có “8-bit” hoặc thanh ghi “32-bit”. Các thanh ghi thời nay thường được xem như 1 file thanh ghi hay còn gọi register file, nhưng chúng cũng được dùng riêng rẽ flip-flops, core memory, thin film memory, và các cách khác trong nhiều loại máy móc.
Vài phân lớp các thanh ghi tùy theo các nội dung:
- Thanh ghi khả hiện – Gồm 2 loại chính: Thanh ghi dữ liệu thanh ghi địa chỉ.
- Thanh ghi dữ liệu đcdùngđể lưu số nguyên (xem thanh ghi số thực dưới đây). Trong một số bộ bộ xử lýbây giờandtrước đây, có một thanh ghi nhất làthanh ghi thu thậpthu thập, đượcsử dụngcho nhiều tính toán.
- Thanh ghi Địa Chỉ chứa địa chỉ cỉa bộ nhớ và được dùng để truy cập bộ nhớ. Trong vài CPU, có 1 thanh ghi địa chỉ đặc biệt thanh ghi chỉ mục, dù thường được dùng để sửa đổi địa chỉ hơn là dùng để chứa địa chỉ.
- Thanh ghi điều kiện chứa giá trị thực thường dùng để quyết định các hoạt động thực thi lệnh
- Thanh ghi đa năng (GPRs) có thể chứa cả những dữ liệu lẫn địa chỉ., là sự kết hợp giữa thanh ghi dữ liệu và thanh ghi địa chỉ
- Thanh ghi dấu phẩy động(FPRs) dùngđể chứa nhữngkiểu số
- Thanh ghi hằng số chứa các giá trị đọc được (Ví dụ: 0, 1, pi,…).
- Thanh ghi triết lý chứa dữ liệu cho việc xử lý định hướng đối tượng, thực hiện dolệnh SIMD (lệnh đơn, bội dữ kiện)
- Thanh ghi chuyên biệt chứa trạng thái chương trình; thường bao gồm con trỏ chỉ lệnh, con trỏ ngăn xếp, andthanh ghi trạng thái.
- Thanh ghi chỉ lệnh chứa lệnh trợ thờihuỷ
- Thanh ghi chỉ mục dùngcho sửa đổi ADDtác tử trong quá trình tiến hành1 chương trình
- Trong một số cấu trúc, thanh ghi gương mẫu(còn đượcgọi là thanh ghi thiết bịriêng biệt) chứa dữ liệu andthiết lậpliên quanđếnChip xử lý. bởi vìnhữngthanh ghi này đcxây đắpgắn liền với bộ xử lýđặc trưng nên chúng không thểgiữ nguyên chuẩn qua cácphiên bảncủa CPU.
- Thanh ghi điều khiển andtrạng thái – Có 3 loại: chương trình phản hồi, thanh ghi chỉ lệnh, chương trình trạng thái từ.
- Thanh ghi thúc đẩy tới tìm nạp thông báo từ bộ nhớ truy vấnngẫu nhiên(RAM), 1 tập trung lưu giữ những thanh ghi được định vị trên những CPU đơn lẻt ừ Chip xử lý(không giống đa sốcácloại trên, đây thông thườnglà cácthanh ghi không có cấu trúc):
- Thanh ghi bộ nhớ trung gian
- Thanh ghi bộ nhớ Đến mua trực tiếp
- Thanh ghi bộ nhớ kiểu miền
Thanh ghi ổ cứng cũng tương tự nhưng nó nằm ở ngoài CPU
Một vài ví dụ về thanh ghi
Bảng tiếp sau đâyhiển thị số lượng thanh ghi của vài bộ vi xử lý chính hiện nay:
Processors | Integer registers | Double FP registers |
---|---|---|
Pentium 4 | 8 | 8 |
Athlon MP | 8 | 8 |
Opteron 240 | 16 | 16 |
Itanium 2 | 128 | 128 |
UltraSPARC IIIi | 32 | 32 |
Power 3 | 32 | 32 |
Nguồn: it.die.vn
Tham khảo thêm: