Silde bài báo cáo tìm hiểu kiến trúc pentium 4.
Trang 1LỚP :
BỘ MÔN: KĨ THUẬT VI XỬ LÝ
GIÁO VIÊN:HOÀNG XUÂN DẬU
Trang 2)
Trang 3I.GIỚI THIỆU VỀ PETIUM 4
II.SƠ ĐỒ KHỐI,CẤU TRÚC,CHỨC NĂNG CỦA CÁC BỘ PHẬN
III.TẬP LỆNH.
V.KẾT LUẬN.
IV.CÔNG NGHỆ MỚI VÀ TÍNH NĂNG NỔI BẬT
Trang 4Pentium 4 là một dòng chíp đơn lõi được giới thiệu bởi Intel vào 20 tháng 11 năm
2000 Nó có một vi kiến trúc x86 thế hệ thứ 7 , được gọi là NetBurst, đó là thiết kế hoàn toàn mới đầu tiên của công ty kể từ khi giới thiệu vi kiến trúc
P6 CPU Pentium Pro vào năm 1995 NetBurst khác kiến trúc P6 (Pentium III , II , .) bởi tính năng hướng dẫn đường ống rất sâu để đạt được tốc độ xung nhịp rất cao Intel tuyên bố rằng NetBurst sẽ cho phép tốc độ đồng hồ lên đến 10 GHz, tuy nhiên, vấn đề nghiêm trọng với tản nhiệt (đặc biệt là với Prescott Pentium 4) hạn chế tốc độ đồng hồ CPU 3,8 GHz thấp hơn nhiều
Trang 5Công nghệ vi kiến trúc Netburst của intel được ứng dụng rộng rãi trong các dòng chip của Intel.Vi xử lý Pentium 4 dựa trên kiến trúc Netburst có thiết kế cải thiện hơn rất nhiều so với các bộ xử lý cũ(Pentium 2,Pentium 3 và Caleron sử dụng vi kiến trúc P6).
Đặc điểm đáng kể nhất của vi kiến trúc Netburst là được áp dụng một số công nghệ nổi bật như:
* Hyper Pipelined Technology(HPT):mở rộng số hàng lệnh xử lý.
* Execution Trace Cache(ETC):tránh tình trạng lệnh bị chậm chễ khi chuyển từ bộ nhớ đến CPU
* Rapid Execution Engine(REE):tăng tốc độ đồng xử lý toán học,bus hệ thống
Trang 6In-Order Front End
Out-Of-Order Execution Engine
Integer and Floating-Point Execution Units
Memmory Subsystem
Vi kiến trúc Netbust được tạo thành từ 4 phần chính:
Sơ đồ khối của vi kiến trúc Netburst
Trang 7b Out-Of-Order Execution Engine
Là nơi các lệnh chuẩn bị thực hiện khối logic Out-of-order có một số bộ đệm sắp xếp lại trật tự thực hiện các lệnh khi chúng được đưa vào ống lệnh và được lập lịch thực hiện.Khi 1 vi lệnh đang chờ được cấp phát tài nguyên hoặc dữ liệu ,các lệnh khác có thể chen vào thực thi miễn là các lệnh khác này không phụ thuộc vào lệnh đang chờ kia.
a In-Order Front End
Có nhiệm vụ nạp và giải mã lệnh.Nó có khả năng dự đoán rẽ nhánh chính xác cao nhờ lưu trữ lịch sử thực hiện chương trình và suy đoán nhánh mà chương trình thực hiện tiếp.
c Integer and Floating-Point Execution Units
Excution Units là nơi lệnh thực sự được thực hiện.Phần này bao gồm các register files lưu trữ các giá trị toán tử số nguyên và dấu phẩy động của các lệnh cần thực hiện.
d Memmory Subsystem
Bao gồm cache L2 và system bus.Lưu trữ các lệnh và dữ liệu mà Execution Trace Cache và cache dữ liệu L1 không thể lưu trữ được.Bus hệ thống bên ngoài (external) kết nối với mặt sau của cache L2,để truy nhập bộ nhớ chính khi Cache L2 bị miss và truy nhập thiết bị vào ra
Nhận xét: So với những thiết kế về sau như Core,K8 thì kiến trúc Netburst chạy kém và tiêu thụ nhiều điện năng hơn mặc dù những thiết kế
Netburst về sau đã được cải thiện đôi chú.
Trang 8Out-of-oder Eexcution Logic
Gồm 4 phần chính :
Front End
Integer and Floating-Point Execution Units
Memory Subsystem
Trang 9a Out-of-oder Eexcution Logic
Khối logic thực thi này có một số bộ đệm để sắp xếp lại trật tự thực hiện các lệnh khi chúng được đưa vào ống lệnh và được lập lịch thực hiện để có thể thực hiện chương trình nhanh hơn.
Một thành phần quan trọng của Out- Of – Order Excution Engine là scheduling functions Nó là trái tim của hệ thống out-of-order Pentium IV Mục đính của Scheduler là giữ cho mọi execution unit trong CPU luôn luôn làm việc
Trang 10b Front End
Trace cache
Trace Cache là cache chính hay cache lệnh level 1(L1) đảm nhiệm vận chuyển 3 vi
lệnh mỗi xung nhịp đồng hồ tới khối logic Out-Of-Order Execution.
Trace Cache có khả năng nắm giữ tới 12 vi lệnh
Trace Cache cũng có riêng 1 cơ chế dự đoán nhánh để chỉ dẫn vị trí tiếp
theo trong Trace Cache cho các lệnh đang được nạp.
Trang 11b Front End
Microcode ROM
Nằm ở gần vị trí Trace Cache là đơn vị Micocode Rom.Rom này được sử dụng cho các lệnh IA 32 phức tạp như là string move,xử lí lỗi và gián đoạn.Khi gặp phải một lệnh phức tạp,Trace Cache sẽ chuyển lệnh sang Microcode Rom ,Microcode Rom sẽ cung cấp các vi lệnh cần thiết có trong nó để hoàn thành hoạt động.Sau khi kết thúc,khối front end sẽ tiếp tục nạp các các vi lệnh từ Trace Cache.
ITLB and Front-End BTB
ITLB = Instruction Translation Look-aside Buffer Nó là một bảng có chứa thông tin về các trang trong bộ nhớ mà bộ xử lý đã truy cập gần đây.nó Dịch các địa chỉ lệnh tuyến tính để được các địa chỉ vật lý cần thiết để truy cập vào bộ nhớ cache L2.ITLB cũng thực hiên kiểm tra page-level protection Instruction TLB and front-end BTB sẽ chỉđạo các hoạt động của Fron End khi máy bị missTrace Cache.
BTB = Branch Target Buffer,nó lưu trữ lịch sử của các nhánh lệnh đã thực hiện trước đó và mục tiêu thực hiện của chúng để tiết kiệm thời gian tính toán cho
ra các mục tiêu này.
Trang 12b Front End
IA-32 Instruction Decoder.
The Istruction Decoder nhận các byte lệnh 32 bit từ Cache L2 64 bit,và giải mã chúng thành các vi lệnh mà máy có thể hiểu và thực hiện được.Một bộ giải mã đơn instruction decoder chỉ có thể giải mã được tối đa là 1 lệnh IA 32 trong 1 chu kì đồng hồ mà thôi.Một số lệnh IA 32,mỗi lệnh có thể chuyển đổi được thành 1 vi lệnh đơn,nhưng cũng có nhiều lệnh thì lại mỗi lệnh chuyển đổi được thành nhiều hơn 1 vi lệnh Trong trường hợp cần nhiều hơn 4 vi lệnh để hoàn thành giải mã 1 lệnh IA 32 thì lúc này bộ giải mã sẽ gửi tín hiệu vào trong microcode ROM để lấy các vi lệnh tương ứng.
Execution Unit
Execution Unit là nơi mà các lệnh thực sự được thực hiên.Nó được thiết kế ra để tối ưu hoá hiệu suất tổng thể bằng cách xử lí các trường hợp phổ biến nhất càng nhanh càng tốt.
Trang 13c Integer and Floating-Point Execution Units
L1 cache
Cache dữ liệu Level 1(L1) là một loại cache 8K-byte sử dụng cho cả các
lệnh load,store số nguyên ,dấu phẩy động/SSE.Nó được tổ chức thành 4
đường tập kết hợp với 64 byte cho mỗi dòng cache (cache line).Nó là cache
kiểu write-through,nghĩa là cái gì mà được ghi vào nó thì sẽ luôn luôn được
copy vào L2.Nó có thể thực hiện được 1 lênh load và 1 lệnh store trong mỗi
chu kì đồng hồ.
Trang 14d.Memory Subsystem
Vi xử lí Pentium 4 có một memory subsystem với khả năng nổi bật cho phép ứng dụng mới, các ứng dụng luồng định hướng bang thong cao như 3D, video, và content creation Memory subsystem bao gồm bộ nhớ cache mức 2 và bus hệ thống Cache level 2 lưu trữ các dữ liệu không lưu trữ được trong cache L1 Bus hệ thống ngoài được sử dụng để truy cập main memory khi xảy ra miss ở cache mức 2 hay cũng để truy cập hệ thống thiết bị I/O.
Bus hệ thống
Bộ vi xử lí Pentium IV có bus hệ thống với băng thông 3,2 Gbytes mỗi giây.Băng thông cao là một tạo khả năng quan trọng cho các ứng dụng dòng dữ liệu từ bộ nhớ.Băng thông này đạt được như vậy là nhờ một bus rộng 64 bit có khả năng truyền dữ liệu với tốc độ 400MHz.
Trang 15d.Memory Subsystem
Cache mức 2 hay còn gọi là Advanced Transfer Cache
Bộ nhớ cache mức 2 là bộ nhớ cache 256K-byte mà giữ cả các lệnh bị
miss trong Trace Cache và dữ liệu bị miss trong cache dữ liệu mức 1.
Nó tổ chức như một bộ 8 đường liên kết với 128 bytes trên một dòng
cache Những đường cache 128-byte bao gồm 2 phần 64-byte sectors.
Trang 16 Có 9 nhóm lệnh cơ bản :
Có 9 nhóm lệnh cơ bản :
Trang 17 SSE instructions
Là mở rộng của kiến trúc đơn dòng lệnh đa dữ liệu(SIMD) với công nghệ MMX, SSE chỉ có thể thực thi trên các VXL Intel 64 và IA-32 mà hỗ trợ các mở rộng SSE Thêm 70 lệnh mới giúp cải thiện hình ảnh, âm thanh và video 3D, tiếng nói, và các chức năng Internet.
Streaming SIMD Extension 2 (SSE2) Instructions
SSE2 có 144 lệnh mới Các lệnh này bao gồm các tác vụ số Nguyên SIMD 128-bit và các tác vụ dấu chấm động với độ chính xác kép SIMD 128-bit
SSE3 instructions
Được phát triển từ thành công của công nghệ MMX
SSE3 với 13 lệnh mới sẽ mở rộng các khả năng của SSE2, cải thiện hoạt động của công nghệ siêu phân luồng HT cho hiệu quả hơn, tăng cường các chức năng multimedia và Internet cho hệ thống.
Trang 18Hyper threading là công nghệ cho phép một CPU vật lý hoạt động trên hệ điều hành như là hai CPU logic hoạt động song song Dựa trên nguyên tắc vào một thời điểm của một tiến trình chỉ có một phần tài nguyên của CPU được sử dụng để
thực thi lệnh, phần chưa được sử dụng thì được dùng để thực thi các tiến trình khác.
Trang 19 Là bộ nhớ đệm cấp 1 (Level 1 Execution Trace Cache) Bên cạnh 8KB
bộ nhớ đệm dùng để chứa dữ liệu (data cache), Pentium 4 có khả năng lưu trữ đến 12K vi lệnh đã được giải mã (decoded ops) nhằm giúp tăng
micro-cường tốc độ thực thi lệnh của CPU.
Trang 20 Nhân hỗ trợ Out-of-Order Execution có thể sắp xếp lại các vi lệnh, cho phép lệnh
(cùng với đầu vào và các tài nguyên hệ thống cần thiết) để thực thi ngay khi có thể và
tránh lãng phí thời gian Khi một vi lệnh đang chờ được cấp phát tài nguyên hoặc dữ
liệu, các lệnh khác (thường là trong buffer) có thể chen vào thực thi Nhờ thực thi các
lệnh song song, những khoảng trễ của pipeline bị loại bỏ Nhân có thể thực thi nhiều
lệnh trong mỗi giai đoạn của pipeline.
Trang 21 Điều này được thực hiện nhờ trên 2 đơn vị luân lý số học(Arithmetic Logical Unit LU) được thiết kế bên trong Pentium 4.Nó cho phép Pentium 4 thực hiện các lệnh số học(cộng,trừ,nhân,chia…) và luận lý(And,Not…) với tần số gấp 2 lần tần số xử lý cơ bản của bộ vi xử lý.
Trong Pentium 4,có 2 ALU(Arithmetic Logic Unit) và 2 AGU(Address Generation Unit) chạy với mức xung gấp đôi xung clock.Rapid Execution Engine được giới thiệu là làm giảm độ trễ của việc thực hiện các phép toán đơn giản.
Trang 22 Kiến trúc NetBurst có thể nhớ được các nhánh trong chương trình chạy, giúp làm
giảm độ trễ trong quá trình nhảy và nạp đầy ống lệnh, Các nhánh được lưu giữ trên
cơ sở địa chỉ lệnh bên trong Branch Target Buffer (BTB) Bộ vi xử lý có thể dự đoán
được các nhánh sắp tới trước cả khi lệnh rẽ nhánh được thực hiện.
Trang 23FBS của Petium 4 có thể truyền bốn lần dữ liệu trong một
xung clok.Công nghệ này là Quad Pumped hay còn gọi là
Quad Data Rate (QDR).QDR khiến cho xung nhịp hiệu dụng
tăng lên gấp 4 lần so với xung thực.
Real Clock Performance Transfer Rate
100 MHz 400 MHz 3.2GB/s
133 MHz 533 MHz 4.2GB/s
200 MHz 800 MHz 6.4GB/s
266 MHz 1, 066 MHz 8.5GB/s
Trang 24 Bộ xử lý Pentium 4 mở rộng các thanh ghi dấu chấm động (floatingpoint register)
lên tới 128 bit và tạo thêm một thanh ghi mở rộng nhằm phục vụ việc di chuyển dữ
liệu Do vậy, khả năng xử lý các ứng dụng dấu chấm động (tính toán kết cấu, số
liệu tài chính, số liệu khoa học…) và truyền thông đa phương tiện (dựng và xử lý
phim video, xử lý hình ảnh đồ họa…) được tăng cường rất nhiều.
Trang 25 Là tập lệnh hỗ trợ đồ họa mở rộng được thiết kế cho Pentium 4 Vi kiến trúc
Netburst(Netburst™ Microarchitecture) mở rộng khả năng xử lý theo kiểu cấu trúc SIMD của
các công nghệ Intel® MMX™ và SSE bằng cách thêm vào 144 lệnh mới
Trang 26 Là công nghệ mới được giới thiệu trong Vi kiến trúc Netburst™ của Intel
Nó tăng gấp đôi "độ sâu" của "ống" xử lý lệnh của CPU khi so sánh với mô hình Vi kiến
Trúc P6 được sử dụng ở các thế hệ CPU Pentium III.
Trang 27 Là bộ nhớ ngoại cấp 2 (L2 Cache) được thiết kế bên trong Pentium 4 ATC có hai
loại: 512 KB L2 ATC với các tốc độ CPU 2.8Ghz 2.53Ghz 2.40Ghz 2.40(B)Ghz
-2.26Ghz - 2.20Ghz - 2.0(A)Ghz và 1.6(A)Ghz; 256 KB L2 ATC với các tốc độ từ
1.2Ghz - 2.0Ghz ATC cung cấp kênh truyền có thông lượng rất cao (high data
throughput channel) với "nhân CPU" (CPU core) ATC bao gồm một giao diện 256 –bit
(32 byte) để truyền dữ liệu trên mỗi đồng hồ nhân (core clock) Điều này cho phép
ATC (L2 Cache) hỗ trợ tốc độ cao gấp 4 lần tốc độ truyền dữ liệu của L2 Cache sử
dụng trong các CPU Pent ium III.
Trang 28 Là công nghệ đặc biệt của Intel được áp dụng cho các sản phẩm vi xử lý của họ, là công nghệ tiết kiệm điện và giảm nhiệt, tăng thời gian sống của pin của Intel EIST sẽ giúp các vi xử lý chạy với tốc độ phù hợp nhất trong các thời điểm khác nhau tuỳ theo trạng thái các ứng dụng đang chạy
Trang 29 Một công nghệ của hãng Intel, viết tắt của cụm từ Multi Media Extensions
Là một tập hợp mở rộng gồm 57 lệnh hỗ trợ đồ họa được xây dựng dành riêng cho CPU Intel Pentium nhằm mục đích giúp hệ thống xử lý các tác vụ đa
phương tiện (multimedia operation) như âm thanh, phim, hình ảnh và modem (truyền nhận dữ liệu)
Tập lệnh MMX cho phép các tác vụ được thực hiện đồng thời trên nhiều đơn vị dữ liệu khác nhau
Trang 30 Nó đặt ra một tập mới của tối ưu hóa mã quy tắc.
Tiêu thụ điện năng và sinh ra nhiệt nhiều hơn.
Tuy nhiên, trong các ứng dụng kế thừa với nhiều phân nhánh hoặc x87 floating-point hướng dẫn, Pentium 4 sẽ chỉ phù hợp hoặc thậm chí bị rơi phía sau người tiền nhiệm của nó.