1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận đề tài tìm hiểu kiến trúc vi xử lý pentium m

38 1,1K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Kiến Trúc Vi Xử Lý Pentium M
Tác giả Nguyễn Thị Hiền, Ngô Ngọc Hà, Nguyễn Ngọc Hà, Phan Văn Hải, Trần Bá Hoàng, Trịnh Văn Hiếu, Đào Quang Hợp, Đỗ Vũ
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tiểu luận
Định dạng
Số trang 38
Dung lượng 743,74 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các vi xử lý hiện đại có thể bao gồm xử lý dấu phảy động vớicác phép toán yêu cầu độ chính xác cao - Một vi xử lý có thể chuyển dữ liệu từ một vị trí trong bộ nhớ tới một vịtrí khác - Mộ

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

LỚP : D09CN4 NHÓM 4

Trang 2

M c l c ục lục ục lục

I,GIỚI THIỆU: 3

1, Giới thiệu chung 3

1.1, Vi xử lý là gì? 3

1.2, Các thành phần cơ bản : 3

2, Giới thiệu về vi xử lý Intel Pentium M(PM) 5

2.1, Xuất sứ 5

2.2, Ứng dụng 6

2.3, Các thông số chính 7

2.4, Các dòng vi xử lý PM : 9

II, KIẾN TRÚC CỦA VI XỬ LÝ INTEL PENTIUM M 11

1 Sơ đồ khối : 13

2, Các thành phần chính và cách hoạt động của chúng 14

2.1, Pipeline trong Pentium M 14

2.2, Bộ nhớ cache và đơn vị tìm nạp 18

2.3, Instruction Decoder và Register Renaming 19

2.4, Bộ đệm xắp xếp 20

2.5, Reservation station và đơn vị thực thi 21

2.6, Đơn vị tính toán và số học ALU 23

2.7, Đơn vị xử lý dấu phảy động FPU(Floating Point Unit) 23

2.8, Cache L1 23

2.9, Giao diện bus 24

2 Kiến trúc tập lệnh 25

2.1, MMX(MultiMedia eXtentions, Multiple Math eXtension, orMatrix Math eXtension): 25 2.2, SSE (Single SIMD Extentions): 26

2.3, SSE2: 27

3,Cơ chế dự đoán rẽ nhánh trong PM 29

3.1, Mispredition penalty: 29

3.2, Mô hình nhận biết điều kiện nhảy 29

3.3, Nhận biết lệnh nhảy và lời gọi gián tiếp: 29

III, CÁC ĐẶC TÍNH VÀ CÔNG NGHỆ MỚI 30

1, Các đặc trưng chủ yếu của Intel Pentium M” 30

2, Công nghệ SpeedStep nâng cao(Enhanced SpeedStep Technology) 33

III, KẾT LUẬN 35

1 So sánh đánh giá 35

2

Trang 3

Vi xử lý là trái tim của bất kỳ một máy tính thông thường nào Bất kể làmáy bàn, laptop hay server, vi xử lý bạn đang sử dụng là loại gì thì chúng cũnggần giống nhau và làm việc theo cách gần như nhau

Một vi xử lý thi hành một loạt các lệnh máy báo cho đơn vị xử lý biếtphải làm gì Dựa trên các lệnh, một vi xử lý làm được 3 việc cơ bản sau:

- Sử dụng ALU, một vi xử lý có thể làm các phép toán như cộng, trừ,nhân, chia Các vi xử lý hiện đại có thể bao gồm xử lý dấu phảy động vớicác phép toán yêu cầu độ chính xác cao

- Một vi xử lý có thể chuyển dữ liệu từ một vị trí trong bộ nhớ tới một vịtrí khác

- Một vi xử lý có thể tạo các quyết định và nhảy tới một tập lệnh mới

1.2, Các thành phần cơ bản :

Các thành phần cơ bản của vi xử lý nói chung :

- Một bus địa chỉ gửi địa chỉ tới bộ nhớ

- Một bus dữ liệu gửi hoặc nhận dữ liệu từ bộ nhớ

- Một đường RD(đọc) và WR(ghi) để vi xử lý thông báo cho cho bộ nhớbiết nó đang gần đặt hay lấy giá trị của vùng được đánh dấu địa chỉ

3

Trang 4

- Một đường clock cho các xung clock của bộ xử lý

- Một đường reset bộ đếm chương trình về 0 khi bắt đầu thực hiện mộtlệnh

- Thanh ghi A,B,C là các chốt đơn giản được tạo từ các mạch lật

- Chốt địa chỉ(address latch) cũng giống các thanh ghi A,B,C

Hình 1.2.1-a : Các thành phần cơ bản của vi xử lý

