Pipeline CPU là gì

PipelineĐường ống. Đây là nghĩa tiếng Việt của thuật ngữ Pipeline - một thuật ngữ thuộc nhóm Technology Terms - Công nghệ thông tin.

Độ phổ biến(Factor rating): 5/10

Trong máy tính, đường ống dẫn đề cập đến hàng đợi hợp lý rằng được làm đầy với tất cả các hướng dẫn cho bộ vi xử lý máy tính để quá trình song song. Đó là quá trình lưu trữ và xếp hàng nhiệm vụ và hướng dẫn được thực hiện đồng thời bởi bộ xử lý một cách có tổ chức.

Xem thêm: Thuật ngữ công nghệ A-Z

Giải thích ý nghĩa

Một đường ống bao gồm nhiệm vụ xử lý và hướng dẫn theo từng giai đoạn khác nhau. Bộ xử lý máy tính hoạt động trên mỗi công việc trong các đường ống. Nó hoạt động khác nhau từ FIFO (lần đầu tiên trong đầu ra) và LIFO (cuối cùng trong-ra trước) kiến ​​trúc máy tính, nhưng giao đất một số thời gian xử lý cho từng nhiệm vụ trong các đường ống. Đường ống dẫn dầu cho phép xử lý của mỗi công việc song song thay vì chờ đợi cho một nhiệm vụ để hoàn thành và sau đó chuyển sang khác.

What is the Pipeline? - Definition

In computing, pipeline refers to the logical queue that is filled with all the instructions for the computer processor to process in parallel. It is the process of storing and queuing tasks and instructions that are executed simultaneously by the processor in an organized way.

Understanding the Pipeline

A pipeline includes processor tasks and instructions in different stages. The computer processor works on each task in the pipeline. It works differently from the FIFO (first in-first out) and LIFO (last in-first out) computing architecture, but allocates some processing time to each task in the pipeline. The pipeline enables the processing of each task in parallel rather than waiting for a task to finish and then moving onto another.

Thuật ngữ liên quan

  • Pipelining
  • Pipeline Burst Cache (PB Cache)
  • Plumbing
  • Memory Address
  • Nubus
  • Snooping Protocol
  • Diode Matrix
  • Voltage Regulator
  • Graphics Accelerator
  • AMD Fusion

Source: Pipeline là gì? Technology Dictionary - Filegi - Techtopedia - Techterm

Đây là một kỹ thuật làm cho các giai đoạn khác nhau của nhiều lệnh được thi hành cùng một lúc.

Ví dụ: Chúng ta có những lệnh đều đặn, mỗi lệnh được thực hiện trong cùng một khoản thời gian. Giả sử, mỗi lệnh được thực hiện trong 5 giai đoạn và mỗi giai đoạn được thực hiện trong 1 chu kỳ xung nhịp. Các giai đoạn thực hiện một lệnh là: lấy lệnh (IF: Instruction Fetch), giải mã (ID: Instruction Decode), thi hành (EX: Execute), thâm nhập bộ nhớ (MEM: Memory Access), lưu trữ kết quả (RS: Result Storing).

Hình III.4 cho thấy chỉ trong một chu kỳ xung nhịp, bộ xử lý có thể thực hiện một lệnh (bình thường lệnh này được thực hiện trong 5 chu kỳ).

Pipeline CPU là gì

Hình III.4: Các giai đoạn khác nhau của nhiều lệnh được thi hành cùng một lúc

So sánh với kiểu xử lý tuần tự thông thường, 5 lệnh được thực hiện trong 25 chu kỳ xung nhịp, thì xử lý lệnh theo kỹ thuật ống dẫn thực hiện 5 lậnh chỉ trong 9 chu kỳ xung nhịp.

