Trình bày đặc trưng của phương pháp định địa chỉ toán hạng thanh ghi

Trong kiến trúc máy tính, một thanh ghi [registers] là một bộ nhớ dung lượng nhỏ và rất nhanh được sử dụng để tăng tốc độ xử lý của các chương trình máy tính bằng cách cung cấp các truy cập trực tiếp đến các giá trị cần dùng. Hầu hết, nhưng không phải tất cả, các máy tính hiện đại hoạt động theo nguyên lý chuyển dữ liệu từ bộ nhớ chính vào các thanh ghi, tính toán trên chúng, sau đó chuyển 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á.

Thanh ghi thường được đo bằng các bit nó có thể chứa, ví dụ, một thanh ghi "8-bit" hay thanh ghi "32-bit". Các thanh ghi hiện nay thường được xem như file thanh ghi - register file, nhưng chúng cũng được dùng riêng rẽ các flip-flop, tốc độ cao core memory, thin film memory, và các cách khác trong nhiều máy móc.

Có một số phân lớp các thanh ghi tùy theo nội dung:

  • Thanh ghi khả hiện - Có hai loại. Thanh ghi dữ liệu và thanh ghi địa chỉ.
  • Thanh ghi dữ liệu được dùng để lưu số nguyên [xem thanh ghi số thực dưới đây]. Trong một số bộ CPU hiện nay và trước đây, có một thanh ghi đặc biệt là thanh ghi tích lũy tích lũy, được dùng cho nhiều tính toán.
  • Thanh ghi địa chỉ chứa địa chỉ bộ nhớ và được dùng để truy cập bộ nhớ. Trong một số CPU, có một thanh ghi địa chỉ đặc biệt thanh ghi chỉ mục, dù chúng thường được dùng để sửa đổi địa chỉ hơn là chứa địa chỉ.
  • Thanh ghi điều kiện chứa giá trị thực thường dùng để quyết định hoật động thực thi lệnh
  • Thanh ghi đa năng [GPRs] có thể chứa cả dữ liệu lẫn địa chỉ., là 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 các kiểu số
  • Thanh ghi hằng số chứa các giá trị đọc được [Ví dụ: 0, 1, pi,...].
  • Thanh ghi định hướng chứa dữ liệu cho việc xử lý định hướng đối tượng, thực hiện bởi lệ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, và thanh ghi trạng thái.
  • Thanh ghi chỉ lệnh chứa lệnh tạm huỷ
  • Thanh ghi chỉ mục dùng cho sửa đổi địa chỉ tác tử trong quá trình thực hiện 1 chương trình
  • Trong một số cấu trúc, thanh ghi kiểu mẫu [còn được gọi là thanh ghi thiết bị riêng biệt] chứa dữ liệu và thiết lập liên quan đến bộ xử lý. Vì các thanh ghi này được thiết kế gắ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ác thế hệ của bộ xử lý.
  • Thanh ghi điều khiển và trạng thái – Có ba 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 liên quan đến tìm nạp thông tin từ bộ nhớ truy cập ngẫu nhiên [RAM], 1 tập hợp lưu giữ các thanh ghi được định vị trên các chip riêng biệt từ CPU [không giống đa số các loại trên, đây thông thường là những thanh ghi không có cấu trúc]:
    • Thanh ghi bộ nhớ trung gian
    • Thanh ghi bộ nhớ địa chỉ
    • Thanh ghi bộ nhớ kiểu miền

Thanh ghi ổ cứng cũng tương tự nhưng ở ngoài CPU

Bảng dưới đây hiể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
Wikimedia Commons có thêm hình ảnh và phương tiện truyền tải về Thanh ghi.

Lấy từ “//vi.wikipedia.org/w/index.php?title=Thanh_ghi&oldid=66925263”

Page 2

Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Mời bạn giúp hoàn thiện bài viết này bằng cách bổ sung chú thích tới các nguồn đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ. [October 2009]

Trong kiến trúc máy tính, 32-bit số nguyên, địa chỉ bộ nhớ, hoặc đơn vị dữ liệu khác là những thứ hầu hết đều có 32 bit [4 octets]. Ngoài ra, kiến trúc 32-bit CPU và ALU cũng dựa trên thanh ghi, địa chỉ bus, hoặc dữ liệu bus của kích thước đó. 32-bit là một thuật ngữ dành cho thế hệ máy vi tính trong đó 32-bit vi xử lý là tiêu chuẩn.

Bit
1 4 8 12 16 18 24 26 31 32 36 48 60 64 128 256 512
Ứng dụng
16 32 64
Floating point precision
×½ ×1 ×2 ×4
Floating point decimal precision
32 64 128

  • x
  • t
  • s

Một thanh ghi 32-bit có thể lưu trữ 232 giá trị khác nhau. Phạm vi có dấu của giá trị số nguyên có thể lưu trữ trong 32 bit là từ -2,147,483,648 đến 2,147,483,647 [không dấu: 0 đến 4,294,967,295]. Do đó, vi xử lý với 32-bit địa chỉ nhớ có thể trực tiếp truy cập 4 GiB của bộ nhớ địa chỉ byte.

  • HOW Stuff Works "How Bits and Bytes work"
  • Ken Colburn on LockerGnome.com: 32-Bit Vs. 64-Bit Windows Lưu trữ 2016-03-30 tại Wayback Machine

  Bài viết chủ đề máy tính này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.

  • x
  • t
  • s

Lấy từ “//vi.wikipedia.org/w/index.php?title=32-bit&oldid=64303807”

Tài liệu Kiến trúc máy tính - Chương 13: Tập lệnh - Chế độ định địa chỉ và định dạng: + Chương 13 Tập lệnh: Chế độ định địa chỉ và định dạng + NỘI DUNG 1. Các chế độ định địa chỉ Địa chỉ tức thời Địa chỉ trực tiếp Địa chỉ gián tiếp Địa chỉ thanh ghi Địa chỉ gián tiếp thanh ghi Địa chỉ thay thế Địa chỉ ngăn xếp 2. Chế độ địa chỉ của x86 và ARM 3. Định dạng lệnh Chiều dài lệnh Phân bổ Bit Lệnh có độ dài thay đổi 4. Các định dạng lệnh của x86 và ARM + 1. Các chế độ định địa chỉ  Tức thời  Trực tiếp Gián tiếp  Thanh ghi  Thanh ghi gián tiếp  Thay thế Ngăn xếp Các chế độ định địa chỉ + Các chế độ định địa chỉ cơ bản  A = nội dung trường address trong từ lệnh  R = Nội dung trường address trong lệnh tham chiếu đến thanh ghi  EA = địa chỉ hiệu dụng của vị trí chứa toán hạng đc tham chiếu  [X] = Nội dung của vị trí bộ nhớ X hoặc thanh ghi X + Địa chỉ tức thời  Dạng định địa chỉ đơn giản nhất  Toán hạng = A  Có thể được sử dụng để định nghĩa và sử dụng hằng số hoặc thiết lập giá ...

Bạn đang xem trước 20 trang mẫu tài liệu Kiến trúc máy tính - Chương 13: Tập lệnh - Chế độ định địa chỉ và định dạng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

