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

Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M

42 1,1K 3
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 Về Vi Xử Lí Intel Pentium M
Người hướng dẫn ThS. Hoàng Xuân Dậu
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Vi Xử Lý
Thể loại Bài Tập Nhóm
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 42
Dung lượng 1,08 MB

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

Nội dung

Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M

Trang 1

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

KHOA CÔNG NGHỆ THÔNG TIN

********

BÀI TẬP NHÓM MÔN KỸ THUẬT VI XỬ LÝ

Đề tài: “ Tìm hiểu về vi xử lí Intel Pentium M .

Hà Nội, tháng 10 /2013

Trang 2

MỤC LỤC

I GIỚI THIỆU 4

1 Giới thiệu chung 4

1.1 Vi xử lí là gì? 4

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

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

2.1 Xuất sứ 6

2.2 Ứng dụng 8

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

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

2.4.1 Banias 11

2.4.2 Dothan 12

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

1 Sơ đồ khối : 14

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

2.1 Pipeline của Pentium M 15

2.2 Bộ nhớ cache và Khối tìm nạp 17

2.3 Đơn vị tính toán số học ALU 25

2.4 Đơn vị xử lý dấu phảy động FTU 26

2.5 Cache L1 26

2.6 Giao diện bus 26

3 Kiến trúc tập lệnh 28

3.1 MMX(MultiMedia eXtentions, Multiple Math eXtension, orMatrix Math eXtension): 28

3.2 SSE (Single SIMD Extentions): 30

3.3 SSE2: 30

4 Cơ chế dự đoán rẽ nhánh trong PM 32

Trang 3

4.1 Mispredition penalty: 32

4.2 Mô hình nhận biết điều kiện nhảy 32

4.3 Nhận biết lệnh nhảy và lời gọi gián tiếp 33

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

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

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

IV KẾT LUẬN 38

1 So sánh đánh giá 38

1.1 Nhân PM(kernel) 38

1.2 Các thay đổi của Intel 39

2 Kết luận chung 40

Trang 4

I GIỚI THIỆU

Intel là một gã khổng lồ trong ngành sản xuất và phát triển các bộ vi xử lý Cácsản phẩm của Intel luôn được đánh giá rất cao về hiệu năng cũng như giá thành và

có một chiều dài lịch sử xuyên suốt quá trình phát triển các bộ vi xử lý Trong bài

tiểu luận sau đây chúng tôi xin tìm hiểu về kiến trúc vi xử lý Intel Pentium M.

1 Giới thiệu chung

1.1 Vi xử lí là gì?

Vi xử lý là một chip bán dẫn kết hợp các chức năng của đơn vị xử lý trung tâm(CPU) trên một hoặc một vài mạch tích hợp Nó là một thiết bị đa chức năng, lậptrình được, nhận các tín hiệu số đầu vào, xử lý nó theo các lệnh lưu trong bộ nhớ,cung cấp kết quả đầu ra

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áybàn, laptop hay server, vi xử lý bạn đang sử dụng là loại gì thì chúng cũng gầngiố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ết phảilà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ới cácphé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ớ

Trang 5

- 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ỉ

- 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ột lệ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ề 0khi đượ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ánh trongALU Một ALU có thể so sánh hai số và quyết định xem chúng bằ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áicủ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

Trang 6

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

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

2.1 Xuất sứ

Pentium M được xây dựng trên kiến trúc thế hệ thứ 6 của Intel, kiến trúc nàycũng được sử dụng trong các CPU Pentium pro, Pentium II, Pentium III và cácCPU trước đây của celeron chứ không phải dựa trên Pentium 4 Kiến trúc P6 là thế

hệ thứ 6 của vi kiến trúc Intel x86 với sự ra đời đầu tiên của vi xử lý Pentium Provà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ồisinh 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ếtquả của tác động thị trường hướng tới việc gia tăng tốc độ xung nhịp, nhưng đikèm với đó là việc tiêu tốn điện năng và tỏa nhiệt lớn, không cho phép các máytí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ếumuố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ụctiêu tiết kiệm năng lượng đặt lên hàng đầu

Trang 7

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 P3 cũng đánhdấu sự chấm dứt cho P4 Các vi xử lý Core thế hệ sau dựa trên nền tảng PM dù têngọ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 CPU Pentium 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ơnhai lần so với của Pentium 4 và Pentium III), cache thứ cấp rộng 1 hoặc 2 MB, baogồm tập lệnh MMX, SSE, và SSE2 Vi xử lý hỗ trợ nhiều chế độ tiết kiệm nănglượ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 CPUkhi chúng không cần thiết để tiết kiệm điện năng Intel PM còn được trang bị côngnghệ 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ầu hiệ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