- Bộ đếm chương trình là các mạch lật với khả năng tăng thêm 1 và trở về

0 khi được yêu cầu

- ALU có thể coi đơn giản như là một bộ cộng 8 bit, hoặc có thể cộng, trừ,nhân, chia

- Thanh ghi thử là một chốt đặc biệt để giữ các giá trị từ phép so sánhtrong ALU Một ALU có thể so sánh hai số và quyết định xem chúngbằng nhau, nhỏ hơn hay lớn hơn số còn lại Thanh ghi này còn để lưu bit

từ trạng thái của bộ cộng trước đó

- 3-state trong sơ đồ tren là bộ đệm tri-state(3 trạng thái) cho phép nhiềuđầu ra kết nối với một dây dẫn nhưng chỉ có một trong số chúng được

đi vào dòng 0 hoặc 1

- Thanh ghi lệnh và bộ giải mã lệnh chịu trách nhiệm trong việc điềukhiển tất cả các thành phần khác

4

Trang 5

2, Gi i thi u v vi x lý Intel Pentium M(PM) ới thiệu về vi xử lý Intel Pentium M(PM) ệu về vi xử lý Intel Pentium M(PM) ề vi xử lý Intel Pentium M(PM) ử lý Intel Pentium M(PM)

lý Pentium Pro vào năm 1995, nó đã từng thành công với vi kiến trúc NestBurst

và cuối cùng hồi sinh trong các dòng sản phẩm PM, người kế nhiệm của PM vàcác vi xử lý Core đời sau cũng đều là biến thể từ vi kiến trúc P6

Intel Pentium M được sản xuất từ năm 2003 đến năm 2008, là bộ xử lýcuối cùng mang tên Pentium, trước đó là vi xử lý Intel Pentium 4 P 4 ra đời làkết quả của tác động thị trường hướng tới việc gia tăng tốc độ xung nhịp,nhưng đi kèm với đó là việc tiêu tốn điện năng và tỏa nhiệt lớn, không chophép các máy tính xách tay hoạt động trong một thời gian dài Intel hiểu họphải làm gì đó nếu muốn tiếp tục cạnh tranh trong thị trường này, vì vậy họgiao nhiệm vụ cho một đội thiết kế đặt tại Isarel làm việc với bộ xử lý x86 mới

để thiết kế từ đầu với mục tiêu tiết kiệm năng lượng đặt lên hàng đầu

5

Trang 6

Hình 2.1-a: quá trình ra đời của các vi xử lý intel với số transitor tích hợp ngày càng tăng cao

Vi xử lý với tên mã là Banias cuối cùng là PM ra đời PM là phiên bảncuối cùng và được cho là hoàn hảo nhất của kiến trúc P6 Nó là sự kết hợp giữanhân P3 với các đặc tính tiên tiến của P 4, kết quả là được một vi xử lý có tốc

độ khá nhanh với yêu cầu năng lượng thấp Trong các bài kiểm tra benchmark,

PM đứng ngang hàng với P4 với tốc độ xung nhịp cao hơn, sự ra đời của P3cũng đánh dấu sự chấm dứt cho P4 Các vi xử lý Core thế hệ sau dựa trên nềntảng PM dù tên gọi khác hẳn Vi kiến trúc PM thừa hưởng một vài đặc tính từPentium III và Pentium 4, bổ sung thêm nhiều đặc tính mới Giống như các CPUPentium 4, vi xử lý PM khai thác quaq-pump Front SideBus chạy ở 100 và133MHz, hoặc hiệu quả hơn tại 400 và 533 MHz P M chia ra 32 KB cache lệnh

và cache dữ liệu( rộng hơn hai lần so với của Pentium 4 và Pentium III), cachethứ cấp rộng 1 hoặc 2 MB, bao gồm tập lệnh MMX, SSE, và SSE2 Vi xử lý hỗ trợnhiều chế độ tiết kiệm năng lượng đã được giới thiệu trong Mobile Pentium 4,bao gồm chế độ Deeper Sleep Thêm vào các chế độ này, CPU còn bao gồm bộlogic giúp tắt các phần trong CPU khi chúng không cần thiết để tiết kiệm điệnnăng Intel PM còn được trang bị công nghệ SpeedStep tiên tiến, công nghệnày cho phép CPU chuyển đổi về tần số và điện áp thấp hơn khi không yêu cầuhiệu năng tối đa Nằm trong gói 479 micro FC-BGA và gói 478 pin micro FC-PGA Gói FC-PGA này không tương thích với các gói 478 khác mà Intel sử dụngvới mobile Pentium III-M, Mobile Pentium 4/4-M Core Duo/Solo và vi xử lýCore 2 Duo

2.2, ng d ng Ứng dụng ục lục