Như vậy kỹ thuật ống dẫn làm tăng tốc độ thực hiện các lệnh. Tuy nhiên kỹ thuật ống dẫn có một số ràng buộc:

  • Cần phải có một mạch điện để thi hành mỗi giai đoạn của lệnh vì tất cả các giai đoạn của lệnh được thi hành cùng lúc. Trong một bộ xử lý không dùng kỹ thuật ống dẫn, ta có thể dùng bộ làm toán ALU để cập nhật thanh ghi PC, cập nhật địa chỉ của toán hạng bộ nhớ, địa chỉ ô nhớ mà chương trình cần nhảy tới, làm các phép tính trên các toán hạng vì các phép tính này có thể xảy ra ở nhiều giai đoạn khác nhau.
  • Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết. Trên hình III.4, tại một chu kỳ xung nhịp, ta thấy cùng một lúc có 2 tác vụ đọc (ID, MEM) và 1 tác vụ viết (RS).
  • Trong một máy có kỹ thuật ống dẫn, có khi kết quả của một tác vụ trước đó, là toán hạng nguồn của một tác vụ khác. Như vậy sẽ có thêm những khó khăn mà ta sẽ đề cập ở mục tới.
  • Cần phải giải mã các lệnh một cách đơn giản để có thể giải mã và đọc các toán hạng trong một chu kỳ duy nhất của xung nhịp.
  • Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số học dài nhất, có số giữ, trong một khoảng thời gian ít hơn một chu kỳ của xung nhịp.
  • Cần phải có nhiều thanh ghi lệnh để lưu giữ lệnh mà chúng ta phải xem xét cho mỗi giai đoạn thi hành lệnh.
  • Cuối cùng phải có nhiều thanh ghi bộ đếm chương trình PC để có thể tái tục các lệnh trong trường hợp có ngắt quãng.

Kỹ thuật ống dẫn là kỹ thuật mà nhiều lệnh được thực hiện theo dạng nạp chồng (overlap). Kỹ thuật này được sử dụng phổ biến trong các kiến trúc CPU hiện nay.

Như các phần trên đã trình bày, một lệnh MIPS được thực hiện trong 5 bước:

  1. Duyệt lệnh từ bộ nhớ
  2. Giải mã lệnh, đồng thời đọc các thanh ghi
  3. Thực thi lệnh hoặc tính địa chỉ
  4. Truy cập toán hạng trong bộ nhớ
  5. Ghi kết quả vào thanh ghi

Để đơn giản trong kỹ thuật ống dẫn, chúng ta chỉ xét đến các lệnh: load word (lw), store word (sw), add (add), substract (sub), AND (and), OR (or), set less than (slt) và beq.

Giả sử thời gian thực hiện từng thành phần như sau: thao tác truy cập bộ nhớ cần 200 ps, các phép toán ALU cần 200 ps và 100 ps để đọc hoặc ghi vào thanh ghi. Thời gian thực hiện mỗi lệnh được thể hiện như bảng 3.2. Trong hình này thì lệnh lw có thời gian thực hiện lớn nhất (800 ps).

Pipeline CPU là gì

Bảng 3.2: Tổng thời gian thực hiện của mỗi lệnh

Giả sử chúng ta xét ví dụ với ba lệnh như sau: LW $1,100($0)

LW $2,200($0)
LW $3,300($0)

Các lệnh này được thực hiện theo hai cách: tuần tự và theo kỹ thuật ống dẫn. Hình 3.10 thể hiện so sánh giữa hai cách này. Ở phần trên của hình cho thấy ba lệnh được thực hiện tuần tự có tổng thời gian là 800 × 3 = 2400 ps, thời gian giữa mỗi lệnh là 800 ps. Trong khi ở phần dưới của hình cho thấy nếu ba lệnh này được thực hiện trong kỹ thuật ống dẫn thì chỉ cần 1400 ps, thời gian giữa mỗi lệnh chỉ là 200 ps.

Pipeline CPU là gì

Hình 3.10: Thực hiện tuần tự so với kỹ thuật ống dẫn

Đường đi dữ liệu của kỹ thuật ống dẫn (pipelined datapath)