Trang 8

gói 478 khác mà Intel sử dụng vớ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

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áy trạm

và máy chủ Một bộ chuyển đổi, CT-479 đã được phái triển bởi ASUS để chophép sử dụng vi xử lý PM trong các thiết kế bo mạch chủ được lựa chọn của ASUScho socket 478 Pentium 4, Pentium M còn thích hợp với các hệ thống nhúng vìtính tiết kiệm năng lượng và Pentium M cho phép thiết kế không cần quạ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 Intelhướng tới thị trường di động và đã được sử dụng trong thế hệ đầu tiên của nền tảngCentrino

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ợp giữ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ết kiệ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ần trên Vì vậy nếubạ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 tronghai thế hệ đầu tiên là Carmel và Sonoma

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

Trang 9

Intel® 855 ChipsetFamily

PRO/Wireless NetworkConnection

Intel® PRO/WirelessNetwork Connection

Trang 10

Cache L2

Là dung lượng của vùng nhớ đệm cấp 2 Đây là nơi lưu trữ các dữ liệu nằmchờ phần cứng xử lý Mục đích của nó là để tăng tốc độ xử lý của chip Chỉ số nàycàng cao sẽ giúp cho CPU xử lý nhanh và mượt mà hơn

Clock speed:

Đâ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 được1,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

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

Trang 11

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ới nănglượng thấp hơn

Support for enhanced Intel SpeedStep®

Technology w/ multiple voltage &

frequency operating points

tinh toán tốt hơn về hiệu suất với nhucầu của người dùng

Execute Disable Bit° Support Công nghệ chống tràn bộ nhớ,chống lại

một số vius và mã độcSupport 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

2.4.1 Banias

Dòng sản phẩm đầu tiên của Pentium M có tên mã la

Banias.với cấu trúc bộ nhớ đệm L1 là 32kb,bộ nhớ đệm L2 là

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 để tiết kiệm

pin khi máy tính nhàn rỗi).Banias sản xuất với quy trình

Trang 12