Mặc dù Intel đã hướng cho PM gia nhập thị trường các thiết bị di động,ngành sản xuất mainboard như AOpen, DFI và MSI đã thiết kế cho Pentium Mtương thích với các bản mạch dành cho những người quan tâm, HTPC, máytrạm và máy chủ Một bộ chuyển đổi, CT-479 đã được phái triển bởi ASUS đểcho phép sử dụng vi xử lý PM trong các thiết kế bo mạch chủ được lựa chọncủa ASUS cho socket 478 Pentium 4, Pentium M còn thích hợp với các hệ thốngnhúng vì tính tiết kiệm năng lượng và Pentium M cho phép thiết kế không cầnquạt tản nhiệt và thu nhỏ nhúng vào PC Như đã nói ở trên Pentium M là một

vi xử lý của Intel hướng tới thị trường di động và đã được sử dụng trong thế hệđầu tiên của nền tảng Centrino

6

Trang 7

Centrino không phải là một bộ vi xử lý cho laptop mà là một nền tảng kết hợpgiữa 3 yếu tố:

- Vi xử lý intel Pentium M

- Intel wireless LAN

- Một chipset Intel (855 hoặc tương tự)

3 thành phần này làm việc cùng nhau một cách thông minh giúp tiếtkiệm điện năng tiêu thụ cho laptop.Trong một vài trường hợp, Pentium Mđược gọi là Centrino, thực ra chỉ có Centrino khi hội tụ đầy đủ 3 thành phầntrên Vì vậy nếu bạn có một laptop với Pentium M mà không có 2 phần kia thìkhông thể gọi là Centrino được Nền tảng Centrino có 5 thế hệ và bộ xử lý PMđược sử dụng trong hai thế hệ đầu tiên là Carmel và Sonoma

Clock Speed Low Volt 1.30 to 1.60 GHz 1.10 to 1.20 GHz

Clock Speed Ultra Low 1 to 1.30 GHz 1 GHz and 900 MHz

7

Trang 8

Intel® 855 Chipset Family

Intel® 855 Chipset Family

Wireless Intel® PRO/Wireless

Network Connection

Intel® PRO/Wireless Network Connection

Đây là xung nhịp của bộ vi xử lý được tính bằng số phép tính mà bộ vi

xử lý tính được trong 1 giây Xung nhịp là 1.6 GHz cho biết vi xử lý có thể tínhđược 1,6 triệu phép tính trong 1 giây Không thể chỉ dựa vào xung nhịp đểđánh giá độ mạnh yếu của vi xử lý vì nó còn phụ thuộc vào rất nhiều thứnhư bộ nhớ đệm hay số nhân

Bộ xử lý PM làm việc dưới các tần số lõi như sau:

1.3GHz, 1.40GHz,1.50GHz,1.60GHz,1.70GHz

- Trạng thái điện áp thấp: 1.10GHz, 1.20GHz,1.30GHz

- Trạng thái điện áp cực thấp:

900MHz,1.00GHz,1.10GHz

FSB (Front Side Bus)

Là chỉ số đo tốc độ của đường

giao tiếp giữa CPU và mainboard Một

chip vi xử lý được đánh giá nhanh hay

chậm tuỳ thuộc khá lớn vào giá trị này

Khi chọn main và CPU bạn phải chọn

CPU có Bus thấp hơn hoặc bằng

mainboard thì CPU mới làm việc được

tối đa công suất

Instruction

8

Trang 9

Các tập lệnh được hỗ trợ: MMX, SSE và SSE2

package

Vi xử lý PM được đóng trong hai gói: Micro-FCPGA và Micro-FCBGA

Ngoài ra PM còn có một số đặc trưng sau

.

Power Optimized 533/400 MHz processor

system bus, Micro-ops Fusion & Dedicated

Stack Manager.

Cho phép thực hiện nhanh hơn vớinăng lượng thấp hơn

Support for enhanced Intel SpeedStep®

Technology w/ multiple voltage & frequency

Support for Intel® Mobile Voltage

Positioning (Intel® MVP IV).

Tự động làm giảm điện áp dựa trên sựhoạt động của vi xử lý để thiết kế mứcđiện năng thấp hơn cho máy tính xáchtay có kích thước nhỏ hơn

Micro FCPGA & FCBGA packaging technology Thiết kế mỏng hơn,nhẹ hơn nhưng

vẫn mang lại hiệu suất vượt trội

1M,làm việc với tốc độ bus mặt trong là 400 Mhz(100 MHz

vận chuyển 4 luồng dữ liệu trên 1 chu lỳ đồng hồ),hỗ trợ

công nghệ SSE2,công nghệ Enhanced SpeedStep nâng cao

trên mô hình SL6NA và SL6P4(làm giảm xung nhịp CPU để

9

Trang 10

tiết kiệm pin khi máy tính nhàn rỗi).Banias sản xuất với quy trình 130nm,vớisocket 478 hoặc là 479 và có 77 triệu transistors trên diện tích 3.36 inch(cỡ82.79 mm2),sử dụng đồng trên các lớp kim loại của nó.

Intel ra mắt pentium M cải tiến với tên mã là

Dothan,với nhưng phiên bản được biết đến là Pentium

M 710 (1.4 GHz), 715 (1.5 GHz), 725 (1.6 GHz), 735

(1.7 GHz), 740 (1.73 GHz), 745 (1.8 GHz), 750

(1.86 GHz), 755 (2.0 GHz), and 765 (2.1 GHz).Dòng

pentium M 700 vẫn giữ nguyên thiết kế như như bản

gốc nhưng được sản xuất dưới công nghệ 90nm và gấp

đôi bộ nhớ thứ cấp Dothan có tới 140 triệu tranzitor,

công suất được giảm xuống 21W(so với 24,5 W của

dòng Banias) Mặc dù sử dụng năng lượng thấp hơn

nhưng xung nhịp lại tăng nhẹ Kết quả kiểm tra Dothan

và banias trên laptop chothấy mức tiêu thụ pin lànhư nhau

10

Hình 2.4.2-a: Dothan core

Hình 2.4.2-b: PM 730 core

Dothan

Trang 11

Cấu trúc bộ nhớ đệm như sau: L1 là 32kb và l2 là 2M.làm việc với tần số bus

400 MHz hoặc là 533 MHz(100 MHz hoặc 133MHz chuyển bốn dữ liệu trên chu

kỳ đồng hồ).có hỗ trợ cấu trúc SSE2,công nghệ Enhanced SpeedStep,và côngnghệ Execute Disable,socket 478 và 479 và 140 triệu transistors trên diện tíchvuông là 3.45 inch(87.66 mm2)

II, KI N TRÚC C A VI X LÝ INTEL PENTIUM M ẾN TRÚC CỦA VI XỬ LÝ INTEL PENTIUM M ỦA VI XỬ LÝ INTEL PENTIUM M Ử LÝ INTEL PENTIUM M

Trước khi tìm hiểu kiến trúc của vi xử lý PM, chúng ta hãy xem xét

vi kiến trúc P6 và các đặc điểm nổi trội của nó so với thế hệ trước.Nếu nhưtrong vi kiến trúc thế hệ thứ năm, đặc tính chính là kiến trúc superscalar,hai đơn vị thực thi lệnh có thể thực hiện đồng thời, song song thì trongkiến trúc P6 có xử lý động và kiến trúc hai bus độc lập, một tiến bộ lớn sovới thế hệ trước

Xử lý động(Dynamnic Execution): Cho phép bộ xử lý thực hiện

nhiều lệnh song song, vì vậy tác vụ được hoàn thành nhanh hơn Côngnghệ mới này bao gồm 3 nhân tố chính:

 dự đoán rẽ nhiều nhánh: dự đoán luồn chương trình thông quamột vài nhánh

 phân tích dòng dữ liệu(Dataflow analysis): sắp xếp lịch trìnhcho các lệnh để được xử lý khi sắn sàng, không phụ thuộc vàothứ tự của chúng trong chương trình ban đầu

 thực hiện suy đoán: tăng tỉ lệ thực thi bằng cách nhìn vào phíatrước của bộ đếm chương trình và thực hiện các lệnh được cho

là cần thiết

Hai bus độc lập: đặc tính chính của vi kiến trúc P6 được biết đến là

có hai bus độc lập Điều này đề cập đến thực tế là bộ xử lý có hai bus dữliệu, một cho hệ thống(bo mạch chủ) và một dành riêng cho cache Điều nàycho phép bộ nhớ cache chạy ở tốc độ mà các thế hệ trước không thể nàosánh được

11

Trang 12

Vi kiến trúc P6 nâng cấp vi kiến trúc P5 bằng cách thêm vào nhiềuđơn vị thực thi hơn và bẻ các lệnh thành các vi lệnh nhỏ hơn Đây cũng làlúc các lệnh CISC được bẻ thành các nhóm lệnh RISC nhỏ hơn Các nhómlệnh RISC thì nhỏ hơn và dễ xử lý song song hơn

Để hiểu rõ về kiến trúc PM hãy so sánh sự khác nhau giữa các CPUPentium M và Pentium III:

 Nhìn bên ngoài có vẻ như PM làm việc giống với P4, truyền tải dữ liệu 4 lần trên một chu kỳ clock Kỹ thuật này gọi là QDR(quad data rate) và làmcho bus trong có hiệu năng tăng gấp bốn lần chỉ số thực của đồng hồ, xem bảng sau:

Bảng : tốc độ thực của đồng hồ và hiệu năng bus đạt được

 L1 memory cache: Hai L1 memory cache 32 KB, một cho dữ liệu và một cho chỉ lệnh (Pentium III có hai L1 memory cache16 KB)

 L2 memory cache: 1 MB trên các mô hình 130 nm (lõi “Banias”) hay 2

MB trên các mô hình 90 nm (lõi “Dothan”) Pentium II chỉ có đến 512 KB.Celeron M, phiên bản rẻ tiền nhất của Pentium M cũng có 512 KB L2 memory cache Hỗ trợ cho các lệnh SSE2

 Dự báo rẽ nhánh tiên tiến: Dự báo rẽ nhánh đã được thiết kế lại (và được dựa trên mạch của Pentium 4) để cải thiện hiệu suất

 Sự hợp các vi lệnh : Bộ giải mã chỉ lệnh hợp nhất hai vi lệnh thành một

để có thể tiết kiệm được năng lượng và cải thiện hiệu suất

 Công nghệ SpeedStep nâng cao, đây là công nghệ cho phép các CPU có thể giảm được clock trong chế độ nhàn rỗi để tiết kiệm thời gian sống của pin Một số tính năng nhằm tiết kiệm cho pin cũng đã được bổ sung vào kiến trúc siêu nhỏ của Pentium M, vì mục đích của các CPU này ban đầu được thiết kế cho các dòng di động

Bây giờ chúng ta hãy đi xem xét sâu hơn về kiến trúc của Pentium M

12

Trang 13

1 S đ kh i ơ đồ khối ồ khối ố chính :

Hình II.1-a: sơ đồ khối của bộ xử lý Pentium

Sơ đồ khối trên chỉ ra hai ống lệnh: U và V Ống U có thể thực hiện tất

cả các lệnh số nguyên và dấu phảy động, ống V dành cho các lệnh số nguyênđơn giản và lệnh dấu phảy động FXCH

Các cache được chỉ ra bao gồm code cache và data cache Data cache

có hai cổng, mỗi cổng cho một ống lệnh Data cache có một bộ đệmTranslation Lookaside(TLB) dành riêng để truyền các địa chỉ tuyến tính tới cácđịa chỉ vật lý được data cache sử dụng

Code cache, branch target buffer và prefetch buffer chịu trách nhiệmlấy các lệnh vào cho đơn vị thực thi Các lệnh được đọc vào từ cache lệnh hoặc

13

Trang 14

từ bus ngoài Các địa chỉ nhánh được ghi nhớ trong bộ đệm nhánh đích TLBdịch các địa chỉ tuyến tính thành các địa chỉ vật lý cho code cache sử dụng

Đơn vị giải mã giải mã các lệnh được đọc vào để đơn vị xử lý có thểthi hành chúng Đơn vị điều khiển ROM bao gồm các vi mã điều khiển chuỗicác thao tác phải được thực hiện, nó điều khiển trực tiếp cả hai ống lệnh

2, Các thành ph n chính ần chính và cách ho t đ ng c a chúng ạt động của chúng ộng của chúng ủa chúng

Hình II.2-a: vi xử lý Pentium

2.1, Pipeline trong Pentium M

2.1.1, Các giai đo n và c ch ho t đ ng: ạn và cơ chế hoạt động: ơ chế hoạt động: ế hoạt động: ạn và cơ chế hoạt động: ộng:

Pipeline là một danh sách các giai đoạn mà một lệnh cho trước phải điqua để có thể được thực hiện đầy đủ Intel không tiết lộ cấu trúc pipeline củaPentium M nên chúng ta sẽ nói về Pentium III Việc phân tích Pentium III sẽcho ta thấy cách vi kiến trúc Pentium M làm việc, trên cơ sở đó dự đoán cácgiai đoạn mà Intel đã đưa thêm vào kiến trúc này Pentium M có kiến trúc cơbản giống với PPro, P2 và P3 với các giai đoạn chính là : dự đoán rẽ nhánh, đọclệnh, giải mã lệnh, register renaming(được sử dụng để tránh việc tuần tự hóamột cách không cần thiết của các thao tác chương trình bằng việc tái sử dụngcác thanh ghi), reorder buffer read, reservation station(mỗi toán hạng trongmỗi lệnh trong hàng đợi có một vị trí trong các file thanh ghi ), các cổng thực

14

Trang 15

thi, bộ đệm ghi lại và giai đoạn nghỉ Một vài thay đổi nhỏ đã được tạo ranhưng nói chung thì chức năng của chúng không khác nhau là mấy

Hình II.1.2.1-a:cấu trúc pipeline của Pentium Pro

Hình II.1.2.1-b: pipeline của Pentium III

Sau đây là các giải thích cơ bản cho mỗi giai đoạn trong pipeline củaP3, đồng thời giải thích cách thức các bộ xử lý P6 xử lý một lệnh được giao nhưthế nào

IFU1: tải từ 1 dòng(32 byte,256 bíts) từ cache lệnh L1 và lưu trữ

trong Instruction Streaming Buffer

IFU2: nhận dạng lệnh giới hạn trong vòng 16 byte(128 bit) Kể từ

lệnh x86 không có độ dài cố định, giai đoạn được đánh dấu từ lúckhởi đầu lệnh và kết thúc khi đã load được 16 byte Nếu có lệnh rẽnhánh nào trong vòng 16 byte này, địa chỉ của nó sẽ được lưu trữtại Branch Target Buffer(BTB) để CPU có thể sử dụng những thôngtin này trong mạch dự đoán rẽ nhánh

15

Trang 16

IFU3: đánh dấu nơi các lệnh giải mã được gửi tới, có 3 bộ giải mã

hướng tới các đơn vị khác nhau

DEC1: giải mã lệnh x86 thành vi lệnh RISC, khi CPU có tới 3 bộ giải

mã thì không thể cùng lúc giải mã 3 lệnh được

DEC2: gửi các vi lệnh đến hàng đợi giải mã lệnh, với dung lượng là

6 vi lệnh Nếu lệnh được chuyển đổi thành nhiều hơn 6 vi lệnh thìgiai đoạn phải được lặp lại để lấy các lệnh còn thiếu

RAT: từ khi vi kiến trúc P6 kế thừa OOO(out of order execution,

một mô hình được sử dụng hầu hết trong các vi xử lý hiệu năngcao để tận dụng vòng đợi lệnh) , giá trị của một thanh ghi có thểđược thay thế bởi việc đặt nó trong dòng chương trình trước khitính đúng đắn của nó được xác định, làm gián đoạn việc lấy dữliệu của các lệnh khác Để giải quyết xung đột này, tại giai đoạnnày , thanh ghi gốc mà lệnh sử dụng được đổi thành 1 trong 40thanh ghi bên trong mà vi kiến trúc P6 có

ROB: tại giai đoạn này , 3 micro-ops được load vào Reorder

Buffer(ROB) Nếu tất cả dữ liệu cần thiết cho việc thi hành một vilệnh có sẵn và nếu có một vị trí tại hàng đợi vi lệnh reservationstation thì một vi lệnh sẽ được chuyển đến hàng đợi này

DIS: nếu vi lệnh không được gửi đến trạm đăng ký hàng đợi(RS) thì

nó đã hoàn thành tại giai đoạn này Vi lệnh sẽ gửi nó tới đơn vị thihành thích hợp

EX: vi lệnh được thi hành tại đơn vị thi hành lệnh thích hợp,

thường mỗi vi lệnh chỉ cần một chu kỳ đồng hồ để được thi hành

RET1: kiểm tra Reorder Buffer nếu có vi lệnh nào có thể đánh dấu

cờ đã thi hành

RET2: khi tất cả các vi lệnh liên quan đến lệnh x86 trước đây đã

được chuyển khỏi Reorder Buffer và các lệnh x86 hiện tại đangđược thi hành, các vi lệnh này được chuyển khỏi Reorder Buffer vàthanh ghi x86 được cập nhật Giai đoạn nghỉ phải được thực hiệntheo thứ tự Có thể có đến 3 vi lệnh được chuyển khỏi ReorderBuffer trong mỗi chu kỳ clock

Độ dài của pipeline có thể ước lượng được từ việc mispredictionpenalty Việc dự đoán sai trong PM kéo dài hơn trong P2 và P3 khoảng 3-4 chu

16

Trang 17

kỳ clock Điều này chỉ ra rằng pipeline PM phải dài hơn khoảng 3-4 giai đoạn,chúng ta sẽ lần lượt tìm hiểu xem các giai đoạn này dùng để làm gì.

Cơ chế dự đoán rẽ nhánh trong PM phức tạp hơn các bộ xử lý trước