Một lệnh được thực hiện bao gồm 5 giai đoạn:

− Duyệt lệnh (IF)

− Giải mã lệnh (ID) và đọc các thanh ghi

− Thực thi lệnh (EX)

− Truy cập bộ nhớ (MEM)

− Ghi kết quả trở lại thanh ghi (WB)

Các giai đoạn này được thể hiện như hình 3.11 theo chiều từ trái sang phải. Ngoại trừ ở giai đoạn WB giá trị được ghi vào thanh ghi ngược trở lại giai đoạn ID và thao tác câp nhật giá trị PC đến giá trị kế tiếp hoặc địa chỉ của lệnh nhảy ở giai đoạn MEM.

Pipeline CPU là gì

Giả sử chúng ta có ba lệnh được thực thi theo kỹ thuật ống dẫn: lw $1,100($0) lw $2,200($0) lw $3,300($0) Hình 3.12 thể hiện các lệnh này trong kỹ thuật ống dẫn. Trong hình này các giai đoạn của mỗi lệnh được thể hiện bằng tên tương ứng: IM (instruction memory), Reg (Register), ALU (Algorithm Logic Unit) và DM (Data Memory). Với quy ước phân nữa bên trái thể hiện quá trình ghi, trong khi phân nữa bên phải thể hiện quá trình đọc. Giai đoạn nào sử dụng quá trình ghi hay đọc thì được tô đậm tương ứng, không sử dụng thì bỏ trắng. Như giai đoạn thực thi EX thì biểu tượng Reg được tô đen bên phải, bỏ trắng bên trái thể hiện ở giai đoạn này có quá trình đọc thanh ghi nhưng không có quá trình ghi thanh ghi.

Pipeline CPU là gì

Hình 3.12: Ba lệnh được thực thi trong kỹ thuật ống dẫn

Để lưu lại giá trị ở từng giai đoạn của mỗi lệnh, trong kỹ thuật ống dẫn bổ sung thêm các thanh ghi nằm giữa các giai đoạn như hình 3.13 (các thanh ghi này còn được gọi là thanh ghi ống dẫn – pipelined register). Các thanh ghi này được đặt tên bằng cách kết hợp tên giữa hai giai đoạn kề. Ví dụ thanh ghi ống dẫn giữa giai đoạn IF và ID được đặt tên là IF/ID. Thanh ghi IF/ID có độ dài 64 bit (32 bit lưu lệnh được duyệt từ bộ nhớ và 32 bit lưu địa chỉ PC kế tiếp), các thanh ghi ống dẫn còn lại ID/EX, EX/MEM và MEM/WB có độ dài tương ứng là 128 bit, 97 bit và 64 bit.

Pipeline CPU là gì

Để hiểu rõ cách thức hoạt động trong kỹ thuật ống dẫn, chúng ta xét lênh lw được thực hiện trong kỹ thuật ống dẫn thông qua năm giai đoạn như sau:

− Duyệt lệnh: hình 3.14 thể hiện lệnh được đọc từ bộ nhớ dùng địa chỉ chứa trong PC, sau đó lệnh đọc được được lưu vào thanh ghi ống dẫn IF/ID. Địa chỉ PC tăng lên 4 và được lưu trở lại PC để chỉ đến lệnh kế tiếp. Đồng thời kết quả này cũng được lưu vào thanh ghi ống dẫn IF/ID để xử lý trong trường hợp một lệnh nhảy tương ứng. Máy tính không thể biết được loại lệnh sẽ được duyệt tiếp theo nên phải lưu lại các thông tin cần thiết vào thanh ghi ống dẫn để xử lý cho bất kỳ loại lệnh nào. Trong giai đoạn này lệnh được đọc từ bộ nhớ lệnh nên phân nửa cuối của bộ nhớ này được tô đậm. Đối với thanh ghi ống dẫn IF/ID được ghi dữ liệu vào nên phân nửa đầu của thanh ghi ống dẫn này được tô đậm.