130nm,với socket 478 hoặc là 479 và có 77 triệu transistors trên diện tích 3.36inch(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 cho thấy mức tiêu thụ pin là như

nhau

Hình 2.4.2-a: Dothan core

Trang 13

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 400MHz 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ông nghệExecute Disable,socket 478 và 479 và 140 triệu transistors trên diện tích vuông là3.45 inch(87.66 mm2).

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

Trang 14

1 Sơ đồ khối :

Hình a: Sơ đồ khối của bộ xử lí Pentium

Sơ đồ khối trên chỉ có 2 ố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ệnhdấu phẩy động FXCH

Trang 15

Các cache được chỉ ra bao gồm code cache và data cache Data cache có 2cổng,mỗi cổng cho một ống lệnh Data cache có một bộ đệm TranslationLookaside(TLB) dành riêng để truyền các địc chỉ tuyến tính tới các địa chỉ vật líđược data cache sử dụng.

Code cache,branch taget buffer và prefetch buffer chịu trách nhiệm lấy các lệnhvào cho đơn vị thực thi Các lệnh được đọc từ cache lệnh hoặc từ bus ngoài Cácđịa chỉ nhánh được ghi nhớ trong bộ đệm nhánh đích.TLB dịch các địa chỉ tuyếntính thành các địa chỉ vật lí cho code cache sử dụng

Đơn vị 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ỗi các thao tác phải được thựchiện, nó điều khiển trực tiếp cả 2 ống lệnh

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

2.1 Pipeline của Pentium M

Pipeline là một danh sách các giai đoạn mà một lệnh cho trước phải đi qua

để có thể được thực hiện đầy đủ Intel không tiết lộ cấu trúc pipeline của Pentium

M nên chúng ta sẽ nói về Pentium III Pipeline của Pentium M có thể nhiều tầnghơn một ít so với Pipeline của Pentium III , nhưng theo phân tích Pipeline củaPentium III là một ý tưởng Pipeline là danh sách của tất cả các tầng để một lệnhphải đi qua theo một thứ tự để thực hiện đầy đủ Intel không rất tuyệt vời trongcấu trúc của Pentium M

Như chúng ta đã nói tới Pentium 4 có Pipeline là 20 tầng và trong Pentium 4 dựatrên nhân "Prescott" có 31 tầng

Hình dưới đây chúng ta xem Pipeline 11 tầng của Pentium 3

Trang 16

Sau đây là các giải thích cơ bản cho mỗi giai đoạn trong pipeline của P3, đồngthờ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 một dòng (32 byte là 256 bit) từ cache lệnh L1 và lưu trữ chúngtrong Instruction Streaming Buffer

 IFU2 : nhận dạng những lệnh bên trong 16 byte (128 bit) Những lệnh x86không có độ dài cố định , những đánh dấu trong tầng này ở đó xác định sựbắt đầu và kết thúc của lệnh trong 16 byte được tải Nếu có bất kỳ lệnh rẽnhánh nào bên trong 16 byte này , địa chỉ của nó được lưu trữ vào BranchTarget Buffer (BTB) do đó CPU sau này có thể dùng thông tin này trongmạch dự đoán rẽ nhánh của nó

 IFU3 : những lệnh được đánh dấu sẽ được gửi tới phần giải mã lệnh(decoder unit) Có ba giải mã lệnh ( instruction decoder units ) khác nhau sẽđược đề cập sau

 DEC1 : giải mã những lệnh x86 thành những vi lệnh RISC ( hay còn gọi làMicro-op ) Trong CPU có ba phần giải mã lệnh (instructions decode units)khác nhau nên nó có thể thực hiện ba lệnh trong cùng một lúc

 DEC2 : gửi những Micro-op tới phần thứ tự lệnh đã được giải mã ( DecodedInstruction Queue ) ở đó có thể lưu trữ được nhiều hơn 6 Micro-op Nếu

Trang 17

lệnh chuyển đổi có nhiều hơn 6 micro-op thì tầng này phải lặp lại để giữ lạinhững micro-op còn lại

 RAT : trong vi cấu trúc P6 bổ sung việc thực hiện OOO (Out-Of-Order) , giátrị của thanh ghi được đưa ra có thể được sử đổi bằng lệnh thực hiện trướckhi nó là “correct” ( trong tiến trình của chương trình gốc ) , nó có thể làmcho số liệu bị tranh chấp bởi chương trình khác Để giải quyết vấn đề tranhchấp ở trong tầng này thanh ghi gốc được dùng bởi lệnh thay đổi một trong

40 thanh ghi bên trong vi cấu trúc P6

 ROB : tầng này có ba Micro-op được tải vào Reorder Buffer (ROB) Nếu tất

cả dữ liệu cần thiết để thực hiện lệnh của Micro-op được sẵn sàng và nếu Micro-op được sắp hàng ở Reservation Station mở ra , thì Micro-op sẽ đượcchuyển tới và sắp hàng ở đó

 DIS : nếu Micro-op không gửi để sắp hàng ở Reservation Station thì côngviệc diễn ra ở tầng này Micro-op được gửi tới Execution unit thích hợp

 EX : Micro-op được thực hiện ở Execution unit thích hợp Thông thườngmỗi Micro-op cần một chu kì đồng hồ để thực hiện lệnh

 RET1: kiểm tra ở Reorder Buffer nếu có bất kì Micro-op mà có thể có Flag

là “executed”

 RET2: khi tất cả micro-op liên quan đến lệnh x86 trước đã được chuyển

từ Reorder Buffer và tất cả micro-op liên quan tới lệnh x86 hiện tại đã đượcthực hiện , thì những micro-op đã được chuyển từ Reorder Buffer và nhữngthanh ghi x86 được update (quá trình ngược làm việc lại với RAT ) Quátrình lùi lại phải làm theo thứ tự Cứ ba Micro-op được chuyển đi

từ Reorder Buffer theo một chu kì đồng hồ

2.2 Bộ nhớ cache và Khối tìm nạp

L2 memory cache của Pentium M có thể là 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”) Trong khi đó nó cóhai memory cache L1, một cái là 32KB cho chỉ lệnh và cái kia là 32KB cho dữliệu

Trang 18

Khối tìm nạp được chia thành 3 tầng :

Hình 2: Khối tìm nạp

Khối tìm nạp nạp dòng thứ nhất (32 bytes = 256 bits) vào bộ đệm luồng chỉ lệnhcủa nó (Instruction Streaming Buffer) Sau đó bộ giải mã chiều dài chỉ lệnh sẽnhận ra các ranh giới chỉ lệnh bên trong mỗi 16byte Vì chỉ lệnh x86 không cóchiều dài cố định nên tầng này sẽ đánh dấu vị trí mỗi chỉ lệnh bắt đầu và kết thúcbên trong 128bit đã được nạp Nếu có một chỉ lệnh nhánh nào đó bên trong 128 bit

