JavaScript is required

Khi CPU thực hiện lệnh theo kỹ thuật song song mức lệnh thì cách viết lệnh nào sau đây là hợp lý hơn

A.
a:= x + 10; b:=a + 10; (1)
B.
a:= x + 10; b:=x + 20; (2)
C.
b:= x + 20; a:=b -10; (3)
D.
Cả (1) (2) (3) đều không thể thực hiện được theo kỹ thuật song song mức lệnh
Trả lời:

Đáp án đúng: B


Kỹ thuật song song mức lệnh (Instruction-Level Parallelism - ILP) là một kỹ thuật cho phép CPU thực hiện nhiều lệnh cùng một lúc. Để đạt được hiệu quả cao nhất, các lệnh nên độc lập với nhau, tức là không có sự phụ thuộc dữ liệu giữa chúng. * **Phương án A (1):** `a := x + 10; b := a + 10;` * Lệnh `b := a + 10` phụ thuộc vào kết quả của lệnh `a := x + 10`. Do đó, hai lệnh này không thể thực hiện song song vì `b` cần giá trị của `a`. * **Phương án B (2):** `a := x + 10; b := x + 20;` * Lệnh `a := x + 10` và `b := x + 20` độc lập với nhau. Cả hai lệnh đều chỉ phụ thuộc vào giá trị của `x` và không phụ thuộc vào kết quả của nhau. Vì vậy, chúng có thể được thực hiện song song. * **Phương án C (3):** `b := x + 20; a := b - 10;` * Lệnh `a := b - 10` phụ thuộc vào kết quả của lệnh `b := x + 20`. Do đó, hai lệnh này không thể thực hiện song song vì `a` cần giá trị của `b`. Vậy, phương án B là hợp lý nhất để thực hiện song song mức lệnh.

Câu hỏi liên quan