đó, vì thế có thể nó cần tới 3 giai đoạn trong pipeline thay vì hai Việc tìm nạplệnh cũng được cải tiến để giới hạn 16 byte hay giới hạn dòng cache không làmchậm lệnh nhảy Việc này có thể yêu cầu mở rộng đơn vị đọc lệnh từ 3 lên 4giai đoạn Stack engine mới được thực hiện gần giải mã lệnh, ít nhất một giaiđoạn pipeline được dành cho stack engine và cho việc đồng bộ hóa các vi lệnhđược chèn trong stack Liệu cơ chế hợp các vi lệnh có yêu cầu thêm giai đoạntrong pipeline hay không? Số các giai đoạn từ giai đoạn ROB-read tới giai đoạnROB-writeback có thể ược ước lượng bằng cách đo việc đọc của thanh ghi Quátrình đo đạc chỉ ra rằng nó chỉ khoảng 3 chu kỳ clock nên có thể kết luận làkhông có giai đoạn bổ sung nào dành cho việc tách các vi lệnh trước khi đưachúng vào xử lý Hai phần của một vi lệnh hợp cùng chia sẻ một lối vào ROB.Các giai đoạn RAT, ROB-read và RS đều đã được chỉnh sửa để xử lý hợp nhất 3

vi lệnh với 3 đầu vào phụ thuộc Có thể một giai đoạn bổ sung của pipelineđược thêm vào RAT vì khối lượng công việc trong giai đoạn này tăng lên PMcòn có nhiều đặc tính tiết kiệm năng lượng bằng cách tắt các phần trong bustrong, các đơn vị thực thi, … khi chúng không được sử dụng đến Chúng takhông biết liệu các đặc tính này liệu có yêu cầu thêm giai đoạn trong pipelinehay không, nhưng nó mang lại ảnh hưởng tích cực trong việc chạy với tần số tối

đa mà không làm nóng chip Các cơ chế hợp lệnh, stack engine và dự đoán rẽnhánh phức tạp không những giúp giảm hao phí điện năng mà còn giúp tăngtốc độ thực thi

Nói tóm lại pipeline của PM có nhiều hơn pipeline PPro khoảng 3 đến

4 giai đoạn, bao gồm một giai đoạn cho dự đoán rẽ nhánh, một cho việc tìmnạp lệnh, và một cho stack engine

2.1.2, Hi n t ện tượng nút cổ chai ượng nút cổ chai ng nút c chai ổ chai

Đây là điểm quan trọng cần chú ý, khi tối ưu hóa một mẩu của đoạn mã,

để tìm ra nhân tố điều khiển tốc độ thực thi

Truy cập bộ nhớ:Nếu chương trình đang làm việc với một lượng

dữ liệu rất lớn, hoặc nếu dữ liệu được đặt rải rác trong bộ nhớ sẽ dẫn đến tình trạng cache không tìm đúng được dữ liệu đó Việc

17

Trang 18

truy cập vào dữ liệu không có trong cache dẫn đến việc tốn thời gian Các cache được tổ chức như các dòng được căn độ dài 64 byte mỗi dòng, neesy một byte trong số 64 byte được truy ập thì tất cả 64 byte sẽ được tải về cache L1 Vì vậy để tránh tình trạng miss của cache, nên đặt các dữ liệu có liên quan ở cùng một chỗ

PM có 6 cổng ghi, việc có nhiều hơn 6 thao tác ghi liền lúc cũng khiến cho quá trình xử lý bị chậm lại vài chu kỳ clock

Tìm nạp và giải mã lệnh: Các lệnh nên được tổ chức để sao cho không có quá 6 vi lệnh được sinh ra sau giải mã, tránh các lệnh có nhiều hơn 1 tiền tố, lệnh 26bit với toán hạng tức thì trong chế độ

32 bit

Hợp các vi lệnh : Hợp các vi lệnh và stack engine cho phép các vi

lệnh chứa nhiều thông tin hơn Nó có thể là một lợi thế nế bộ giải

mã hoặc giới hạn 3 vi lệnh/chu lỳ clock là một nút cổ chai

Các cổng thực thi : Các vi lệnh hợp sau khi được tách ra phải được

phân bổ đều về 5 cổng Cổng 0 và một dễ trở thành một nút cổ chai trong một đoạn mã có một vài thao tác với bộ nhớ Các vi lệnh stack đồng bộ hóa đi đến cổng 0 hoặc 1 Số các lệnh kiểu này

có thể được hạn chế bằng cách thay lệnh MOV liên quan đến con trỏ stack bằng các lệnh PUSH và POP

Dự đoán rẽ nhánh : Bộ đệm rẽ nhánh đích (BTB) trong PM nhỏ

hơn trong các bộ xử lý khác vì vậy nên tránh các lệnh nhảy không cần thiết để hạn chế tải trên BTB

2.2, B nh cache và đ n v tìm n p ộng của chúng ới thiệu về vi xử lý Intel Pentium M(PM) ơ đồ khối ị tìm nạp ạt động của chúng

Dung lượng bộ nhớ cache L2 cóthể là 1MB(dòng Banias) hoặc2MB(dòng Dothan), trong khi vi