đó thì địa chỉ sẽ được lưu vào Branch Target Buffer (BTB), chính vì vậy CPU củabạn có thể sử dụng các thông tin này sau trên mạnh dự báo nhánh của nó BTB có

512 đầu vào

Sau khi tầng Decoder Alignment Stage đánh dấu khối giải mã chỉ lệnh nào thì mỗichỉ lệnh sẽ được gửi đi Có 3 khối giải mã chỉ lệnh khác nhau sau:

Trang 19

Giải mã chỉ lệnh và thay đổi tên cho thanh ghi

Vì kiến trúc P6 sử dụng cho các bộ vi xử lý Pentium Pro kiến trúc CISC/RISC lainên bộ vi xử lý phải chấp nhận các chỉ lệnh CISC và cũng được biết đến với tưcách là các chỉ lệnh x86, điều này là do tất cả các phần mềm cung cấp ngày nayđều được viết bằng kiểu chỉ lệnh này CPU chỉ sử dụng RISC không phải là tạo racho máy tính, vì nó không chạy phần mềm hiện nay như Windows và Office

Vì vậy, giải pháp được sử dụng bởi tất cả các bộ vi xử lý hiện đang cung cấp trênthị trường ngay nay từ cả Intel và AMD là đều sử dụng giải mã CISC/RISC Bêntrong, CPU xử lý các chỉ lệnh RISC nhưng front-end của nó lại chỉ chấp nhận cácchỉ lệnh CISC x86

Các chỉ lệnh CISC x86 được đề cập đến như chỉ lệnh thông thường còn các chỉlệnh RISC bên trong được đề cập đến như các chỉ lệnh đã được giải mã

Mặc dù vậy, các chỉ lệnh đã được giải mã RISC không thể được truy cập một cáchtrực tiếp, do đó chúng ta không thể tạo phần mềm dựa trên các chỉ lệnh này đểvòng tránh qua bộ giải mã Cũng vậy, mỗi CPU sử dụng các chỉ lệnh RISC củariêng nó, các chỉ lệnh này không được công bố và không tương thích với chỉ lệnh

đã giải mã từ các CPU khác Điều đó có nghĩa là các chỉ lệnh đã giải mã củaPentium M khác hoàn toàn với chỉ lệnh đã giải mã của Pentium 4, sự khác biệt nàychính là từ các chỉ lệnh giải mã Athlon64

Phụ thuộc vào độ phức tạp của chỉ lệnh x86 mà nó phải được chuyển thành các chỉlệnh giải mã RISC

Bộ giải mã chỉ lệnh Pentium M làm việc giống như trên hình 3 Như những gì bạn

có thể quan sát thấy, có ba bộ giải mã và một bộ xếp dãy chỉ lệnh đã giải mã(MIS) Hai bộ giải mã được tối ưu hóa cho các chỉ lệnh đơn giản, trong đó các chỉ

Trang 20

được chuyển đổi như một chỉ lệnh giải mã Một bộ giải mã được tối ưu hóa cho cácchỉ lệnh x86 phức tạp, chỉ lệnh này có thể được chuyển đổi thành 4 chỉ lệnh đã giải

mã Nếu chỉ lệnh x86 quá phức tạp, có nghĩa là nó chuyển đổi tới hơn bốn chỉ lệnhgiải mã thì nó sẽ được gửi đến MIS là bộ nhớ ROM, gồm có một danh sách các chỉlệnh có thể được dùng để thay thế cho x86 trên

Hình 3: Bộ giải mã và đổi tên thanh ghi

Bộ giải mã chỉ lệnh có thể chuyển đổi lên đến 3 chỉ lệnh x86 trên mỗi một chu kỳclock, một bộ giải mã phức tạp Decoder 0 và hai bộ giải mã đơn giản 1 và 2, điềunày làm cho chúng ta có cảm giác hàng đợi chỉ lệnh đã được giải mã (DecodedInstruction Queue) có thể lên đến 6 chỉ lệnh giải mã trên mỗi chu kỳ clock, kịchbản có thể khi Decoder 0 gửi 4 chỉ lệnh đã giải mã và hai bộ giải mã kia gửi mỗi

bộ một chỉ lệnh đã được giải mã – hoặc khi MIS được sử dụng Các chỉ lệnh x86phức tạp sử dụng (MIS) Micro Instruction Sequencer có thể dữ chậm một số chu

