Như là một cách tiếp cận đơn giản, hãy xem xét hướng dẫn chế biến thành hai phân chiagiai đoạn: lấy hướng dẫn và thực hiện các hướng dẫn. Có những lần trong quá trình thực hiệnmột giảng dạy khi bộ nhớ chính đang không được truy cập.Thời gian này có thểđược sử dụng để lấy chỉ dẫn tiếp theo song song với việc thực hiện của một trong hiện tại.Hình 12.9a mô tả cách tiếp cận này. Đường ống có hai giai đoạn độc lập. Cácgiai đoạn đầu tiên fetches một hướng dẫn và bộ đệm đó. Khi giai đoạn thứ hai là miễn phí, lần đầu tiêngiai đoạn đi nó chỉ dẫn buffered. Trong khi giai đoạn thứ hai thực hiện các hướng dẫn,giai đoạn đầu tiên mất lợi thế của bất kỳ chu kỳ không sử dụng bộ nhớ để lấy vàđệm các chỉ dẫn tiếp theo. Điều này được gọi là chỉ dẫn prefetch hoặc lấy chồng chéo lên nhau. Lưu ýrằng cách tiếp cận này, liên quan đến việc giảng dạy đệm, đòi hỏi phải đăng ký thêm. Ởnói chung, pipelining đòi hỏi phải đăng ký để lưu trữ dữ liệu giữa các giai đoạn.Nó nên được rõ ràng rằng quá trình này sẽ tăng tốc độ hướng dẫn thực hiện. Nếu cáctải và thực hiện các giai đoạn của thời gian bằng nhau, hướng dẫn chu kỳ thời gian nàogiảm đi một nửa. Tuy nhiên, nếu chúng ta nhìn chặt chẽ hơn đường ống này (hình 12.9b), chúng ta sẽ thấyrằng này tăng gấp đôi tốc độ thực thi là khó vì hai lý do:1. thời gian thực hiện nói chung sẽ dài hơn thời gian lấy. Thực thi sẽliên quan đến đọc và lưu trữ operands và hiệu suất của một số hoạt động.Vì vậy, giai đoạn tìm nạp có thể phải chờ một thời gian trước khi nó có thể rỗng của nóbộ đệm.2. hướng dẫn chi nhánh có điều kiện làm cho địa chỉ của hướng dẫn tiếp theođược tải về chưa biết. Vì vậy, giai đoạn lấy phải đợi cho đến khi nó nhận được tiếp theohướng dẫn các địa chỉ từ giai đoạn thực hiện. Giai đoạn thi công sau đó có thểphải chờ đợi trong khi các hướng dẫn tiếp theo được lấy.
đang được dịch, vui lòng đợi..