+ Chương 13 Tập lệnh: Chế độ định địa chỉ và định dạng + NỘI DUNG 1. Các chế độ định địa chỉ Địa chỉ tức thời Địa chỉ trực tiếp Địa chỉ gián tiếp Địa chỉ thanh ghi Địa chỉ gián tiếp thanh ghi Địa chỉ thay thế Địa chỉ ngăn xếp 2. Chế độ địa chỉ của x86 và ARM 3. Định dạng lệnh Chiều dài lệnh Phân bổ Bit Lệnh có độ dài thay đổi 4. Các định dạng lệnh của x86 và ARM + 1. Các chế độ định địa chỉ  Tức thời  Trực tiếp Gián tiếp  Thanh ghi  Thanh ghi gián tiếp  Thay thế Ngăn xếp Các chế độ định địa chỉ + Các chế độ định địa chỉ cơ bản  A = nội dung trường address trong từ lệnh  R = Nội dung trường address trong lệnh tham chiếu đến thanh ghi  EA = địa chỉ hiệu dụng của vị trí chứa toán hạng đc tham chiếu  [X] = Nội dung của vị trí bộ nhớ X hoặc thanh ghi X + Địa chỉ tức thời  Dạng định địa chỉ đơn giản nhất  Toán hạng = A  Có thể được sử dụng để định nghĩa và sử dụng hằng số hoặc thiết lập giá trị ban đầu của biến  Số thường được lưu trữ dưới dạng bù 2  Bit ngoài cùng bên trái của trường toán hạng là bit dấu  Ưu điểm: Không cần tham chiếu bộ nhớ để lấy dữ liệu toán hạng [chỉ có 1 lần truy xuất lệnh]  tiết kiệm một chu kỳ cache hoặc bộ nhớ trong chu kỳ lệnh.  Nhược điểm: Kích thước của số bị giới hạn bởi kích thước của trường địa chỉ. Vì trong các tập lệnh, kích thước trường địa chỉ thường nhỏ hơn kích thước từ Địa chỉ trực tiếp  Trường địa chỉ chứa địa chỉ hiệu dụng của toán hạng  Địa chỉ hiệu dụng [EA] = trường địa chỉ [A]  Phổ biến trong các thế hệ máy tính trước đây  Chỉ tham chiếu bộ nhớ 1 lần để lấy dữ liệu  Không cần tính toán để tìm EA  Hạn chế: chỉ cung cấp một không gian địa chỉ hữu hạn + Địa chỉ gián tiếp  Trường địa chỉ tham chiếu đến địa chỉ của một từ trong bộ nhớ chứa địa chỉ đầy đủ của toán hạng EA = [A] Dấu ngoặc đơn được hiểu như là nội dung của  Tìm trong A, tìm địa chỉ [A], tới đó để lấy toán hạng VD: ADD [A] + Địa chỉ gián tiếp [2]  Ưu điểm:  Không gian địa chỉ lớn Với một từ có kích thước N cho phép một không gian địa chỉ là 2N  Nhược điểm:  1 thực thi lệnh đòi hỏi hai lần tham chiếu bộ nhớ để truy xuất toán hạng  Một để lấy ra địa chỉ, hai là để lấy ra giá trị của nó  Biến thể hiếm gặp của địa chỉ gián tiếp là địa chỉ gián tiếp nhiều tầng  EA = [[[A]]]  Nhược điểm: cần nhiều hơn hoặc bằng 3 tham chiếu bộ nhớ để truy xuất được toán hạng  chậm hơn + Địa chỉ thanh ghi  Trường địa chỉ tham chiếu đến thanh ghi chứ không tham chiếu địa chỉ bộ nhớ chính  EA = R  Số lượng thanh ghi hữu hạn  Ưu điểm:  Chỉ cần một trường địa chỉ nhỏ trong lệnh  lệnh ngắn hơn, truy xuất lệnh nhanh hơn  Không cần tham chiếu bộ nhớ  Nhược điểm:  Không gian địa chỉ giới hạn  Sử dụng nhiều thanh ghi để tăng hiệu quả  Gánh nặng cho người lập trình assembly hay người viết trình hợp dịch +  Tương tự như địa chỉ gián tiếp  Khác biệt ở chỗ trường địa chỉ tham chiếu đến thanh ghi  EA = [R]  Toán hạng nằm trong ô nhớ được trỏ tới bởi nội dung của thanh ghi R  Ưu:  Không gian địa chỉ lớn hơn [trường địa chỉ tham chiếu đến vị trí chứa địa chỉ có độ dài bằng một từ ]  Tham chiếu bộ nhớ ít hơn 1 lần so với địa chỉ gián tiếp Địa chỉ gián tiếp thanh ghi + Địa chỉ dịch [displacement addressing]  Kết hợp chế độ địa chỉ trực tiếp và địa chỉ gián tiếp thanh ghi  EA = A + [R]  Lệnh phải có hai trường địa chỉ, ít nhất một trong hai phải có giá trị cụ thể  Giá trị trong một trường địa chỉ [giá trị = A] được sử dụng trực tiếp  Trường địa chỉ còn lại tham chiếu đến thanh ghi, nội dung trong thanh ghi đó được cộng với A để tạo ra địa chỉ hiệu dụng  3 dạng sử dụng địa chỉ dịch phổ biến:  Địa chỉ tương đối  Địa chỉ thanh ghi cơ sở  Lập chỉ mục + [a] Địa chỉ tương đối  Thanh ghi được tham chiếu ngầm định là thanh ghi PC  Địa chỉ lệnh tiếp theo được cộng với trường địa chỉ để tạo ra EA  Với phép cộng này, trường địa chỉ được coi là số bù 2  Do đó, địa chỉ hiệu dụng là một dịch vị tương đối của địa chỉ trong lệnh  EA = A + [PC]  Lợi dụng tính cục bộ của bộ nhớ  Tiết kiệm bit địa chỉ trong lệnh nếu đa phần các tham chiếu bộ nhớ ở tương đối gần với lệnh đang được thực thi + Địa chỉ thanh ghi cơ sở  Thanh ghi được tham chiếu chứa con trỏ tới một địa chỉ cơ sở bộ nhớ chính. Trường địa chỉ chứa giá trị dịch đi từ địa chỉ này  Tham chiếu thanh ghi có thể là cụ thể hoặc ngầm định  Giá trị dịch là biểu diễn số nguyên không dấu Khai thác tính cục bộ của tham chiếu bộ nhớ VD: thanh ghi đoạn trong x86 + Indexed Addressing  Trường địa chỉ tham chiếu địa chỉ bộ nhớ chính. Thanh ghi được tham chiêu chứa giá trị dịch chuyển dương từ địa chỉ này  Tính toán EA giống như với địa chỉ thanh ghi cơ sở  Ứng dụng: hiệu quả để thực hiện các hoạt động lặp  Autoindexing  Tự động tăng hoặc giảm thanh ghi index sau mỗi lần tham chiếu đến nó  EA = A + [R]  [R]  [R] + 1  Postindexing  Địa chỉ gián tiếp thực hiện trước, Indexing addressing sau  EA = [A] + [R]  Preindexing  Indexing addressing thực hiện trước, Địa chỉ gián tiếp thực hiện sau  EA = [A + [R]] + Địa chỉ ngăn xếp  Ngăn xếp là một mảng liên tiếp các vị trí nhớ  Còn được gọi là pushdown list or last-in-first-out queue  Ngăn xếp là một khối dự trữ các vị trí nhớ  Các mục được thêm vào đỉnh ngăn xếp nên khối đó được lấp đầy một phần  Con trỏ gắn với ngăn xếp có giá trị là địa chỉ của đỉnh ngăn xếp  Con trỏ ngăn xếp được duy trì trong một thanh ghi  Vì vậy, tham chiếu đến các vị trí ngăn xếp trong bộ nhớ trong thực tế là địa chỉ gián tiếp thanh ghi  Là một dạng của địa chỉ ngầm định  Lệnh máy không cần thêm tham chiếu bộ nhớ nhưng hoạt động ngầm định trên đỉnh của ngăn xếp Tính toán chế độ định địa chỉ x86 Các chế độ định địa chỉ x86 + ARM Indexing Methods Tải và lưu trữ các lệnh chỉ tham chiếu bộ nhớ. Điều này luôn luôn được thực hiện gián tiếp thông qua một thanh ghi cơ sở cộng với độ lệch + Địa chỉ lệnh xử lý dữ liệu và lệnh rẽ nhánh ARM  Các lệnh xử lý dữ liệu  Sử dụng hoặc định địa chỉ thanh ghi hoặc kết hợp giữa định địa chỉ thanh ghi và tức thì  Với định địa chỉ thanh ghi, giá trị trong một toán hạng thanh ghi có thể được thu nhỏ bằng một trong năm toán tử dịch  Các lệnh rẽ nhánh  Dạng duy nhất của định địa chỉ cho các lệnh rẽ nhánh là định địa chỉ tức thì  Lệnh chứa 24 bit giá trị  Đã dịch 2 bit để địa chỉ nằm trên ranh giới từ  Khoảng hiệu quả +/- 32MB từ PC + ARM Load/Store Multiple Addressing 3. Định dạng lệnh  Định nghĩa cách bố trí của các bit trong 1 lệnh [trong các trường thành phần của nó]  Bao gồm:  1 opcode  Không hoặc nhiều toán hạng, ngầm định hoặc rõ ràng  Phải ngầm định hoặc rõ ràng chỉ ra chế độ địa chỉ cho từng toán hạng  Với mỗi tập lệnh, có thể có nhiều định dạng được sử dụng + Độ dài lệnh Vấn đề thiết kế cơ bản nhất Ảnh hưởng, và bị ảnh hưởng bởi: Kích thước bộ nhớ  Tổ chức bộ nhớ Cấu trúc bus Độ phức tạp của bộ xử lý  Tốc độ bộ xử lý  Trade off giữa hiệu quả của lệnh và tiết kiệm không gian + Độ dài lệnh Cần xem xét: Độ dài lệnh có nên bằng độ dài dữ liệu bộ nhớ truyền đi. Hoặc một trong hai cái nên là bội của cái còn lại  Tốc độ truyền bộ nhớ chậm hơn tốc độ VXL Độ dài lệnh nên là bội của độ dài ký tự [thương là 8 bit] và bội của độ dài của các số dấu chấm tĩnh + Phân bổ bit Các yếu tố ảnh hưởng đến việc sử dụng bit địa chỉ trong 1 lệnh  Số lượng chế độ địa chỉ  Số lượng toán hạng  Thanh ghi hay bộ nhớ  Số lượng tập thanh ghi  Dải địa chỉ  Độ chi tiết địa chỉ Định dạng lệnh PDP-8 + Định dạng lệnh PDP-10 + Lệnh có độ dài thay đổi Cung cấp sự thay đổi một cách hiệu quả và linh hoạt  Tăng sự phức tạp của VXL Vẫn mong muốn tất cả độ dài lệnh là bội của độ dài từ Vì VXL không biết chiều dài của lệnh tiếp theo sẽ được truy xuất  Giải pháp điển hình là truy xuất một số lượng byte hoặc word ít nhất bằng lệnh dài nhất Đôi khi nhiều lệnh được truy xuất Định dạng lênh PDP-11 + Các ví dụ lệnh VAX Định dạng lệnh x86 x86 được trang bị nhiều định dạng lệnh Các định dạng lệnh ARM Ví dụ về sử dụng ARM Immediate Constants [hằng số tức thì] Tập lệnh Thumb Hợp ngữ + Tổng kết  Các chế độ định địa chỉ  Định địa chỉ tức thì  Định địa chỉ trực tiếp  Định địa chỉ gián tiếp  Định địa chỉ thanh ghi  Định địa chỉ gián tiếp thanh ghi  Định địa chỉ dịch chuyển  Định địa chỉ ngăn xếp  Chế độ định địa chỉ x86  Các chế độ định địa chỉ ARM  Định dạng lênh  Kích thước lệnh  Phân bố các bit  Các lệnh có kích thước thay đổi  Định dạng lênh X86  Định dạng lệnh ARM Chương 13 Tập lệnh: Chế độ định địa chỉ và định dạng + Câu hỏi chương 13 1 Trình bày cách định địa chỉ tức thời. 2 Trình bày cách định địa chỉ trực tiếp. 3 Trình bày cách định địa chỉ gián tiếp. 4 Trình bày cách định địa chỉ thanh ghi. 5 Trình bày cách định địa chỉ gián tiếp thanh ghi. 6 Trình bày cách định địa chỉ thay thế. 7 Trình bày cách định địa chỉ tương đối. 8 Ưu điểm của đánh số tự động? 9 Phân biệt postindexing và preindexing? 10 Các yếu tố ảnh hưởng đến việc sử dụng các bit địa chỉ trong 1 lệnh? 11 Ưu điểm và nhược điểm của việc sử dụng định dạng lệnh có độ dài thay đổi?

Các file đính kèm theo tài liệu này:

  • kien_truc_may_tinh_ch13_che_do_dinh_dia_chi_5631_1993038.pdf

Video liên quan

Chủ Đề