Pipeline CPU là gì

− Giải mã lệnh và đọc các thanh ghi: Trong hình 3.15 địa chỉ offset 16 bit được đọc từ IF/ID và được mở rộng thành 32 bit tương ứng. Đồng thời xác định các thanh ghi để đọc dữ liệu. Dữ liệu được đọc từ thanh ghi cùng với địa chỉ offset 32 bit và giá trị PC được ghi vào thanh ghi ống dẫn ID/EX. Mặc dù lệnh lw chỉ đọc một thanh ghi nguồn (Read data 1) ở giai đoạn này, bộ xử lý không biết được loại lệnh đang được giải mã. Vì thế, giá trị hằng 16 bit (được mở rộng thành 32 bit) và đọc cả hai thanh ghi được lưu vào thanh ghi ống dẫn ID/EX. Chúng ta không cần cả ba toán hạng, nhưng để đơn giản trong điều khiển thì giữ lại cả ba thành phần này. Trong giai đoạn này lệnh được đọc từ thanh ghi ống dẫn IF/ID nên phân nửa cuối của thanh ghi này được tô đậm. Đối với thanh ghi ống dẫn ID/EX được ghi dữ liệu vào nên phân nửa đầu của thanh ghi ống dẫn này được tô đậm. Trong khi đó thanh ghi nguồn (Read data 1) trong tập thanh ghi được đọc nên phân nửa cuối của tập thanh ghi này được tô đậm.

Pipeline CPU là gì

− Thực thi hoặc tính địa chỉ: hình 3.16 thể hiện giai đoạn ba trong kỹ thuật ống dẫn của lệnh lw. Lệnh này đọc nội dung thanh ghi (register 1) để đưa vào thanh phần đầu vào thứ nhất của ALU. Còn thành phần đầu vào thứ hai của ALU được lấy từ giá trị địa chỉ offset 32 bit từ thanh ghi ống dẫn ID/EX (trường hợp này giá trị đầu vào của bộ điều hợp (Mux) có giá trị 1). Sau đó ALU thực hiện phép toán cộng để xác định địa chỉ trong bộ nhớ dữ liệu cần truy cập. Kết quả của phép toán cộng trong ALU được ghi vào thanh ghi ống dẫn EX/MEM. Trong giai đoạn này thanh ghi ống dẫn ID/EX được đọc dữ liệu nên phân nửa cuối của thanh ghi này được tô đậm. Sau đó dữ liệu được ghi vào thanh ghi ống dẫn EX/MEM nên phân nửa đầu của thanh ghi ống dẫn này được tô đậm.

Pipeline CPU là gì

− Truy cập bộ nhớ: hình 3.17 thể hiện giai đoạn bốn trong kỹ thuật ống dẫn của lệnh lw. Địa chỉ 32 bit được đọc từ thanh ghi EX/MEM dùng để xác định nội dung cần đọc trong bộ nhớ dữ liệu. Dữ liệu được đọc từ bộ nhớ sẽ được ghi vào thanh ghi ống dẫn MEM/WB. Trong trường hợp của lệnh lw, dữ liệu ghi vào bộ nhớ (write data) không hoạt động. Tương tự các trường hợp trên, đọc dữ liệu từ thanh ghi ống dẫn EX/MEM nên phân nửa cuối của thanh ghi này được tô đậm và ghi dữ liệu vào thanh ghi ống dẫn MEM/WB nên phân nửa đầu của thanh ghi này được tô đậm

Pipeline CPU là gì

− Ghi kết quả: hình 3.18 thể hiện giai đoạn cuối cùng trong kỹ thuật ống dẫn của lệnh lw. Dữ liệu được đọc từ thanh ghi ống dẫn MEM/WB và ghi trở lại thanh ghi đích trong tập các thanh ghi (Registers) ở giai đoạn hai. Bộ điều hợp (Mux) trong trường hợp này có giá trị đầu vào tương ứng 1. Do dữ liệu được đọc từ thanh ghi ống dẫn MEM/WB nên phân nửa cuối của thanh ghi này được tô đậm. Trong khi đó, thao tác ghi thanh ghi được thực hiện trong tập thanh ghi nên phân nửa đầu của tập thanh ghi được tô đậm.

Pipeline CPU là gì

Như vậy, đường đi dữ liệu kết hợp cả năm giai đoạn của lệnh lw trong kỹ thuật ống dẫn được thể hiện như hình 3.19. Trong hình này, cả bộ nhớ lệnh (instruction memory) và bộ nhớ dữ liệu (data memory) đều có quá trình đọc dữ liệu nhưng không có quá trình ghi dữ liệu nên phân nửa cuối của các bộ nhớ này được tô đậm. Trong khi đó cả bốn thanh ghi ống dẫn IF/ID, ID/EX, EX/MEM, MEM/WB đều có cả hai quá trình đọc và ghi nên toàn bộ các thanh ghi này được tô đậm.

Pipeline CPU là gì

Để biểu diễn đường đi dữ liệu trong kỹ thuật ống dẫn thường dùng hai loại giản đồ: giản đồ ống dẫn đa chu kỳ (multiple-clock-cycle pipeline diagram) và giản đồ ống dẫn đơn chu kỳ (single-clock-cycle pipeline diagram). Hình 3.12 là giản đồ ống dẫn biểu diễn bằng đa chu kỳ. Trong khi các hình từ hình 3.14 đến hình 3.19 là giản đồ ống dẫn biểu diễn bằng đơn chu kỳ. Giản đồ ống dẫn biểu diễn bằng đơn chu kỳ thể hiện trạng thái đường đi dữ liệu trong một chu kỳ. Giản đồ biểu diễn bằng đa chu trình thì thể hiện cách nhìn tổng quan trong kỹ thuật ống dẫn. Xét ví dụ với năm lệnh sau đây được thực hiện trong kỹ thuật ống dẫn: lw $10, 20($1) sub $11, $2, $3 add $12, $3, $4 lw $13, 24($1) add $14, $5, $6 Hình 3.20 thể hiện giản đồ ống dẫn đa chu kỳ của năm lệnh trên. Thời gian theo chiều từ trái sang phải và thứ tự lệnh theo chiều từ trên xuống dưới. Biểu diễn của các giai đoạn ống dẫn được thể hiện mỗi phần theo chiều thẳng đứng, diễn ra trong những chu kỳ xung nhịp tương ứng.

Pipeline CPU là gì

Hình 3.20: Giản đồ ống dẫn biểu diễn bằng đa chu kỳ

Giản đồ ống dẫn đơn chu kỳ thể hiện toàn bộ trạng thái đường dẫn dữ liệu trong một chu kỳ xung nhịp, và tất cả năm lệnh trong kỹ thuật ống dẫn được xác định bằng nhãn ở phía trên các giai đoạn ống dẫn tương ứng của họ. Chúng ta dùng loại giản đồ này để thể hiện chi tiết những gì xảy ra trong kỹ thuật ống dẫn thông qua mỗi chu kỳ xung nhịp. Giản đồ ống dẫn đơn chu kỳ thể hiện một phần thẳng đứng trong giản đồ ống dẫn biểu diễn bằng đa chu kỳ, thể hiện đường dẫn dữ liệu của mỗi lệnh trong kỹ thuật ống dẫn ứng với một chu kỳ xung nhịp cụ thể. Ví dụ, hình 3.21 thể hiện giản đồ ống dẫn đơn chu kỳ tương ứng với chu kỳ thứ 5 (CC5) của hình 3.20

Pipeline CPU là gì

Điều khiển trong kỹ thuật ống dẫn (pipelined control)

Các đường điều khiển trong kỹ thuật ống dẫn được thể hiện như hình 3.22. Trong đó 6 bit thấp của trường funct (function code) trong 16 bit được mở rộng dấu thành 32 bit được lưu lại thanh ghi ống dẫn ID/EX dùng làm tín hiệu vào cho ALU control.

Đối với bộ điều hợp (Mux) có 2 ngõ vào và một ngõ ra cùng với tín hiệu điều khiển.

Nếu tín hiệu điều khiển có giá trị 1 thì ngõ ra sẽ tương ứng với ngõ vào 1 và ngược lại tín hiệu điều khiển có giá trị 0 thì ngõ ra sẽ tương ứng với ngõ vào 0. Tín hiệu PCSrc được thiết lập bởi cổng AND. Tín hiệu được thiết lập (giá trị 1) khi cả hai tín hiệu Branch và Zero đều được thiết lập (giá trị 1), ngược lại tín hiệu này sẽ có giá trị 0. Tín hiệu Branch chỉ được thiết lập cho lệnh beq nên trong trường hợp này PCSrc sẽ có giá trị 1. Các trường hợp khác PCSrc sẽ có giá trị 0.

Pipeline CPU là gì

Dựa vào 2 bit điều khiển ALUOp và 6 bit của trường mã lệnh (function code) mà các bit ALU control được thiết lập khác nhau như thể hiện trong bảng 3.3

Pipeline CPU là gì

Bảng 3.3: Thiết lập các bit ALU control

Các tín hiệu điều khiển có ý nghĩa như sau:

− RegDst: giá trị 0 xác định thanh ghi để ghi được xác định bởi toán hạng rt (bit 20:16). Ngược lại giá trị 1 thì thanh ghi để ghi được xác định bởi toán hạng rd (bit 15:11).

− RegWrite: giá trị 0 không ảnh hưởng. Giá trị 1 thể hiện ghi dữ liệu vào thanh ghi.

− ALUSrc: giá trị 0 xác định toán hạng thứ hai của ALU lấy từ thanh ghi thứ hai (Read data 2). Ngược lại, giá trị 1 thì toán hạng thứ hai của ALU lấy giá trị mở rộng dấu 16 bit thấp của lệnh.

− PCSrc: giá trị 0 thì PC được thay thế bởi PC+4. Ngược lại, giá trị 1 thì PC được thay thế bởi kết quả tính tổng của ALU để nhảy đến địa chỉ đích.

− MemRead: giá trị 0 không ảnh hưởng. Giá trị 1 thì dữ liệu được đọc từ bộ nhớ.

− MemWrite: giá trị 0 không ảnh hưởng. Giá trị 1 thì dữ liệu được ghi vào bộ nhớ.

− MemtoReg: giá trị 0 xác định dữ liệu để ghi vào thanh ghi được lấy từ kết quả của ALU. Ngược lại, giá trị 1 xác định dữ liệu để ghi vào thanh ghi được đọc từ bộ nhớ.

Các tín hiệu điều khiển này cũng có thể được chia theo ba giai đoạn cuối trong kỹ thuật ống dẫn như bảng 3.4:

Pipeline CPU là gì

Bảng 3.4: Các tín hiệu điều khiển tương ứng theo 3 giai đoạn sau cùng

Cũng giống như mô hình thực thi tuần tự, PC được ghi ở mỗi chu kỳ xung nhịp (clock cycle). Do đó trong kỹ thuật ống dẫn không có thêm tín hiệu điều khiển ghi đối với PC. Tương tự không có tín hiệu điều khiển ghi đối với các thanh ghi ống dẫn (IF/ID,  ID/EX,  EX/MEM, và  MEM/WB) bởi vì các thanh ghi này cũng được ghi ở mỗi chu kỳ xung nhịp.

Để thiết lập điều khiển trong kỹ thuật ống dẫn, chúng ta chỉ cần thiết lập các tín hiệu điều khiển trong mỗi giai đoạn của ống dẫn do các đường điều khiển này chỉ hoạt động trong mỗi giai đoạn tương ứng. Chúng ta có thể chia các tín hiệu điều khiển này vào 5 giai đoạn ống dẫn tương ứng như sau:

  1. Duyệt lệnh (Instruction fetch): các tín hiệu điều khiển để đọc lệnh trong bộ nhớ để ghi vào PC thì luôn luôn được thiết lập. Do đó không cần chỉ định tín hiệu điều khiển trong giai đoạn này.
  2. Giải mã lệnh/đọc thanh ghi (Instruction decode/register file read): giai đoạn này cũng thực hiện tương tự như bước trên nên không có tín hiệu điều khiển nào được bổ sung vào.
  3. Thực thi/tính địa chỉ (Execution/address calculation): Các tín hiệu được thiết lập bao gồm: RegDst dùng để lựa chọn thanh ghi kết quả (thanh ghi đích), ALUOp để lựa chọn phép toán ALU và ALUSrc để đọc từ Read data 2 hoặc từ mở rộng dấu 32 bit.
  4. Truy cập bộ nhớ (Memory access): Các tín hiệu điều khiển được thiết lập trong giai đoạn này gồm có: Branch, MemRead và MemWrite. Các tín hiệu này được thiết lập tương ứng với lệnh beq, load và store. Tín hiệu PCSrc lựa chọn địa chỉ kế tiếp hoặc nhảy đến địa chỉ đích nếu tín hiệu Branch được thiết lập và kết quả của phép toán ALU bằng 0.
  5. Ghi kết quả trở lại (Write-back): hai tín hiệu điều khiển là MemtoReg để di chuyển kết quả ALU hoặc từ bộ nhớ tới thanh ghi và RegWrite để ghi giá trị đã chọn.

Pipeline CPU là gì

Hình 3.23: Các tín hiệu điều khiển của ba giai đoạn ống dẫn sau cùng.

Vì vậy chín tín hiệu điều khiển có thể được lưu lại trong các thanh ghi ống dẫn như hình 3.23. Bốn tín hiệu được dùng trong giai đoạn EX, năm tín hiệu còn lại được lưu vào thanh ghi EX/MEM. Ba tín hiệu được dùng trong giai đoạn MEM, hai tín hiệu còn lại được lưu vào MEM/WB để sử dụng cho giai đoạn này.

Pipeline CPU là gì

Để điều khiển trong kỹ thuật ống dẫn, chúng ta thiết lập chín tín hiệu điều khiển này cho mỗi giai đoạn của mỗi lệnh, bằng cách mở rộng các thanh ghi ống dẫn để lưu giữ các tín hiệu điều khiển này. Các tín hiệu điều khiển này bắt đầu từ giai đoạn EX nên chúng ta có thể tạo ra các tín hiệu điều khiển này ở giai đoạn giải mã lệnh.

Hình 3.24 thể hiện đường dẫn đầy đủ với các thanh ghi ống dẫn và những tín hiệu điều khiển được kết nối tới các giai đoạn tương ứng.

Trong bài này giới thiệu tổng quan nguyên lý hoạt động của vi xử lý MIPS.

Trình bày cơ bản đường dẫn dữ liệu của ba loại lệnh: lệnh số học – luận lý, lệnh truyền dữ liệu và lệnh rẽ nhánh. Tổ chức hoạt động của bộ tính toán và luận lý (ALU) để thực hiện phép toán tùy thuộc vào từng loại lệnh . Dựa vào ba loại lệnh cơ bản, thiết lập các tín hiệu điều khiển của bộ điều khiển chính. Kỹ thuật ống dẫn là kỹ thuật mà nhiều lệnh được thực hiện theo dạng nạp chồng. Ưu điểm của kỹ thuật ống dẫn là thực thi lệnh nhanh hơn nhiều lần so với thực hiện lệnh theo tuần tự. Để điều khiển trong kỹ thuật ống dẫn, chúng ta sử dụng các thanh ghi ống dẫn.