Assume that the algorithm starts at the upper-left-hand corner of the  dịch - Assume that the algorithm starts at the upper-left-hand corner of the  Việt làm thế nào để nói

Assume that the algorithm starts at

Assume that the algorithm starts at the upper-left-hand corner of the flowchart. As
long as each succeeding conditional branch instruction that is encountered is taken,the decision process predicts that the next branch will be taken. If a single prediction is wrong, the algorithm continues to predict that the next branch is taken. Only
if two successive branches are not taken does the algorithm shift to the right-hand
side of the flowchart. Subsequently, the algorithm will predict that branches are not
taken until two branches in a row are taken. Thus, the algorithm requires two consecutive wrong predictions to change the prediction decision.
The decision process can be represented more compactly by a finite-state machine, shown in Figure 12.19. The finite-state machine representation is commonly
used in the literature.
The use of history bits, as just described, has one drawback: If the decision is
made to take the branch, the target instruction cannot be fetched until the target address, which is an operand in the conditional branch instruction, is decoded. Greater
efficiency could be achieved if the instruction fetch could be initiated as soon as the
branch decision is made. For this purpose, more information must be saved, in what
is known as a branch target buffer, or a branch history table.
The branch history table is a small cache memory associated with the instruc
tion fetch stage of the pipeline. Each entry in the table consists of three elements:
the address of a branch instruction, some number of history bits that record the
state of use of that instruction, and information about the target instruction. In most proposals and implementations, this third field contains the address of the tar
get instruction. Another possibility is for the third field to actually contain the tar
get instruction. The trade-off is clear: Storing the target address yields a smaller
table but a greater instruction fetch time compared with storing the target instruc
tion [RECH98].
Figure 12.20 contrasts this scheme with a predict-never-taken strategy. With
the former strategy, the instruction fetch stage always fetches the next sequential ad
dress. If a branch is taken, some logic in the processor detects this and instructs that
the next instruction be fetched from the target address (in addition to flushing the
pipeline). The branch history table is treated as a cache. Each prefetch triggers a
lookup in the branch history table. If no match is found, the next sequential address
is used for the fetch. If a match is found, a prediction is made based on the state of
the instruction: Either the next sequential address or the branch target address is
fed to the select logic.
When the branch instruction is executed, the execute stage signals the branch
history table logic with the result. The state of the instruction is updated to reflect a
correct or incorrect prediction. If the prediction is incorrect, the select logic is redi
rected to the correct address for the next fetch. When a conditional branch instruc
tion is encountered that is not in the table, it is added to the table and one of the
existing entries is discarded, using one of the cache replacement algorithms dis
cussed in Chapter 4.
A refined of the branch history approach is referred to as two-level or correlation
based branch history [YEH91]. This approach is based on the assumption that
whereas in loop-closing branches, the past history of a particular branch instruction
is a good predictor of future behavior, with more complex control-flow structures,
the direction of a branch is frequently correlated with the direction of related
branches. An example is an if-then-else or case structure. There are a number of
strategies possible. Typically, recent global branch history (i.e., the history of the most recent branches not just of this branch instruction) is used in addition to the
history of the current branch instruction. The general structure is defined as an
(m, n) correlator, which uses the behavior of the last m branches to choose from
n-bit branch predictors for the current branch instruction. In other words, an n-bit
history is kept for a give branch for each possible combination of branches taken by
the most recent mbranches.
DELAYED BRANCHIt is possible to improve pipeline performance by automatically
rearranging instructions within a program, so that branch instructions occur later
than actually desired. This intriguing approach is examined in Chapter 13.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Giả định rằng các thuật toán bắt đầu ở góc trên bên trái tay của các flowchart. Nhưmiễn là mỗi hướng dẫn có điều kiện chi nhánh thành công là gặp phải được thực hiện, quá trình quyết định dự đoán rằng các chi nhánh tiếp theo sẽ được thực hiện. Nếu một dự đoán đơn là sai, các thuật toán tiếp tục dự đoán rằng các chi nhánh tiếp theo được thực hiện. ChỉNếu hai nhánh liên tiếp không ký hiện các thuật toán chuyển sang các bên phảibên của các flowchart. Sau đó, các thuật toán sẽ tiên đoán rằng chi nhánh khôngthực hiện cho đến khi các chi nhánh hai trong một hàng được thực hiện. Vì vậy, các thuật toán yêu cầu hai liên tiếp dự đoán sai để thay đổi quyết định dự đoán.Quá trình quyết định có thể được biểu diễn hơn compactly bởi một máy hữu hạn trạng thái, Hiển thị trong hình 12.19. Đại diện hữu hạn-nhà nước máy là phổ biếnđược sử dụng trong các tài liệu.Sử dụng lịch sử bit, như chỉ mô tả, có một nhược điểm: nếu quyết định làthực hiện để có các chi nhánh, các hướng dẫn mục tiêu không thể được tải về cho đến khi địa chỉ mục tiêu, là một operand trong giảng dạy có điều kiện chi nhánh, được giải mã. Lớn hơnhiệu quả có thể đạt được nếu lấy hướng dẫn có thể được bắt đầu ngay sau khi cácchi nhánh quyết định được thực hiện. Cho mục đích này, thông tin phải được lưu ra, trong những gìđược biết đến như một bộ đệm nhắm mục tiêu chi nhánh, hoặc một bảng lịch sử chi nhánh.Bảng lịch sử chi nhánh là một bộ nhớ cache nhỏ liên quan đến instruction lấy giai đoạn của đường ống. Mỗi mục trong bảng bao gồm ba yếu tố:địa chỉ của một hướng dẫn chi nhánh, một số số lịch sử bit rằng bản ghi cácnhà nước sử dụng hướng dẫn, và các thông tin về các mục tiêu chỉ dẫn. Trong hầu hết các đề xuất và hiện thực, này trường thứ ba có chứa địa chỉ của tarnhận được chỉ dẫn. Một khả năng là cho lĩnh vực thứ ba để thực sự chứa tarnhận được chỉ dẫn. Cái giá là rõ ràng: lưu trữ địa chỉ mục tiêu sản lượng một nhỏ hơnbảng nhưng một chỉ dẫn lớn lấy thời gian so với lưu trữ mục tiêu instruction [RECH98].Con số 12,20 tương sơ đồ này với một chiến lược predict-không bao giờ-thực hiện. Vớichiến lược cũ, giai đoạn lấy chỉ dẫn luôn fetches quảng cáo tiếp theo tuần tựăn. Nếu một chi nhánh được thực hiện, một số logic trong xử lý phát hiện này và chỉ thị màCác hướng dẫn tiếp theo được tải về từ địa chỉ mục tiêu (ngoài việc xả nước cácđường ống). Bảng lịch sử chi nhánh được coi là một bộ nhớ cache. Mỗi yếu tố prefetch mộttra cứu trong bảng lịch sử chi nhánh. Nếu không phù hợp được tìm thấy, địa chỉ tiếp theo tuần tựđược sử dụng để tìm nạp. Nếu kết hợp được tìm thấy, một dự báo được thực hiện dựa trên bangchỉ dẫn: hoặc là tiếp theo tuần tự địa chỉ hay địa chỉ chi nhánh mục tiêu làcung cấp cho logic chọn.Khi các hướng dẫn chi nhánh được thực thi, giai đoạn thực hiện tín hiệu các chi nhánhlịch sử bảng logic với kết quả. Nhà nước của các hướng dẫn được Cập Nhật để phản ánh mộtdự đoán chính xác hoặc không chính xác. Nếu dự báo là không chính xác, chọn logic là redirected đến địa chỉ chính xác cho lấy tiếp theo. Khi có điều kiện một chi nhánh instruction là gặp phải mà không có trong bảng, nó được thêm vào bảng và là một trong cáchiện có mục được bỏ đi, bằng cách sử dụng một trong bộ nhớ cache thay thế thuật toán discussed trong chương 4.Một tinh tế của phương pháp tiếp cận lịch sử chi nhánh được gọi là hai cấp hoặc tương quanDựa trên lịch sử chi nhánh [YEH91]. Cách tiếp cận này dựa trên giả định rằngtrong khi trong vòng lặp đóng cửa các chi nhánh, lịch sử quá khứ của một chỉ dẫn cụ thể chi nhánhlà một dự báo tốt của hành vi trong tương lai, với cấu trúc phức tạp hơn kiểm soát dòng chảy,sự chỉ đạo của một chi nhánh thường xuyên được tương quan với sự hướng dẫn của liên quanchi nhánh. Một ví dụ là một cấu trúc nếu-sau đó-khác hoặc trường hợp. Có là một sốchiến lược có thể. Thông thường, tại chi nhánh toàn cầu lịch sử (tức là, lịch sử của các chi nhánh đặt tại không chỉ của hướng dẫn chi nhánh này) được sử dụng để bổ sung cáclịch sử của các hướng dẫn chi nhánh hiện tại. Cấu trúc tổng quát được định nghĩa là mộtcorrelator (m, n), sử dụng hành vi của các chi nhánh m cuối để lựa chọn n-bit chi nhánh các dự đoán để được hướng dẫn chi nhánh hiện tại. Nói cách khác, một n-bitlịch sử được giữ cho một chi nhánh cho cho từng kết hợp có thể thực hiện bởi chi nhánhmbranches đặt.Chậm TRỄ BRANCHIt có thể cải thiện hiệu suất của đường ống dẫn bởi tự độngsắp xếp lại các hướng dẫn trong một chương trình, để hướng dẫn chi nhánh xảy ra sau đóhơn thực sự mong muốn. Cách tiếp cận hấp dẫn này được kiểm tra trong chương 13.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Assume that the algorithm starts at the upper-left-hand corner of the flowchart. As
long as each succeeding conditional branch instruction that is encountered is taken,the decision process predicts that the next branch will be taken. If a single prediction is wrong, the algorithm continues to predict that the next branch is taken. Only
if two successive branches are not taken does the algorithm shift to the right-hand
side of the flowchart. Subsequently, the algorithm will predict that branches are not
taken until two branches in a row are taken. Thus, the algorithm requires two consecutive wrong predictions to change the prediction decision.
The decision process can be represented more compactly by a finite-state machine, shown in Figure 12.19. The finite-state machine representation is commonly
used in the literature.
The use of history bits, as just described, has one drawback: If the decision is
made to take the branch, the target instruction cannot be fetched until the target address, which is an operand in the conditional branch instruction, is decoded. Greater
efficiency could be achieved if the instruction fetch could be initiated as soon as the
branch decision is made. For this purpose, more information must be saved, in what
is known as a branch target buffer, or a branch history table.
The branch history table is a small cache memory associated with the instruc
tion fetch stage of the pipeline. Each entry in the table consists of three elements:
the address of a branch instruction, some number of history bits that record the
state of use of that instruction, and information about the target instruction. In most proposals and implementations, this third field contains the address of the tar
get instruction. Another possibility is for the third field to actually contain the tar
get instruction. The trade-off is clear: Storing the target address yields a smaller
table but a greater instruction fetch time compared with storing the target instruc
tion [RECH98].
Figure 12.20 contrasts this scheme with a predict-never-taken strategy. With
the former strategy, the instruction fetch stage always fetches the next sequential ad
dress. If a branch is taken, some logic in the processor detects this and instructs that
the next instruction be fetched from the target address (in addition to flushing the
pipeline). The branch history table is treated as a cache. Each prefetch triggers a
lookup in the branch history table. If no match is found, the next sequential address
is used for the fetch. If a match is found, a prediction is made based on the state of
the instruction: Either the next sequential address or the branch target address is
fed to the select logic.
When the branch instruction is executed, the execute stage signals the branch
history table logic with the result. The state of the instruction is updated to reflect a
correct or incorrect prediction. If the prediction is incorrect, the select logic is redi
rected to the correct address for the next fetch. When a conditional branch instruc
tion is encountered that is not in the table, it is added to the table and one of the
existing entries is discarded, using one of the cache replacement algorithms dis
cussed in Chapter 4.
A refined of the branch history approach is referred to as two-level or correlation
based branch history [YEH91]. This approach is based on the assumption that
whereas in loop-closing branches, the past history of a particular branch instruction
is a good predictor of future behavior, with more complex control-flow structures,
the direction of a branch is frequently correlated with the direction of related
branches. An example is an if-then-else or case structure. There are a number of
strategies possible. Typically, recent global branch history (i.e., the history of the most recent branches not just of this branch instruction) is used in addition to the
history of the current branch instruction. The general structure is defined as an
(m, n) correlator, which uses the behavior of the last m branches to choose from
n-bit branch predictors for the current branch instruction. In other words, an n-bit
history is kept for a give branch for each possible combination of branches taken by
the most recent mbranches.
DELAYED BRANCHIt is possible to improve pipeline performance by automatically
rearranging instructions within a program, so that branch instructions occur later
than actually desired. This intriguing approach is examined in Chapter 13.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: