HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
LỚP : D09CN4
NHÓM 4
TIỂU LUẬN
ĐỀ TÀI: TÌM HIỂU KIẾN TRÚC VI XỬ LÝ PENTIUM M
THÀNH VIÊN :
1. Nguyễn Thị Hiền
2. Ngô Ngọc Hà
3. Nguyễn Ngọc Hà
4. Phan Văn Hải
5. Trần Bá Hoàng
6. Trịnh Văn Hiếu
7. Đào Quang Hợp
8. Đỗ Vũ
1
Mục lục
I,GIỚI THIỆU:
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ập trì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áy bàn, laptop hay server, vi xử lý bạn đang sử dụng là loại gì thì chúng cũng
gầ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ết
phả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ới
các phép toán yêu cầu độ chính xác cao
3
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ày cũng được sử dụng trong các CPU Pentium pro, Pentium II, Pentium III
và các CPU 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 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 cho
phé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.
4
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ản
cuố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ữa
nhâ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 đánh dấ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ê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 CPU
Pentium 4, vi xử lý PM khai thác quaq-pump Front SideBus chạy ở 100 và
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ế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.
2.3, Các thông số chính
Processor
Intel® Pentium® M Processor
Processor Number 780, 778, 773, 770,
765, 760, 758, 755,
753, 750, 745, 740,
738, 735, 733J,733,
730, 725, 723,718,
715, 713
NA
Architecture 90 nm, 130 nm process
technology
130 nm process technology
L2 Cache 2MB, 1MB 1MB
Clock Speed 1,5 to 2.26 GHz 1,3 to 1,7GHz
Clock Speed Low Volt 1.30 to 1.60 GHz 1.10 to 1.20 GHz
Clock Speed Ultra Low
Volt
1 to 1.30 GHz 1 GHz and 900 MHz
Front Side Bus 533 or 400 MHz 400 MHz
6
Chipset
Mobile Intel® 915 Express
Chipset Family
• Instruction
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
7
Ngoài ra PM còn có một số đặc trưng sau
.
Đặc trưng Lợi ích
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ăng lượ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 nhu
cầ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ã độc
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ách
2.4.2, Dothan
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
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ô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 mm
2
).
9
Hình 2.4.2-a: Dothan core
Hình 2.4.2-b: PM 730 core Dothan
II, KIẾN TRÚC CỦA VI XỬ 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ì trong
kiế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 so
vớ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ông
nghệ mới này bao gồm 3 nhân tố chính:
• 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.
11
1. Sơ đồ khối :
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ộ đệm
Translation 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ệm
lấ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
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ến tính thành các địa chỉ vật lý cho code cache sử dụng
12
Đơn vị giải mã giải mã các lệnh được đọc vào để đơn vị xử lý có thể
Buffer(BTB) để CPU có thể sử dụng những thông tin này trong mạch dự
đoán rẽ nhánh
14
• 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ăng
cao để 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 khi
tí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ạn
này , thanh ghi gốc mà lệnh sử dụng được đổi thành 1 trong 40
thanh 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 vi
lệnh có sẵn và nếu có một vị trí tại hàng đợi vi lệnh reservation
station 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ị thi
hà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 đã
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ăng
tố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ìm
nạp lệnh, và một cho stack engine
2.1.2, Hiện tượng nút cổ 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
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ì
16
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
khô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 vi
lệnh RISC
Hình II.2.3-a: bộ giải mã lệnh và đổi tên thanh ghi
Có 3 bộ giải mã và một bộ sắp xếp vi lệnh(MIS), hai bộ giải mã được tối
ưu hóa cho các lệnh đơn giản, chúng được sử dụng nhiều nhất. Loại lệnh này
được chuyển đổi thành một micro-op. Bộ giải mã còn lại được tối ưu hóa cho
các lệnh x86 phức tạp, có thể chuyển đổi lên đến 4 vi lệnh. Nếu các lệnh x86
không quá phức tạp, nó sẽ được gửi tới bộ sắp xếp vi lệnh, bao gồm một bộ
nhớ ROM bao hàm một dãy các vi lệnh thay thế cho lệnh x86 ban đầu. Bộ giải
mã lệnh có thể chuyển đổi 3 lệnh x86 trong mỗi chu kỳ clock, một lệnh phức
tạp tại bộ giải mã 0 và hai lệnh đơn giản ở bộ gải mã 1 và 2, trả về hàng đợi
lệnh đã được giải mã 6 vi lệnh mỗi chu kỳ clock. Điều này đạt được khi bộ giải
mã 0 gửi đi 4 lệnh và hai lệnh đến từ hai bộ còn lại. Một lệnh x86 cực kỳ phức
18
tạp có thể cần vài chu kỳ clock để giải mã, phụ thuộc vào bao nhiêu vi lệnh
được sinh ra. Hàng đợi lệnh được giải mã chỉ có thể chứa được tối đa 6 vi lệnh,
nếu có nhiều hơn 6 vi lệnh được sinh ra bởi MIS thì phải cần chu kỳ clock khác
để gửi các vi lệnh này tới RAT.
PM sử dụng một khái niệm mới cho kiến trúc P6 gọi là hợp vi lệnh
(micro-op fusion). Chỉ có đơn vị giải mã PM mới hợp hai vi lệnh thành 1, các
lệnh này sau đó lại được tách ra trước khi đưa vào thi hành. Trong kiến trúc P6,
mỗi vi lệnh dài 118 bit, PM thay vì làm việc với các vi lệnh 118bit, nó làm việc
với vi lệnh 236bit (gộp lại từ hai lệnh 118 bit). Cần nhớ rằng mỗi vi lệnh vẫn có
độ dài 118 bit, chúng chỉ được gói lại với nhau trong quá trình vận chuyển mà
thôi. Ý tưởng đằng sau việc hợp lệnh này là để tiết kiệm năng lượng và tăng
hiệu năng. Rõ ràng việc gửi đi một vi lênh 236 bit nhanh hơn việc phải gửi đi
hai vi lệnh 118 bit. Ngoài ra CPU cũng ít ngốn điện hơn kho có ít vi lệnh trong
• PFADD: Thực thi một lệnh SSE có tên gọi PFADD (Packed FP Add) và cả
các lệnh COMPARE, SUBTRACT, MIN/MAX và CONVERT. Đơn vị này được
cung cấp riêng, chính vì vậy nó có thể bắt đầu việc thực thi một lệnh mới
ở mỗi chu kỳ clock dù chưa thực hiện hết lệnh trước. Khối này có một độ
trễ ba chu kỳ clock.
• Reciprocal Estimates: Thực thi hai lệnh SSE : RCP (Reciprocal.Estimate)
và RSQRT (Reciprocal Square Root Estimate).
• Load: đơn vị này dùng để xử lý các lệnh đòi hỏi dữ liệu từ RAM.
• Store Address: đơn vị xử lý các lệnh yêu cầu dữ liệu được ghi tại bộ nhớ
RAM. Đơn vị này còn được gọi là AGU, Address Generator Unit. Kiểu
lệnh này sử dụng cả hai đơn vị lưu dữ liệu và lưu địa chỉ ở cùng một thời
điểm.
• Store Data: đơn vị xử lý các lệnh hỏi dữ liệu để ghi vào bộ nhơ RAM. các
lệnh phức tạp có thể mất đến vài chu kỳ clock để được xử lý.
Khi cổng 0, nơi đặt FPU trong khi đơn vị này đang xử lý một lệnh rất
phức tạp, mất đến vài clock để thực thi thì cổng 0 sẽ không ngừng hoạt động:
nó luôn luôn gửi các lệnh đơn giản đến IEU trong khi FPU đang bận
Vì vậy, mặc dù tốc độ gửi đi tối đa là 5 lệnh giải mã trên mỗi một chu kỳ clock,
nhưng thực tế CPU có thể tăng lên đến 12 lệnh tại cùng một thời điểm.
khi các lệnh yêu cầu CPU đọc dữ liệu được lưu trữ tại địa chỉ RAM đã cho, đơn
vị lưu trữ địa chỉ (Store Address Unit) và lưu trữ dữ liệu (Store Data Unit) cùng
được sử dụng, một dùng cho tính toán địa chỉ và một dùng cho đọc dữ
liệu. Đây là lý do tại sao cổng 0 và cổng 1 có nhiều đơn vị thực thi. Intel đặt một
đơn vị xử lý nhanh với ít nhất một đơn vị phức tạp trên cùng một cổng. Trong
khi đơn vị phức tạp đang bận xử lý dữ liệu thì các đơn vị khác có thể vẫn nhận
các lệnh đã giải mã từ cổng gửi đi tương ứng của nó để giữ tất cả các đơn vị
thực thi luôn làm việc. Sau mỗi một lệnh đã giải mã được thực thi, nó lại trở về
bộ đệm Reorder Buffer, đây chính là nơi cờ của nó được thiết lập chế độ đã
thực thi. Sau đó tại giai đoạn Retirement , các lệnh đã giải mã có cờ “ đã thực
thi” sẽ được xóa khỏi Reorder Buffer theo thứ tự (như thứ tự khi giải mã ) và
Nếu xây dựng được một vùng bộ nhớ đặc biệt, nhỏ nhưng tốc độ xử lý nhanh
(khoảng 30 nano giây) thì sẽ giảm được một nửa thời gian so với việc truy xuất
vào RAM. Công nghệ này được gọi là L2 Cache.
Cache L1 hay còn gọi là cache chính, là một cache nhỏ, tốc độ cao kết
hợp với bộ xử lý. Pentium M có hai cache L1, một cho dữ liệu và một cho các
lệnh, sử dụng SRAM tốc độ cao thay vì DRAM rẻ nhưng chậm. Bộ nhớ cache
được dùng để chứa các là L2 Cache là một chip nhớ nằm giữa L1 Cache ngay
trên nhân CPU và bộ nhớ hệ thống. Khi CPU xử lý, L1 Cache sẽ tiến hành kiểm
22
tra L2 Cache xem có dữ liệu mình cần không trước khi truy cập vào bộ nhớ hệ
thống. Vì thế, bộ nhớ đệm càng lớn, CPU càng xử lý nhanh hơn. Đó là lý do mà
Intel bên cạnh việc tăng xung nhịp cho nhân chíp, còn chú ý tới việc tăng dung
lượng bộ nhớ Cache. Do giá rất đắt, nên dung lượng Cache không thể tăng ồ ạt
được. Bộ nhớ cache chính L1 Cache vẫn chỉ ở mức từ 8 tới 32 KB. Trong khi, L2
Cache thì được đẩy lên dần tới hiện nay cao nhất là Pentium M Dothan 2 MB
(cho máy tính xách tay) và Pentium 4 Prescott 1 MB (máy để bàn)
2.9, Giao diện bus
Hình 2.9-a: Các bus trong hệ thống máy tính
Trong kiến trúc Dual Independent Bus (DIB - hai tuyến bus độc lập), bus
hệ thống dùng chung được tách thành Frontside Bus (FSB - tuyến bus trước) và
Backside Bus (BSB - tuyến bus sau). FSB là nhịp cầu quan trọng nối bộ xử lý với
bộ nhớ chính và tuyến bus ngoại vi. Trong khi BSB chỉ tập trung chuyển tải dữ
liệu giữa bộ xử lý với bộ đệm thứ cấp. Tách bus hệ thống thành 2 kênh độc lập
góp phần tăng hiệu năng xử lý nhờ cho phép bộ xử lý truy xuất đồng thời trên
cả hai kênh giao tiếp quan trọng. Đôi lúc, thuật ngữ FSB và system bus được
xem là một. Với việc tách thành hai tuyến bus độc lập, kiến trúc P6 đã cải thiện
được tốc độ xử lý một cách đáng kể
23
2. Kiến trúc tập lệnh
Vi xử lý Intel Pentium M sử dụng kiến trúc lệnh x86, độ dài chỉ lệnh không cố
Với chức năng là đóng gói dữ liệu cho việc sử dụng một số nguyên 64
bit, 2 số nguyên 32 bit, 4 số nguyên 16 bit và 8 số nguyên bit có thể xử lý đồng
thời.
Các nhóm lệnh trong MMX:
• Nhóm lệnh truyền dữ liệu: (MOVD, MOVQ) sao chép dữ liệu giữa một
thanh ghi số nguyên 32 bit hoặc một vùng nhớ từ và một thanh ghi MMX
• Nhóm lệnh chuyển đổi: ví dụ dùng để chuyển đổi từ UNICODE sang mã
ASCII, chuyển dòng audio 16 bit sang dòng 8 bit. Nếu có một chuỗi ký tự
ANSI 8 bit, bạn có thể chuyển nó về UNICODE bằng cache đặt một thanh
ghi MMX về 0
• Các lệnh số học: thao tác với tập các byte, từ hoặc từ kép trong khối 64
bit
• Các lệnh logic
• Các lệnh so sánh
• Các lệnh dịch
2.2, SSE (Single SIMD Extentions):
SSE (Streaming SIMD Extension) - tập gồm 70 lệnh mà Intel đưa vào
Pentium III để phục vụ việc xử lý dữ liệu. Các lệnh này hỗ trợ cho xử lý ảnh,
video, âm thanh và dữ liệu ba chiều. Các lệnh SSE có thể xử lý cả các số nguyên
và số thực. Chúng có thể được áp dụng hiệu quả trong các ứng dụng 3 –D hoặc
nén và giải nén hình ảnh. Gồm 8 thanh ghi 128 bit (XMM0 – XMM7), nó sử
dụng một kiểu dữ liệu duy nhất cho mỗi thanh ghi XMM đó là 4 số thực 32 bit.
Nhằm tăng cường chất lượng thực thi các tác vụ đồ họa 3 chiều (3D). Hỗ trợ
25