kỳ clock khi giải mã, điều đó phụ thuộc vào số lượng chỉ lệnh được giải mã sẽ tạo

ra từ sự chuyển đổi Bạn cần nên lưu ý rằng Decoded Instruction Queue chỉ có thểgiữ được đến 6 chỉ lệnh đã giải mã, chính vì vậy nếu có hơn 6 chỉ lệnh giải mãđược sinh ra bởi bộ giải mã cộng với MIS thì một chu kỳ khác sẽ được sử dụng đểgửi các chỉ lệnh hiện hành trong hàng đợi tới Register Allocation Table (RAT),làm trống hàng đợi và chấp nhận các chỉ lệnh đã giải mã mà không phù hợp với nótrước đó

Trang 21

Pentium M sử dụng một khái niệm mới đối với kiến trúc P6, khái niệm này đượcgọi là hợp nhất chỉ lệnh giải mã Trên Pentium M, mỗi một bộ giải mã nối hai chỉlệnh đã giải mã thành một Chúng sẽ chỉ được tách ra khi được thực thi, tại tầngthực thi.

Trên kiến trúc P6, mỗi chỉ lệnh có chiều dài 118 bit Pentium M thay vì làm việcvới các chỉ lệnh 118bit, nó làm việc với các chỉ lệnh có chiều dài 236bit mà chính

là kích thước nối của hai chỉ lệnh 118bit

Lưu ý: các chỉ lệnh đã giải mã liên tục có chiều dài là 118bit, còn những gì đượcthay đổi là chúng được truyền tải thành một nhóm gồm hai chỉ lệnh cơ bản này

Ý tưởng đằng sau phương pháp này là để tiết kiệm năng lượng và tăng hiệu suất.Việc gửi một chỉ lệnh có kích thước 236bit dài sẽ nhanh hơn việc gửi hai chỉ lệnh118bit Thêm vào đó, CPU sẽ tiêu tốn ít nguồn điện hơn vì sẽ có ít chỉ lệnh đã giải

mã lưu thông bên trong nó

Các chỉ lệnh được gắn sau đó sẽ gửi đến bảng Register Allocation Table (RAT).Kiến trúc CISC x86 chỉ có 8 thanh ghi 32bit đó là EAX, EBX, ECX, EDX, EBP,ESI, EDI và ESP Số lượng này là quá thấp vì các CPU hiện đại có thể thực thi mãout-of-order, và nó sẽ “phá hỏng” nội dung bên trong thanh ghi đã có, từ đó gây rahỏng các chương trình

Chính vì vậy, tại tầng này, bộ vi xử lý thay đổi tên và nội dung của các thanh ghi

đã được sử dụng bởi chương trình thành một trong 40 thanh ghi bên trong đã có(mỗi một thanh ghi này có 80 bit rộng, như vậy việc chấp nhận cả dữ liệu nguyên

và dữ liệu thay đổi), cho phép chỉ lệnh có thể chạy tại cùng một thời điểm với chỉlệnh khác mà sử dụng cũng cùng một thanh ghi chuẩn, hoặc thậm chí out-of-order,

có nghĩa là cho phép chỉ lệnh thứ hai có thể chạy trước chỉ lệnh thứ nhất dù làchúng cùng chung trên một thanh ghi

Bộ đệm Reorder Buffer

Khi các chỉ lệnh x86 và chỉ lệnh đã được giải mã có kết quả truyền tải giữ các tầngCPU theo cùng một thứ tự thì chúng sẽ xuất hiện trên chương trình đang chạy

Ngày đăng: 07/11/2013, 22:06

HÌNH ẢNH LIÊN QUAN

Hình 2.4.2-b: PM 730 core  Dothan - Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M
Hình 2.4.2 b: PM 730 core Dothan (Trang 11)
1. Sơ đồ khối : - Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M
1. Sơ đồ khối : (Trang 12)
Hình 2: Khối tìm nạp - Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M
Hình 2 Khối tìm nạp (Trang 16)
Hình 3: Bộ giải mã và đổi tên thanh ghi - Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M
Hình 3 Bộ giải mã và đổi tên thanh ghi (Trang 18)
Hình 4: Cách làm việc của bộ đệm Reorder - Báo cáo chi tiết tìm hiểu kiến trúc về vi xử lí Intel Pentium M
Hình 4 Cách làm việc của bộ đệm Reorder (Trang 20)

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