xử lý có hai bộ nhớ cache L1,một có dung lượng 32KB đểchứa các lệnh và phần còn lạichứa dữ liệu cũng với dunglượng 32KB Đơn vị tìm nạplệnh được chia làm 3 giai đoạn.Đơn vị tìm nạp tải một dòng(32byte) vào trong bộ đệm dòng

18 hình II.2.2-a: bộ nhớ cache và đơn vị tìm nạp

Trang 19

lệnh(ISB), sau đó Instruction Length Decoder nhận dạng ranh giới các lệnhtrong vòng 16 byte Các lệnh x86 không có độ dài cố định , giai đoạn này đánhdấu nơi lệnh bắt đầu và kết thúc trong vòng nạp 128 bit Nếu có bất kỳ lệnh rẽnhánh nào trong số các bit này, địa chỉ của nó sẽ được lưu lại tại Branch TargetBuffer(BTB) để CPU có thể sử dụng chúng trong các mạch dự đoán rẽ nhánh.BTB có 512 lối vào Sau đó giai đoạn Decoder Alignment đánh dấu vị trí củađơn vị giải mã lệnh mà mỗi lệnh được gửi tới.

2.3, Instruction Decoder và Register Renaming

Từ khi giới thiệu kiến trúc P6 với bộ xử lý Pentium Pro sử dụng kiếntrúc CISC/RISC, bộ xử lý phải chấp nhận các lệnh CISC, còn được biết đến như

là các lệnh của x86, cho đến nay, tất cả các phần mềm được viết đều sử dụngloại lệnh này Một CPU chỉ có RISC không thể sử dụng trong PC bởi nó khôngchạy được các phần mềm ngày nay như Window hay Office Vì vậy giải phápđược sử dụng cho tất cả các bộ xử lý trên thị trường ngày nay từ Intel tới AMD

là sử dụng một bộ giải mã CISC/RISC Trong CPU, RISC được xử lý như lệnh,nhưng phía trước kết thúc của nó chỉ chấp nhận các lệnh CISC x86

Các lệnh CISC x86 được gọi là lệnh như các lệnh RISC bên trong đượcgọi là vi lệnh Tuy nhiên các vi lệnh RISC không được truy cập trực tiếp, vì vậykhông thể tạo được phần mềm dựa trên các lệnh này thông qua bộ giải mã.Mặc dù vậy, mỗi CPU sử dụng ác lệnh RISC riêng không được công bố rộng rãi

và không tương thích với các vi lệnh từ CPU khác Vi lệnh của PM khác với P4.Phụ thuộc vào độ phức tạp của lệnh x86, nó phải được chuyển đổi về các vilệnh RISC

Hình II.2.3-a: bộ giải mã lệnh và đổi tên thanh ghi

19

Ngày đăng: 27/06/2014, 23:15

HÌNH ẢNH LIÊN QUAN

Hình 1.2.1-a : Các thành phần cơ bản của vi xử lý - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
Hình 1.2.1 a : Các thành phần cơ bản của vi xử lý (Trang 3)
Hình 2.4.2-a: Dothan core - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
Hình 2.4.2 a: Dothan core (Trang 9)
Hình 2.4.1-a:Banias core - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
Hình 2.4.1 a:Banias core (Trang 9)
Bảng : tốc độ thực của đồng hồ và hiệu năng bus đạt được - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
ng tốc độ thực của đồng hồ và hiệu năng bus đạt được (Trang 11)
1. Sơ đồ khối : - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
1. Sơ đồ khối : (Trang 12)
Hình II.2-a: vi xử lý Pentium - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.2-a: vi xử lý Pentium (Trang 13)
Hình II.1.2.1-b: pipeline của Pentium III - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.1.2.1-b: pipeline của Pentium III (Trang 14)
Hình II.1.2.1-a:cấu trúc pipeline của Pentium Pro - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.1.2.1-a:cấu trúc pipeline của Pentium Pro (Trang 14)
Hình II.2.3-a: bộ giải mã lệnh và đổi tên thanh ghi - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.2.3-a: bộ giải mã lệnh và đổi tên thanh ghi (Trang 18)
Hình II.2.4-a: cách thức bộ đệm xắp xếp làm việc - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.2.4-a: cách thức bộ đệm xắp xếp làm việc (Trang 20)
Hình II.2.5-a: RS và Execution Unit - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
nh II.2.5-a: RS và Execution Unit (Trang 20)
Hình 2.9-a: Các bus trong hệ thống máy tính - tiểu luận đề tài  tìm hiểu kiến trúc vi xử lý pentium m
Hình 2.9 a: Các bus trong hệ thống máy tính (Trang 23)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w