Thực hành suy đoán và kiến trúc tuyến độc lập đôi

Khi sử dụng máy tính, ngoài các chức năng hữu ích cho nhu cầu sử dụng của chúng ta thì những công nghệ quản lý hệ thống cũng mang một vai trò không kém phần quan trọng. Và hôm nay chúng ta hãy đi qua 2 trong số các công nghệ đó nhé!

Thực hành suy đoán

Thực hành suy đoán (Speculative execution) là khả năng của bộ xử lý thực thi những tập lệnh trước bộ đếm chương trình thực sự. Bộ phận gửi đi/thực thi của bộ xử lý dùng phân tích dữ liệu để thực hiện các tập lệnh trong hồ tập lệnh và lưu trữ kết quả trong những thanh tạm thời (registers). Kế tiếp một bộ phận lưu tìm trong hồ tập lệnh những tập lệnh hoàn tất mà không còn dữ liệu phụ thuộc vào những tập lệnh khác nữa để chạy hay không giải quyết lại dự đoán nhánh. Nếu bất kỳ tập lệnh hoàn tất nào được tìm thấy, kết quả được đưa vào bộ nhớ bới bộ phận lưu này hay kiến trúc Intel chuẩn thích hợp trong thứ tự mà chúng được xuất phát. Cuối cùng chúng được lui về hồ tập lệnh.

Thực thi động cơ bản chuyển dời sự ràng buộc và sự phụ thuộc trên sự sắp xếp tập lệnh tuyến. Do tăng cấp thực thi tập lệnh ngoài trình tự, những bộ tập lệnh được duy trì hoạt động hơn là chờ đợi dữ liệu từ bộ nhớ. Mặc dầu những tập lệnh có thể đoán trước và thực thi ngoài trình tự, những kết quả được xác nhận trong lệnh gốc nên không thể phá vỡ hay thay đổi dòng chương trình. Điều này cho phép bộ xử lý P6 chạy trên phần mềm kiến trúc Intel chính xác như bộ xử lý P5 và các bộ xử lý trước đã thực hiện như một tổng thể khá nhanh!

thực hành suy đoán và kiến trúc độc lập đôi

Kiến trúc tuyến độc lập đôi

Kiến trúc tuyến độc lập đôi (DIB: Dual Independent Bus) được thực thi đầu tiên ở các bộ xử lý thế hệ thứ sáu của Intel và AMD. DIB được chế tạo để phát triển dung lượng và tốc độ bus xử lý. Với hai bus I/O dữ liệu độc lập cho phép bộ xử ìý truy cập dữ liệu từ các bus của nó đồng thời và song hành, hơn là trong cách tuần tự từng cái (như trong hệ thống bus đơn). Bus bộ xử lý chính (thường được gọi là front-side) là giao diện giữa bộ xử lý và bo mạch chủ hay chipset. Bus thứ hai (gọi là back-side) trong bộ xử lý với DIB được dùng cho bộ nhớ đệm L2, cho phép nó chạy ở tốc độ lớn hơn rất nhiều hơn nếu nó chia sẻ bus bộ xử lý chính.

Hai bus tạo nên kiến trúc DIB: Bus bộ nhớ đệm L2 và bus CPU chính thường được gọi FSB (front-side bus). Những bộ xử lý lớp P6, từ Pentium Pro đến Core 2, cũng như Athlon 64 có thể sử dụng hai bus đồng thời, hạn chế được tình trạng nghẽn cổ chai. Kiển trúc hai bus cho phép bộ nhớ đệm L2 chạy tốc độ tối đa trong nhân bộ xử lý trên bus độc lập, còn bus CPU chính (FSB) quản lý dữ liệu bình thường vào ra con chip. Hai bus này có tốc độ khác nhau. FSB có tốc độ gắn với tốc độ bo mạch chủ, còn bus phía sau (back-side) hay bộ nhớ đệm L2 có tốc độ gắn với tốc độ nhân bộ xử lý. Ngay khi tần số bộ xử lý tăng thì tốc độ của bộ nhớ đệm L2 cũng tăng.

Chìa khóa để thực thi DIB là chuyển dịch bộ nhớ bộ nhớ đệm L2 ra khỏi bo mạch chủ và chuyển vào gói bộ xử lý. Bộ nhớ đệm L1 là phần trực tiếp của khuôn bộ xử lý, còn bộ nhớ đệm L2 rộng hơn và cơ bản là ở ngoài. Bằng cách chuyển bộ nhớ đệm L2 vào bộ xử lý, bộ nhớ đệm L2 có tốc độ khá giống như bộ nhớ đệm L1, nhanh hơn bo mạch chủ hay bus bộ xử lý.

DIB cho phép bus hệ thống thực hiện nhiều giao dịch đồng thời (thay vì giao dịch tuần tự từng cái), tăng tốc dòng thông tin trong hệ thống và tăng tốc độ. Tổng quan, cấu trúc DIB cho gấp ba lần tốc độ băng thông vượt qua bộ xử lý cấu trúc bus đơn.