Các vi xử lý Pentium M Là VXL được thiết kế cho các máy tính xách tay: tiêu thụ điện năng thấp, hiệu năng cao Các tính năng tiên tiến của Advanced Branch Prediction and Data P
Trang 1BÀI GIẢNG MÔN
KỸ THUẬT VI XỬ LÝ
Điện thoại/E-mail: dauhx@ptit.edu.vn
CHƯƠNG 6 – CÁC VI XỬ LÝ VÀ
CÔNG NGHỆ TIÊN TIẾN
Trang 2NỘI DUNG
A Giới thiệu các VXL dựa trên kiến trúc IA-32 và Intel 64
1 Các vi xử lý x86 (8086, 80286, 80386, 80486)
2 Các vi xử lý dòng Intel Pentium (Pen I, II, III, M và IV)
3 Các vi xử lý dòng Xeon, Core và Atom
B Các kiến trúc & công nghệ VXL tiên tiến
4 Vi kiến trúc P6
5 Mô tơ thực thi không theo trật tự (Out of Order Execution)
6 Vi kiến trúc Intel NetBurst
7 Vi kiến trúc Intel Core
8 Vi kiến trúc Intel Atom
Trang 31 Các vi xử lý x86 - 8086
8086 là VXL đầu tiên của kiến
trúc IA-32
Thanh ghi 16 bits
Bus: data bus 16-bit; address
bus 20-bit
Không gian bộ nhớ max: 1MB
Bộ nhớ được phân đoạn
(segmentation): mỗi đoạn có
kích thước 64KB
Địa chỉ logic ô nhớ:
Segment : Offset Địa chỉ đoạn : địa chỉ lệch
Trang 51 Các vi xử lý x86 - 80386
Là VXL 32-bit đầu tiên của dòng kiến trúc
IA-32
Sử dụng các thanh ghi 32 bits
Data bus 32-bit, address bus 32-bit
Không gian bộ nhớ max: 4GB
Tương thích tốt với các VXL 8086 và 286
Hỗ trợ thực hiện lệnh song song
Hỗ trợ các phương thức quản lý bộ nhớ:
Phân đoạn (Segment Memory Model)
Phân trang (Page Memory Model)
Tuyến tính (Flat Memory Model)
Trang 61 Các vi xử lý x86 - 80486
Hỗ trợ thực hiện lệnh song song
tốt hơn 386
Việc thực hiện lệnh được chia
thành 5 giai đoạn: 5 lệnh chạy
song song trong pipeline
Tích hợp cache L1 8KB
Tích hợp đồng xử lý số thực 487
Tích hợp khả năng quản lý nguồn
và quản lý hệ thống
Trang 7 Đường dữ liệu trong 128 và 256 bits
Bus dữ liệu ngoài có thể tăng lên 64
bits
Hỗ trợ công nghệ MMX (sử dụng
SIMD)
Trang 10mới hỗ trợ công nghệ siêu
phân luồng
Trang 112 Các vi xử lý Pentium M
Là VXL được thiết kế cho các
máy tính xách tay: tiêu thụ điện
năng thấp, hiệu năng cao
Các tính năng tiên tiến của
Advanced Branch Prediction
and Data Prefetch Logic
Hỗ trợ các tập lệnh MMX,
SSE và SSE2
Công nghệ quản lý nguồn tiên
tiến Intel Speedstep
Trang 123 Các vi xử lý dòng Xeon
Được thiết kế riêng cho các máy
chủ nhiều CPU có hiệu năng cao
Các VXL Intel Xeon dựa trên vi
kiến trúc Intel P6, NetBurst và
Core
Dòng Intel Xeon MP hỗ trợ công
nghệ siêu phân luồng
(hyper-threading)
Dòng Intel Xeon 5100 dựa trên vi
kiến trúc Core và Intel 64 tiết kiệm
năng lượng và cho hiệu năng cao
Đồng thời nó cũng hỗ trợ công
nghệ ảo hoá (Virtualization
Technology)
Trang 133 Các vi xử lý dòng Core Duo & Core Solo
Dựa trên vi kiến trúc Core Core
Solo đơn nhân có nhiều cải tiến
so với Pentium M
Các tính năng tiên tiến:
Smart Cache cho phép chia sẻ
dữ liệu giữa 2 nhân
Cải tiến pha giải mã và thực
hiện các lệnh SIMD
Các công nghệ giảm tiêu hao
điện: Dynamic Power Coordination và Enhanced Intel Deeper Sleep
Intel Advanced Thermal
Manager sử dụng các sensor
số
Trang 14tiêu thụ ít năng lượng
Các đặc điểm tiên tiến:
Enhanced SpeedStep
Technology
Deep Power Down
Technology with Dynamic Cache Sizing
Intel Virutalization Technology
Intel 64 architechure
Trang 154 Vi kiến trúc P6
Trang 164 Vi kiến trúc P6
Vi kiến trúc P6 đầu tiên được sử dụng trong Pentium Pro (sau Pen I) Sau đó kiến trúc này được tích hợp thêm
cache L2 (còn gọi là Advanced Transfer Cache)
Vi kiến trúc P6 hỗ trợ ống lệnh siêu vô hướng có khả
năng thực hiện trung bình 3 lệnh/CK đồng hồ
Ống lệnh của P6 gồm 12 giai đoạn có hỗ trợ thực hiện
lệnh không theo trật tự (out-of-order execution)
Trang 174 Vi kiến trúc P6
Hạt nhân của vi kiến trúc P6 là cơ chế thực hiện lệnh
không theo trật tự (out-of-order execution) hay còn gọi là thực thi động (dynamic execution)
Cơ chế thực thi động gồm 3 phần:
1 Deep Branch Prediction: cho phép VXL giải mã các lệnh
bên ngoài các lệnh rẽ nhánh giúp cho ống lệnh luôn được điền đầy P6 được tích hợp các thuật toán dự đoán rẽ
nhánh được tối ưu hoá ở mức cao để dự đoán hướng thực hiện của lệnh;
2 Dynamic data flow analysis: yêu cầu phân tích luồng dữ
liệu chuyển qua VXL theo thời gian thực để xác định các phụ thuộc và khả năng thực hiện các lệnh không theo trật tự;
Trang 184 Vi kiến trúc P6
Cơ chế thực thi động gồm 3 phần:
3 Speculative execution:
• VXL có khả năng thực hiện các lệnh bên ngoài một lệnh rẽ nhánh
có điều kiện chưa được thực hiện xong;
• Sau đó hệ thống sẽ lưu kết quả của lệnh theo trật tự ban đầu của các lệnh
• P6 thực hiện Speculative execution bằng cách:
– Tách việc thực hiện lệnh khỏi việc xử lý kết quả – Sử dụng kết quả phân tích luồng dữ liệu để thực hiện tất cả các lệnh sắn có và lưu kết quả vào các thanh ghi tạm thời
– Khối Retirement Unit sẽ tìm các lệnh đã thực hiện xong và không còn phụ thuộc dữ liệu cũng như liên quan đến các lệnh rẽ nhánh chưa hoàn thất để xử lý và lưu kết quả ra bộ nhớ theo trật tự ban đầu của
nó
Trang 195 Mô tơ thực thi không theo trật tự
Trang 206 Vi kiến trúc Intel NetBurst
Trang 216 Vi kiến trúc Intel NetBurst
The Rapid Execution Engine
Các ALU chạy với tốc độ gấp đôi tần số của CPU
Các lệnh cơ sở với số nguyên có thể được thực hiện trong ½ CK đồng hồ
Hyper-Pipelined Technology
Ống lệnh dài cho phép CPU hoạt động với xung nhịp rất cao
Có khả năng mở rộng tốt trong tương lai
Advanced Dynamic Execution
Deep, out-of-order, speculative execution engine
• Tối đa 126 lệnh được xử lý đồng thời
• Tối đa nạp đồng thời 48 lệnh, lưu được 24 lệnh
Khả năng dự đoán rẽ nhánh được cải tiến
• Giảm được penalty khi đoán sai - điều thường gặp với các ống lệnh dài (nhiều giai đoạn)
• Sử dụng thuật toán dự đoán rẽ nhánh tiên tiến
• Mảng lưu các đích rẽ nhánh chứa được 4K phần tử
Trang 226 Vi kiến trúc Intel NetBurst
Hệ thống cache mới
Cache L1 (64 bytes/line)
• Advanced Execution Trace Cache lưu các lệnh đã giải mã
• Execution Trace Cache triệt tiêu trễ giải mã trong vòng lặp thực hiện lệnh
Trang 236 Vi kiến trúc Intel NetBurst
Kiến trúc siêu vô hướng tăng tốc xử lý song song tốt hơn
Mở rộng tập thanh ghi phần cứng sử dụng với kỹ thuật đổi tên thanh ghi giảm các hạn chế với không gian tên của thanh ghi
NetBurst Out-Of-Order Execution Core
Cung cấp khả năng thực hiện các lệnh không theo trật tự nâng cao khả năng xử lý song song
Các lệnh có thể được sắp xếp lại sao cho nếu một vi thao tác
bị trễ thì các vi thao tác khác sẽ được thay thế thực hiện
CPU sử dụng một số bộ đệm để lưu luồng các vi thao tác
Có khả năng tiếp nhận để thực hiện đồng thời đến 6 vi thao
Trang 246 Vi kiến trúc Intel NetBurst
Trang 257 Vi kiến trúc Intel Core
Trang 267 Vi kiến trúc Intel Core
Intel Wide Dynamic Execution
Ống lệnh 14 giai đoạn
3 ALU
4 bộ giải mã có khả năng giải mã đến 5 lệnh/1 CK đồng hồ
Macro-fusion và micro-fusion nhằm cải thiện thông lượng
Có khả năng tiếp nhận thực thi đến 6 vi thao tác/1 CK đồng
Trang 277 Vi kiến trúc Intel Core
Intel Advanced Smart Cache
Cache L2 có dung lượng đến 4MB với 16 đường kết hợp
Tối ưu hoá truy nhập cho nhiều nhân và các môi trường thực thi đơn luồng
Sử dụng bus 256 bit cho trao đổi dữ liệu giữa cache L2 và L1
Smart Memory Access
Sử dụng các kỹ thuật đọc trước từ bộ nhớ để giảm miss cho cache khi lệnh được thực thi không theo trật tự:
• Đọc trước sử dụng phần cứng để giảm trễ trong trường hợp gặp miss ở cache L2
• Đọc trước sử dụng phần cứng để giảm trễ trong trường hợp gặp miss ở cache L1
• Sử dụng kỹ thuật Memory disambiguation cho phép nâng cao hiệu quả của mô tơ thực thi speculative execution
Trang 287 Vi kiến trúc Intel Core
Advanced Digital Media Boost
Có khả năng thực hiện các lệnh hầu hết các lệnh SIMD 128 bits trong 1 CK đồng hồ
Có khả năng thực hiện đến 8 thao tác dấu phảy động trong 1
CK đồng hồ
Cung cấp 3 cổng tiếp nhận các lệnh SIMD để thực hiện
Trang 297 Vi kiến trúc Intel Core
lý nhiều dạng rẽ nhánh và nâng cáo hiệu quả dự đoán
Thuật toán dự đoán rẽ nhánh hướng dẫn đơn vị đọc lệnh đọc các lệnh có khả năng được thực hiện cao để giải mã
Trang 307 Vi kiến trúc Intel Core
The Execution Core:
Có khả năng tiếp nhận & thực thi đến 6 vi thao tác trong 1
Trang 318 Vi kiến trúc Atom
Trang 328 Vi kiến trúc Atom
Vi kiến trúc Atom được tối ưu hoá cho hiệu năng và tiết kiệm điện năng cho các hệ thống đơn và đa luồng sử dụng các kỹ thuật:
Advanced Micro-Ops Execution
Intel Smart Cache
Efficient Memory Access
Intel Digital Media Boost
Intel Virtual Technology
Atom được sử dụng phổ biến trong các thiết bị “siêu di
động” như netbook
Trang 339 Tập lệnh SIMD
SIMD – Single Instruction Multiple Data bắt đầu được sử
dụng trong các CPU kể từ Pentium II và Pentium II MMX
phục vụ các ứng dụng đồ hoạ
SIMD có nhiều mở rộng: MMX, SSE (Streaming SIMD
Extensions), SSE2, SSE3, SSSE3 (Supplemental SSE3) và SSE4
Các lệnh SIMD với số nguyên sử dụng các thanh ghi 64-bit MMX hoặc 128-bit XMM
Các lệnh SIMD với số thực sử dụng các thanh ghi 128-bit XMM
Trang 34 SSE2 mở rộng khả năng của SSE - hỗ trợ các lệnh số
nguyên với các thanh ghi XMM 128 bits
SSE3, SSE4 cung cấp các lệnh xử lý hiệu quả các số thực dấu phảy động
Trang 3510 Công nghệ Hyper-Threading
Hyper-Threading Technology (HT Technology ) được phát triển để cải thiện hiệu năng cho các VXL dựa trên kiến trúc IA-32 khi sử dụng với:
Các HĐH đa luồng (multi-threaded)
Các ứng dụng đơn luồng chạy trong môi trường đa nhiệm
HT Technology cho phép một CPU vật lý hai hay nhiều
luồng mã lệnh đồng thời sử dụng các tài nguyên chia sẻ
Mỗi luồng có thể coi như 1 CPU logic với đầy đủ tập các
thanh ghi của nó: thanh ghi dữ liệu, đoạn, điều khiển và
debug
Trang 3610 Công nghệ Hyper-Threading
Trang 3711 Kiến trúc Intel 64
Không gian địa chỉ:
64 bits không gian địa chỉ tuyến tính cho phần mềm
40 bits không gian địa chỉ vật lý
Trang 3812 Công nghệ ảo hoá
Công nghệ ảo hoá (Virtualization Technology):
Là sự kết hợp của các công nghệ phần cứng và phần mềm để tạo ra các máy ảo (Virtual Machines (VMs));
Cho phép trừu tượng hoá phần cứng để một máy tính có thể hoạt động giống như có nhiều máy tính
Ưu điểm của công nghệ ảo hoá:
Giảm số máy vật lý, nhưng vẫn đảm bảo số nền tảng đa dạng theo yêu cầu;
Tiết kiệm không gian vật lý, điện năng và các tiện ích phục vụ khác;
Hữu ích trong việc phát triển và kiểm thử phần mềm – cần nhiều môi trường để test;
Hỗ trợ việc cân bằng tải động và khôi phục sau sự cố;
Tạo nhiều desktops ảo trên một máy vật lý
Trang 3912 Công nghệ ảo hoá
Trang 4012 Công nghệ ảo hoá
Virtual Machine Monitor (VMM)
VMM là thành phần trung tâm của công nghệ ảo hoá
Điểm khó khăn nhất trong thiết kế VMM là vấn đề điểu khiển
sử dụng tài nguyên vật lý một cách hiệu quả:
• Vấn đề ánh xạ bộ nhớ
• Vấn đề ánh xạ các thiết bị vào ra
Hỗ trợ ảo hoá của Intel CPU giúp cho:
Giảm tải cho các thao tác của VMM
Tăng tốc và năng lực của VMM
Giảm độ phức tạp khi phát triển VMM
Trang 4112 Công nghệ ảo hoá - VMWare