Tài liệu Đề tài Tìm hiểu về vi xử lý intel – core 2 dual: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
*****************************
BÁO CÁO BÀI TẬP NHÓM
MÔN : KỸ THUẬT VI XỬ LÝ
ĐỀ BÀI : TÌM HIỂU VỀ VI XỬ LÝ INTEL – CORE 2 DUAL
Giảng viên : Hoàng Xuân Dậu
Lớp : D09CNTT1
Nhóm 3:
Nguyễn Công Đức
Đỗ Thanh Duẩn
Lê Đại Dương
Nguyễn Văn Đường
Đặng Thanh Hà
Mục lục
Giới thiệu xuất sứ của Core 2 Dual
Nội dung chính
Sơ đồ kiến trúc Core
Cấu tạo phần cứng Core 2 Dual
Tập lênh của Core 2 Dual
Các đặc điểm công nghệ mới
Tài liệu tham khảo.
I . Giới thiệu xuất xứ của Core 2 Duo
Nền vi xử lý thế hệ mới của Intel ( Core 2 Dual) chính thức được hãng này công bố toàn cầu hôm 28/7/2006 với 10 loại chip cho máy tính để bàn và xách tay. Tích hợp 291 triệu bóng bán dẫn, tiêu thụ điện năng ít hơn 40%, dòng chip được mong đợi từ lâu này có sự hỗ trợ của hơn 550 thiết kế hệ thống - lớn nhất trong lịch sử của Intel.
Vào tháng 1 năm 2006 AMD chính thức tung ra thị trường thế hệ CPU K8 sử dụng socket AM2( socket AM2 có 940 chân).Thế hệ CPU K8...
41 trang |
Chia sẻ: hunglv | Lượt xem: 2117 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Tìm hiểu về vi xử lý intel – core 2 dual, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
*****************************
BÁO CÁO BÀI TẬP NHÓM
MÔN : KỸ THUẬT VI XỬ LÝ
ĐỀ BÀI : TÌM HIỂU VỀ VI XỬ LÝ INTEL – CORE 2 DUAL
Giảng viên : Hoàng Xuân Dậu
Lớp : D09CNTT1
Nhóm 3:
Nguyễn Công Đức
Đỗ Thanh Duẩn
Lê Đại Dương
Nguyễn Văn Đường
Đặng Thanh Hà
Mục lục
Giới thiệu xuất sứ của Core 2 Dual
Nội dung chính
Sơ đồ kiến trúc Core
Cấu tạo phần cứng Core 2 Dual
Tập lênh của Core 2 Dual
Các đặc điểm công nghệ mới
Tài liệu tham khảo.
I . Giới thiệu xuất xứ của Core 2 Duo
Nền vi xử lý thế hệ mới của Intel ( Core 2 Dual) chính thức được hãng này công bố toàn cầu hôm 28/7/2006 với 10 loại chip cho máy tính để bàn và xách tay. Tích hợp 291 triệu bóng bán dẫn, tiêu thụ điện năng ít hơn 40%, dòng chip được mong đợi từ lâu này có sự hỗ trợ của hơn 550 thiết kế hệ thống - lớn nhất trong lịch sử của Intel.
Vào tháng 1 năm 2006 AMD chính thức tung ra thị trường thế hệ CPU K8 sử dụng socket AM2( socket AM2 có 940 chân).Thế hệ CPU K8 này hỗ trợ Ram DDR2 và có thêm một số tính năng và công nghệ mới như: công nghệ máy tính ảo AMD virtualiation, công nghệ “ Integrated Memory Controller ” giúp bảo đảm độ trễ ngắn trong quá trình CPU xử lý dữ liệu. Thời điểm đó vi sử lý K8 của AMD được xem là bộ xử lý với giải pháp tiến bộ nhất, hiển nhiên AMD hơn hẳn Intel về nhiều mặt : ít nhất là về mặt công nghệ Intel còn tỏ ra lạc hậu hơn so với AMD.
Trước thời gian này Intel vẫn còn đang sử dụng kiến trúc NetBurst với thế hệ Pentium 4 chạy với tốc độ 1.5Ghz trên nền Socket 423 chân. Tuy nhiên không muốn AMD vượt mặt quá lâu Intel đã đưa ra một chiến lược công nghệ mới cho riêng mình: công nghệ Dual core ( công nghệ 2 nhân) có tích hợp thêm công nghệ Hyper Threarding ( Công nghệ Siêu phân luồng ) đã ra đời vào năm 2002.Tiêu biểu với sản phẩm Core Duo (được biết đến với tên mã là Yonah), Core Duo là một tên thương mại cho Pentium M processor có hai lõi xử lý và được sản xuất dưới công nghệ 90 nm .
Với sự ra đời của công nghệ Dual Core vị thế của Intel đã được lấy lại nhanh chóng. Không chỉ dừng lại ở đó Intel đã cho ra đời thế hệ lõi kép thứ hai với sản phẩm tiêu biểu là Core 2 Duo. Core 2 Duo là tên thương mại cho bộ vi xử lý có tên mã là Merom (cho các máy laptop) hoặc Conroe (cho các máy desktop), sử dụng kiến trúc mới lõi siêu nhỏ.
Ý tưởng và nền tảng cho Merom bắt đầu từ Banias, tên mã của chip Pentium M đầu tiên. Sau đó, Dothan được giới thiệu là phiên bản Banias 90 nm. Tháng 1 năm đó chip Yonah (Core Duo) 65 nm ra đời và đến tháng 3 thì được quảng bá rộng rãi như vi xử lý lõi đôi đầu tiên cho nền di động của Intel.
Đội thiết kế tại Haifa (Israel) do Mooly Eden (hiện là Phó chủ tịch kiêm tổng giám đốc nền tảng di động của Intel) lãnh đạo là những người phát minh ra nền Banias và cũng là những người phát triển vi kiến trúc Core.
Thực ra đây là kiến trúc tương tự như kiến trúc siêu nhỏ được sử dụng trong Pentium M nhưng có thêm nhiều tính năng mới được bổ sung, như hỗ trợ SIMD instructions, công nghệ Virtualization Technology cho phép chạy cùng lúc nhiều HĐH, tăng cường bảo vệ hệ thống trước sự tấn công của virus (Execute Disable Bit), tối ưu tốc độ VXL nhằm tiết kiệm điện năng (Enhanced Intel SpeedStep Technology), quản lý máy tính từ xa (Intel Active Management Technology).
Các chip mới có 291 triệu bóng bán dẫn, 2 lõi dùng bộ nhớ đệm L2 cache (4 MB cho Core 2 Duo E6000 và T7000; 2 MB cho T5000 và phiên bản E4000). Trong tổ hợp "Core": Woodcrest (Xeon 5100) và 2 chip Core 2 Duo Merom và Conroe thì Merom cung cấp nền tảng công nghệ cho Conroe và Woodcrest.
Core 2 Duo được phát hành dưới dạng các sản phẩm E6000 (trước đây mang tên mã Conroe) dành cho máy tính để bàn và dòng T5000/T7000 (tên mã trước đây là "Merom") dành cho máy xách tay. Chữ "E" biểu thị mức tiêu thụ năng lượng 50 watt và cao hơn (dòng chip chủ đạo E6000 thuộc nhóm tiêu thụ 65 watt); chữ "T" được dùng cho các chip tiêu thụ từ 25 đến 49 watt.
Core 2 Duo với tên mã Conroe có 291 triệu transistor, bộ nhớ đệm L2 4 MB, bus hệ thống 1066 MHz, socket 775LGA. Một số BXL thuộc dòng này:E6600 (2,4 GHz), E6700 (2,66 GHz).
Core 2 Duo với tên mã Allendale (hay Conroe-L) E6300 (1,86 GHz), E6400 (2,13 GHz) có 167 triệu transistor, bộ nhớ đệm L2 2MB, bus hệ thống 1066 MHz, socket 775LGA. Riêng E4300 (1,8 GHz) xuất hiện năm 2007 có bộ nhớ đệm L2 2 MB, bus 800 MHz, không hỗ trợ Virtualization Technology.
Core 2 Duo tên mã Merom dành cho MTXT có công suất tiêu thụ chuẩn TDP là 35W và gây ấn tượng sâu sắc với công suất 5W khi chạy kiểu ULV (Ultra Low Voltage) . Intel tuyên bố bộ vi xử lí mới Core 2 của họ chạy nhanh hơn 20% khi cùng với mức tiêu thụ điện năng so với bộ vi xử lí Core Duo.
*Một số thông số của Merom:
- Công nghệ sản xuất: 65 nm- Kích thước nhân: 143 mm2- Transistors: 291 triệu- Tốc độ xung nhịp: 1.06 GHz – 2.4 GHz - FSB: 533 MHz – 800 MHz- Bộ nhớ Cache L1: 32 KB + 32 KB- Bộ nhớ Cache L2: 2 MB – 4 MB Shared- Số tầng Pipeline: 14- Số bộ Decoder: 1 Complex + 3 Simple- Tốc độ giải mã nhanh nhất: 4 + 1
Các thông số chính Intel® Core™2 Duo Processor
- Kiểu chân: Soket LGA775
- Sản xuất dựa trên xử lí 65 nm.
- Tốc độ xử lý từ 1,8GHz đến >= 3,16GHz
- Tốc độ FSB: 800MHz, 1066MHz và 1333MHz
- Bộ nhớ Cache L1 cho lệnh 32 KB và dữ liệu 32KB cho mỗi lõi.
- Cache L2 từ 2MB đến 6MB dùng chung cho cả 2 nhân
- Tương thích với Memory là DDR2
- Chipset hỗ trợ là Intel 945GC, 945GT, 946PL, 946GZ, Q963, Q965, P965,G965
- Tập lệnh MMX, SSE, SSE2, SSE3.
- Hỗ trợ công nghệ Intel Virtualization (trừ Core 2 Duo E4300)
- Hỗ trợ côngnghệ Intel EM64T .
- Hỗ trợ Execute Disable Bit.
- Khả năng quản lí nguồn thông minh - Intelligent Power Capability.
- Hỗ trợ công nghệ Enhanced SpeedStep
II. Nội dung chính
A.Sơ đồ kiến trúc core
Để hiểu về các vi cấu trúc core chúng ta trở về lịch sử các dòng core của intel ,dòng core 2 nhân đầu tiên của Intel là Dual core(ở đây chúng tôi chỉ đê cập đến dòng 2 nhân trở lên). Nó có 2 CPU thật, hoàn chỉnh bên trong 1 con chip. Core Duo được sản xuất bằng công nghệ 65nm (tên mã là Yonah). Core Duo dùng kiến trúc lõi siêu nhỏ gần giống với Pentium nhưng được bổ sung thêm nhiều tính năng mới. Bộ nhớ đệm cấp 2 (Cache L2) của Core Duo được chia đều cho mỗi nhân. Nghĩa là nếu Cache L2 là 2 MB thì nhân 1 và nhân 2 được sử dụng tối đa là 1 MB dù dư dù thiếu ,chính vì điều này giải thích vì sao dòng dual core hao tốn điện năng và tốc độ .
Cấu trúc Dual Core
Khắc phục nhược điểm của dòng dual core intel cho ra đòi dòng Core 2 duo .Core 2 duo ngoài những tính năng mới thì cải tiến tiêu biểu nhất là việc Share dung lượng Cache L2 của 2 nhân. Nghĩa là nếu Cache L2 là 2 MB thì nhân 1 không phải dùng cố định 1 MB nữa mà nếu có thiếu thì lấy phần dung lượng dư của nhân 2 dùng tiếp (điều này đối với Core Duo là không thể) nên việc xử lý sẽ nhanh hơn (vì khi Core Duo xài hết 1 MB L2 Cache mà vẫn còn thiếu thì sẽ truy xuất vào RAM để lấy dữ liệu, mà RAM thì có tốc độ truy xuất chậm hơn Cache L2). Các bộ vi xử lý Core 2 Duo từ E7200 trở về sau đã được sản xuất theo công nghệ 45nm .
Cấu trúc Core 2 duo
Như vậy vi cấu trúc core đươc hiểu theo cách nôm na là sư cải tiến về mặt số lượng nhân và cache.
Kiến trúc Core có 5 cổng gửi đi nhưng ba trong số chúng được sử dụng cho việc gửi các chỉ lệnh nối micro-ops đến các khối thựcthi. Điều đó có nghĩa rằng các CPU đang sử dụng kiến trúc Core đó có thể gửi ba địa chỉ lệnh micro-ops đến khối thực thi trên một chu kỳ clock.
Kiến trúc Core cung cấp một FPU mở rộng và một IEU mở rộng (ALU) khi chúngta mang ra so với kiến trúc Pentium M. Điều này có nghĩa rằng kiến trúcCore có thể xử lý đến ba chỉ lệnh số nguyên trên một chu kỳ clock,trong khi Pentium M chỉ có hai.
Sơ đồ khối chính của các khối thực thi trong kiến trúc Core.
IEU: Instruction ExecutionUnit là nơi các chỉ lệnh được thực thi. Khối này cũng được biết đến là khối ALU (Arithmetic and Logic Unit). Các chỉ lệnh thông thường cũng được biết là các chỉ lệnh số nguyên.
JEU: Jump Execution Unit xử lý rẽ nhánh và cũng được biết đến với tên Branch Unit.
FPU:Floating-Point Unit. Khối này chịu trách nhiệm cho việc thực thi các biểu thức toán học floating-point và cũng cả các chỉ lệnh MMX và SSE.Trong CPU này, các FPU không “hoàn thiện” vì một số kiểu chỉ lệnh(FPmov, FPadd và FPmul) chỉ được thực thi trên các FPU nào đó:
FPadd: Chỉ có FPU này mới có thể xử lý các chỉ lệnh cộng floating-point như ADDPS.
FPmul: Chỉ có FPU này mới có thể xử lý các chỉ lệnh nhân floating-point như MULPS
FPmov:Các chỉ lệnh cho việc nạp hoặc copy một thanh ghi FPU, như MOVAPS (đượcdùng để truyền tải dữ liệu đến thanh ghi SSE 128-bit XMM). Kiểu chỉlệnh này có thể được thực thi trên các FPU, nhưng chỉ trên các FPU thứhai và thứ ba nếu các chỉ lệnh Fpadd hay Fpmul không có trongReservation Station.
Load: khối này dùng để xử lý các chỉ lệnh yêu cầu dữ liệu được đọc từ bộ nhớ RAM.
Store Data: Khối này xử lý các chỉ lệnh yêu cầu dữ liệu được ghi vào bộ nhớ RAM.
B.Cấu tạo phần cứng CPU( Core 2 Dual)
Nhìn một cách tổng thể hệ thống trên chúng ta có thế thấy rằng vi sử lý core 2 duo bao gồm ba thành phần chính đó là:
+ CPU là bộ sử lý trung tâm của hệ thống và nằm ở vị trí trên cùng.Các thành phần chính của CPU gồm khối tính toán ALU , bộ sử lý trung tâm CU và các BUS hệ thống có băng thông lớn . Chức năng chính của CPU là tiến hành các thao tác tính toán xử lý, đưa ra các tín hiệu địa chỉ, dữ liệu và điều khiển nhằm thực hiện một nhiệm vụ nào đó do người lập trình đưa ra thông qua các lệnh.
+ Chip Cầu Bắc(North Bridge) là IC quan trọng nhất trên Mainboard, nó quyết định độ mạnh và giá thành của Main. Chip Cầu Bắc điều khiển trực tiếp các thành phần như :
o Điều khiển CPUo Điều khiển bộ nhớ RAMo Điều khiển Video Card
o Và trao đổi dữ liệu với Chip Cầu Nam.
Các thành phần do Chip Cầu Bắc thực hiện (CPU, RAM, Video Card) phải đồng bộ với nhau và thuộc phạm vi của Chip Cầu Bắc hỗ trợ thì chúng mới doạt động được.
Trong thực tế, mỗi loại Chip Cầu Bắc chỉ hỗ trợ khoảng 2 loại CPU, 2 loại RAM và 2 loại Video Card, nếu bạn sử dụng CPU hay RAM hay Video Card mà Chip Cầu Bắc không hỗ trợ thì nó sẽ không hoạt động được.
+ Chíp Cầu Nam(South Bridge) còn gọi là I/O Controller Hud (ICH), là một chip đảm nhiệm những việc có tốc độ chậm của Mainboard trong Chipset. Khác với Chip Cầu Bắc, Chip Cầu Nam không được kết nối trực tiếp với CPU, chính xác hơn Chíp Cầu Nam kết nối với CPU thông qua Chíp Cầu Bắc. Vì Chíp Cầu Nam được đặt xa CPU hơn, nó được giao trách nhiệm liên lạc với các thiết bị có tốc độ chậm hơn. Một Chip Cầu Nam điển hình thường có thể làm việc được với vài loại Chip Cầu Bắc khác nhau. Trước đây cổng giao tiếp chung giữa Chip Cầu Bắc và Chip Cầu Nam đơn giản là BUS PCI, hiện nay phần lớn các Chipset hiện thời sử dụng giao các giao tiếp chung được thiết kế độc quyền có hiệu năng cao hơn.
Tên gọi “Chip Cầu Nam” bắt nguồn từ việc vẽ một kiến trúc trên sơ đồ.Nhiệm vụ chính của Chip cầu Nam là kết nối :
o Với Chip cầu bắc
o Cổng USB 2.0
o Ổ đĩa cứng
o Và các cổng giao tiếp
C.Tập lệnh của core 2 duo
1 .TỔ CHỨC LỆNH CỦA VI XỬ LÝ Core 2 Duo
a. Dạng lệnh :
- Một lệnh của vi xử lý Core 2 Duo có dạng tổng quát như sau :
,
- Mã gợi nhớ giúp cho người sử dụng biết hoạt động của lệnh. Mã gợi nhớ thường là
các chữ tiếng anh viết tắt như : MOV là lệnh chuyển, ADD là lệnh cộng, AND là lệnh
và luận lý, JMP là lệnh nhảy . . .
- Toán hạng đích giữ kết quả (nếu có yêu cầu) sau khi thi hành lệnh. Toán hạng đích
có thể là thanh ghi hay bộ nhớ.
- Toán hạng nguồn có thể là thanh ghi, bộ nhớ hay một số tức thời.
- Toán hạng thanh ghi là các thanh ghi của vi xử lý 86 gồm các thanh ghi tổng quát (8
bit lẫn 16 bit) và các thanh ghi đoạn đã biết.
- Toán hạng số tức thời có thể là số trong các hệ đếm khác nhau và được viết theo qui
định như sau :
. Số hệ 2 : ××××××××B (× là 1 bit nhị phân).
Ví dụ : 01101101B, 11111111B
. Số hệ 10 : ××××× , hay ×××××D (× là một số thuộc hệ 10).
Ví dụ : 65535, 1000
. Số hệ 16 : ××××H và bắt đầu bằng số ( là một số thuộc hệ 16).
Ví dụ : 1A59H, 0E05BH
- Toán hạng bộ nhớ dùng trong tập lệnh vi xử lý 86 sử dụng phương pháp định địa chỉ tổng hợp được gọi là địa chỉ hiệu dụng.
b Địa chỉ hiệu dụng :
- Địa chỉ hiệu dụng là tổ hợp của 3 nhóm sau được đặt trong dấu ngoặc vuông [ ]:
. Nhóm thanh ghi chỉ số : SI, DI
. Nhóm thanh ghi nền : BX, BP
. Địa chỉ trực tiếp : số 16 bit
- Các thanh ghi trong cùng một nhóm không được xuất hiện trong cùng một địa chỉ hiệu dụng.
- Địa chỉ hiệu dụng chính là thành phần offset của địa chỉ luận lý bộ nhớ.
- Segment của địa chỉ hiệu dụng được mặc định như sau :
. Nếu không sử dụng BP trong địa chỉ hiệu dụng thì mặc định theo thanh ghi DS.
. Nếu có BP trong địa chỉ hiệu dụng thì mặc định theo thanh ghi SS.
- Các hoạt động thực hiện trên bộ nhớ thông qua địa chỉ hiệu dụng chia ra làm 2 trường hợp : hoạt động 8 bit và hoạt động 16 bit.
- Hoạt động bộ nhớ 8 bit làm việc trên 1 byte bộ nhớ ngay vị trí chỉ ra bởi địa chỉ hiệu dụng.
- Hoạt động bộ nhớ 16 bit sẽ làm việc trên 2 byte bộ nhớ có địa chỉ kế tiếp nhau và nội dung của chúng được ghép lại thành dữ liệu 16 bit theo qui tắc "byte cao địa chỉ cao, byte thấp địa chỉ thấp"
- Để thuận tiện trong vấn đề giải thích lệnh, ta qui ước thêm cách diễn tả sau :
. Dữ liệu 8 bit của bộ nhớ : [địa chỉ ]
. Dữ liệu 16 bit của bộ nhớ : [địa chỉ +1,địa chỉ]
- Để xác định rõ hoạt động của bộ nhớ, ta phải dùng thêm toán tử PTR như sau :
. Hoạt động 8 bit : BYTE PTR [1000h] là tham khảo 1 byte bộ nhớ có địa
chỉ 1000h
. Hoạt động 16 bit : WORD PTR [1000h] là tham khảo đến 2 byte bộ nhớ
liên tiếp 1000h và 1001h
2. CÁC NHÓM LỆNH CỦA VI XỬ LÝ Core 2 Duo
Ký hiệu qui ước :
- Các chữ viết tắt dùng trong các nhóm lệnh :
reg : thanh ghi tổng quát.
reg16 : thanh ghi 16 bit.
segreg : thanh ghi đoạn.
accum : thanh ghi bộ tích lũy AX hoặc AL.
mem : bộ nhớ (địa chỉ hiệu dụng).
mem16 : bộ nhớ 2 byte liên tiếp (địa chỉ hiệu dụng).
mem32 : bộ nhớ 4 byte liên tiếp (địa chỉ hiệu dụng).
immed : số tức thời.
immed8 : số tức thời 8 bit.
shortlabel : nhãn ngắn (-128 byte +127 byte).
nearlabel : nhãn trong đoạn (2 byte offset).
farlabel : nhãn ngoài đoạn (4 byte : 2 byte segment và 2 byte offset).
a. Nhóm lệnh chuyển dữ liệu :
Lệnh MOV :
- Dạng lệnh : MOV reg,reg MOV reg,immed
MOV mem,reg MOV mem,immed
MOV reg,mem MOV mem16,segreg
MOV reg16,segreg MOV segreg,mem16
MOV segreg,reg16
MOV DL,BH ; DL ← BH
MOV [SI+1000h],BP ; [SI+1001h, SI+1000h] ← BP
MOV DX,[1000h] ; DX ← [1001h,1000h]
MOV DX,DS ; DX ← DS
MOV ES,BX ; ES ← BX
MOV DI,12h ; DI ← 12h
MOV AL,12h ; AL ← 12h
a Lệnh PUSH :
- Dạng lệnh : PUSH reg16 PUSH segreg
PUSH mem16
- Giải thích : SP ← SP-2
[SS:SP+1,SS:SP] ← thn
Lệnh POP :
- Dạng lệnh : POP reg16 POP segreg
POP mem16
- Giải thích : thđ ← [SS:SP+1,SS:SP] SP ← SP+2
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Lấy dữ liệu từ đỉnh chồng vào toán hạng đích.
Lệnh IN :
- Dạng lệnh : IN accum,immed8 IN accum,DX
- Giải thích : btl ← [cổng IO]
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Nhập dữ liệu từ cổng xuất nhập vào thanh ghi bộ tích lũy AL hay AX. Trường
hợp AX sẽ nhập byte thấp trước, byte cao sau.
Lệnh OUT :
- Dạng lệnh : OUT immed8,accum
OUT DX,accum
- Giải thích : [cổng IO] ← btl
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Xuất dữ liệu từ thanh ghi bộ tích lũy AL hoặc AX ra cổng xuất nhập có địa chỉ 8
bit là số tức thời immed8 hay có địa chỉ 16 bit trong thanh ghi DX.
Lệnh XLAT :
- Dạng lệnh : XLAT
- Giải thích : AL ← [DS:BX+AL]
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Lệnh XLAT có ứng dụng trong mã hóa dữ liệu.
Lệnh LEA :
- Dạng lệnh : LEA reg16,mem
- Giải thích : thđ ← địa chỉ
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Nạp địa chỉ hiệu dụng vào thanh ghi 16 bit.
Lệnh LDS :
- Dạng lệnh : LDS reg16,mem32
- Giải thích : DS ← [địa chỉ+3,địa chỉ+2]
thđ ← [địa chỉ+1,địa chỉ]
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Nạp 4 byte bộ nhớ (con trỏ) vào thanh ghi DS và một thanh ghi tổng quát.
Lệnh LES :
- Dạng lệnh : LES reg16,mem32
- Giải thích : ES ← [địa chỉ+3,địa chỉ+2]thđ ← [địa chỉ+1,địa chỉ]
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Nạp 4 byte bộ nhớ (con trỏ) vào thanh ghi ES và một thanh ghi tổng quát.
Lệnh PUSHF :
- Dạng lệnh : PUSHF
- Giải thích : SP ← SP - 2 [SS:SP+1,SS:SP] ← Flags
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Đẩy thanh ghi cờ vào chồng.
Lệnh POPF :
- Dạng lệnh : POPF
- Giải thích : Flags ← [SS:SP+1,SS:SP] SP ← SP + 2
- Tác động cờ : OF DF IF SF ZF AF PF CF
- Lấy thanh ghi cờ từ chồng ra.
b. Nhóm lệnh số học :
Lệnh ADD :
- Dạng lệnh : ADD reg,reg ADD reg,immed
ADD mem,reg ADD mem,immed
ADD reg,mem ADD accum,immed
- Giải thích : thđ ← thđ + thn
- Cộng toán hạng nguồn vào toán hạng đích. Kết quả cất vào toán hạng đích.
Lệnh ADC :
- Dạng lệnh : ADC reg,reg ADC reg,immed
ADC mem,reg ADC mem,immed
ADC reg,mem ADC accum,immed
- Giải thích : thđ ← thđ + thn + CF
- Cộng toán hạng đích với toán hạng nguồn với cờ nhớ. Kết quả cất vào toán hạng
đích. ADC dùng cho phép cộng 2 số có chiều dài nhiều byte.
Lệnh INC :
- Dạng lệnh : INC reg INC mem
- Giải thích : thđ ← thđ + 1
- Tăng tức là cộng 1 vào toán hạng đích nhưng không ảnh hưởng cờ nhớ.
Lệnh AAA :
- Dạng lệnh : AAA
- Giải thích : Nếu (b3b2b1b0 của AL) > 9 hoặc AF=1 thì
AL ← (AL+6) and 0Fh, AH ← AH+1, CF ← 1, AF ← 1
- Chỉnh ASCII sau phép cộng. Chỉnh kết quả trong AL thành 2 số BCD không nén trong AH và AL.
Lệnh DAA :
- Dạng lệnh : DAA
- Giải thích : Nếu (b3b2b1b0 của AL) > 9 hoặc AF=1 thì
AL ← (AL+6), AF ← 1
Nếu AL > 9Fh hoặc CF=1 thì
AL ← AL+60h, CF ← 1
- Chỉnh thập phân sau phép cộng. Chỉnh kết quả trong AL thành số BCD nén trong AL.
Lệnh SUB :
- Dạng lệnh : SUB reg,reg SUB reg,immed
SUB mem,reg SUB mem,immed
SUB reg,mem SUB accum,immed
- Giải thích : thđ ← thđ - thn
- Trừ toán hạng đích cho toán hạng nguồn. Kết quả cất vào toán hạng đích.
Lệnh SBB :
- Dạng lệnh : SBB reg,reg SBB reg,immed
SBB mem,reg SBB mem,immed
SBB reg,mem SBB accum,immed
- Giải thích : thđ ← thđ - thn - CF
. Lệnh DEC :
- Dạng lệnh : DEC reg DEC mem
- Giải thích : thđ ← thđ - 1
- Giảm tức là trừ 1 vào toán hạng đích nhưng không ảnh hưởng cờ nhớ.
Lệnh NEG :
- Dạng lệnh : NEG reg NEG mem
- Giải thích : thđ ← bù 2(thđ)
- Lấy bù 2 toán hạng đích.
Lệnh CMP :
- Dạng lệnh : CMP reg,reg CMP reg,immed
CMP mem,reg CMP mem,immed
CMP reg,mem CMP accum,immed
- Giải thích : thđ - thn
- So sánh. Thực hiện trừ toán hạng đích cho toán hạng nguồn, không lưu lại kết quả
mà chỉ giữ lại tác động của phép trừ lên các cờ.
Lệnh AAS :
- Dạng lệnh : AAS
- Giải thích : Nếu (D3D2D1D0 của AL) > 9 hoặc AF=1 thì
AL ← (AL - 6) and 0Fh, AH ← AH - 1, CF ← 1, AF ← 1
- Chỉnh ASCII sau phép cộng. Chỉnh kết quả trong AL thành 2 số BCD không nén trong AH và AL.
Lệnh DAS :
- Dạng lệnh : DAS
- Giải thích : Nếu (D3D2D1D0 của AL) > 9 hoặc AF=1 thì
AL ← (AL - 6), AF ← 1
Nếu AL > 9Fh hoặc CF=1 thì
AL ← AL - 60h, CF ← 1
- Chỉnh thập phân sau phép trừ. Chỉnh kết quả trong AL thành số BCD nén trong AL.
Lệnh MUL :
- Dạng lệnh : MUL reg MUL mem
- Giải thích : Toán hạng nguồn 8 bit thì : AX ← AL * thn8
Toán hạng nguồn 16 bit thì : DX AX ← AX * thn16
- Nhân hai số không dấu 8 bit hay 16 bit. Số bit thực hiện được xác định bằng chiều dài của toán hạng nguồn.
Lệnh DIV :
- Dạng lệnh : DIV reg DIV mem
- Giải thích : Toán hạng nguồn 8 bit thì : AL ← (AX / thn8)
AH ← số dư của (AX / thn8)
Toán hạng nguồn 16 bit thì : AX ← (DXAX / thn16)
DX ← số dư của (DXAX / thn16)
- Chia hai số không dấu.
Lệnh IDIV :
- Dạng lệnh : IDIV reg IDIV mem
- Chia hai số có dấu. Thực hiện giống như lệnh DIV nhưng kết quả coi là số có dấu.
Lệnh AAD :
- Dạng lệnh : AAD
- Giải thích : AL ← ((AH * 0Ah) + AL)
AH ← 0
- Chỉnh ASCII trước phép chia IDIV. Có thể dùng lệnh này để đổi số BCD không nén trong AX ra thành giá trị nhị phân trong AL.
Lệnh CWD :
- Dạng lệnh : CWD
- Giải thích : Nếu AX < 8000h thì DX ← 0000h
Nếu AX >= 8000h thì DX ← 0FFFFh
- Mở rộng dấu trước khi dùng lệnh chia. Đổi số 2 byte có dấu trong AX thành số 4 byte có dấu trong DXAX.
C.Nhóm lệnh luận lý :
Lệnh NOT :
- Dạng lệnh : NOT reg NOT mem
- Giải thích : thđ ← bÓ 1 của thđ
- Đảo hay lấy bù 1.
Lệnh SHL/SAL :
- Dạng lệnh : SHL reg,1 SHL mem,1
SHL reg,CL SHL mem,CL
- Giải thích : thđ ← (thđ) dịch trái 1 hay nhiều bit.
- Dịch trái. Dạng SHL reg,1 dùng để dịch trái 1 bit. Dạng SHL reg,CL dùng để dịch trái nhiều bit. Lúc đó thanh ghi CL chứa số bit cần dịch.
Lệnh SHR :
- Dạng lệnh : SHR reg,1 SHR mem,1
SHR reg,CL SHR mem,CL
- Giải thích : thđ ← (thđ) dịch phải luận lý 1 hay nhiều bit.
- Dịch phải luận lý. Dạng có thanh ghi CL dùng để dịch nhiều bit.
Lệnh SAR :
- Dạng lệnh : SAR reg,1 SAR mem,1
SAR reg,CL SAR mem,CL
- Giải thích : thđ ← (thđ) dịch phải số học 1 hay nhiều bit.
- Dịch phải số học. Dạng có thanh ghi CL dùng để dịch nhiều bit.
Lệnh ROL :
- Dạng lệnh : ROL reg,1 ROL mem,1
ROL reg,CL ROL mem,CL
- Giải thích : thđ ← (thđ) quay trái không qua cờ nhớ 1 hay nhiều bit.
- Quay trái không qua cờ nhớ. Dạng có thanh ghi CL dùng để quay nhiều bit.
Lệnh ROR :
- Dạng lệnh : ROR reg,1 ROR mem,1
ROR reg,CL ROR mem,CL
- Giải thích : thđ ← (thđ) quay phải không qua cờ nhớ 1 hay nhiều bit.
- Quay phải không qua cờ nhớ. Dạng có thanh ghi CL dùng để quay nhiều bit.
Lệnh RCL :
- Dạng lệnh : RCL reg,1 RCL mem,1
RCL reg,CL RCL mem,CL
- Giải thích : thđ ← (thđ) quay trái qua cờ nhớ 1 hay nhiều bit.
- Quay trái qua cờ nhớ. Dạng có thanh ghi CL dùng để quay nhiều bit.
Lệnh RCR :
- Dạng lệnh : RCR reg,1 RCR mem,1
RCR reg,CL RCR mem,CL
- Giải thích : thđ ← (thđ) quay phải qua cờ nhớ 1 hay nhiều bit.
- Quay phải qua cờ nhớ. Dạng có thanh ghi CL dùng để quay nhiều bit.
Lệnh AND :
- Dạng lệnh : AND reg,reg AND reg,immed
AND mem,reg AND mem,immed
AND reg,mem AND accum,immed
- Giải thích : thđ ← thđ AND thn.
- Và luận lý. Xóa cờ nhớ về 0.
Lệnh TEST :
- Dạng lệnh : TEST reg,reg TEST reg,immed
TEST mem,reg TEST mem,immed
TEST reg,mem TEST accum,immed
Lệnh OR :
- Dạng lệnh : OR reg,reg OR reg,immed
OR mem,reg OR mem,immed
OR reg,mem OR accum,immed
- Giải thích : thđ ← thđ OR thn.
- Hay luận lý. Xóa cờ nhớ về 0.
Lệnh XOR :
- Dạng lệnh : XOR reg,reg XOR reg,immed
XOR mem,reg XOR mem,immed
XOR reg,mem XOR accum,immed
- Giải thích : thđ ← thđ XOR thn.
- Hay ngoại luận lý. Xóa cờ nhớ về 0.
Lệnh SCAS :
- Dạng lệnh : SCASB
SCASW
- Quét chuỗi nghĩa là so sánh byte trong thanh ghi AL hay word trong thanh ghi AX với chuỗi đích. Cặp thanh ghi ES:DI giữ địa chỉ chuỗi đích. Địa chỉ chuỗi đích được tự động tăng hay giảm sau mỗi lần so sánh. Chiều tăng giảm địa chỉ tùy thuộc cờ định hướng DF. DF=0 xử lý tăng địa chỉ. DF=1 xử lý giảm địa chỉ.
- Lệnh này thường dùng kết hợp với tiếp đầu lệnh REPNE để thực hiện việc tìm kiếm một dữ liệu trong một chuỗi. Lúc đó thanh ghi CX giữ chiều dài chuỗi.
- Có thể có hai nguyên nhân làm ngừng lệnh quét chuỗi : hoặc tìm thấy dữ liệu
trong chuỗi (ZF=1 hay CX 0), hoặc hết chuỗi mà vẫn chưa tìm thấy dữ liệu (ZF=0 hay CX=0).
Lệnh LODS :
- Dạng lệnh : LODSB
LODSW
- Nạp chuỗi nguồn byte vào thanh ghi AL hay chuỗi nguồn word vào thanh ghi AX. Cặp thanh ghi DS:SI giữ địa chỉ chuỗi nguồn. Địa chỉ chuỗi nguồn được tự động tăng hay giảm sau mỗi lần nạp. Chiều tăng giảm địa chỉ tùy thuộc cờ định hướng DF. DF=0 xử lý tăng địa chỉ. DF=1 xử lý giảm địa chỉ.
Lệnh STOS :
- Dạng lệnh : STOSB
STOSW
- Cất byte trong thanh ghi AL hay word trong thanh ghi AX vào chuỗi đích. Cặp thanh ghi ES:DI giữ địa chỉ chuỗi đích. Địa chỉ chuỗi đích được tự động tăng hay giảm sau mỗi lần cất. Chiều tăng giảm địa chỉ tùy thuộc cờ định hướng DF. DF=0 xử lý tăng địa chỉ. DF=1 xử lý giảm địa chỉ.
d. Chuyển điều khiển :
Lệnh CALL :
- Dạng lệnh : CALL nearlabel CALL mem16
CALL farlabel CALL mem32
CALL reg16
- Địa chỉ trở về chính là nội dung hiện tại của cặp thanh ghi CS:IP.
- Với lệnh gọi gián tiếp qua bộ nhớ ta có thể tổ chức sắp xếp các địa chỉ chương trình con thành một bảng trong bộ nhớ gọi là bảng nhảy. Lúc đó mỗi chương trình con sẽ được gọi theo số thứ tự của nó trong bảng nhảy.
Lệnh JMP :
- Dạng lệnh : JMP shortlabel JMP mem16
JMP nearlabel JMP mem32
JMP farlabel JMP reg16
- Nhảy không điều kiện. Lệnh nhảy không điều kiện thực hiện giống như lệnh gọi nhưng không có bước lưu lại địa chỉ trở về.
- Lệnh nhảy đến nhãn ngắn shortlabel là lệnh nhảy tương đối. Nơi đến phải nằm trong phạm vi từ -128 đến +127 so với vị trí của lệnh nhảy. Toán hạng nguồn trong lệnh chỉ là byte độ dời để cộng thêm vào thanh ghi IP. Byte độ dời này được mở rộng dấu trước khi cộng vào thanh ghi IP.
Lệnh RET :
- Dạng lệnh : RET RETF
RET immed8 RETF immed8
- Trở về từ chương trình con. Lệnh trở về là lệnh dùng để kết thúc một chương trình con.
- Lệnh RET để kết thúc một chương trình con gần.
- Lệnh RETF để kết thúc một chương trình con xa.
- Dạng lệnh trở về có toán hạng immed8 dùng cho các chương trình con có sử dụng thông số trong chồng. Khi đó, toán hạng nguồn immed8 sẽ được cộng vào thanh ghi SP để chỉnh lại vị trí đỉnh chồng sau khi gọi chương trình con, tránh thất thoát bộ nhớ dùng cho chồng.
Lệnh nhảy có điều kiện :
- Dạng lệnh : Jcond shortlabel
- Giải thích : Nếu thỏa điều kiện thì nhảy tương đối
IP ← địa chỉ lệnh kế + độ dời (mở rộng dấu 16 bit)
ngược lại không làm gì cả (qua lệnh kế).
- Lệnh nhảy có điều kiện dùng trạng thái các cờ để làm điều kiện.
Lệnh LOOP :
f. Lệnh JCXZ :
- Dạng lệnh : JCXZ shortlabel
- Giải thích : Nếu CX = 0 thì
IP ← địa chỉ lệnh kế + dộ dời (mở rộng dấu 16 bit)
- Nhảy nếu CX=0. Thường dùng sau LOOPE, LOOPNE, REPE, REPNE để xác định nguyên nhân kết thúc vòng lặp.
Lệnh INT :
- Dạng lệnh : INT immed8
INT 3
- Ngắt quãng mềm. Thực chất của lệnh ngắt quãng là gọi đến một chương trình con đặc biệt gọi là chương trình phục vụ ngắt quãng.
- Cách thực hiện lệnh ngắt quãng chính là cách gọi xa gián tiếp qua bộ nhớ 32 bit.
- Số ngắt 1 byte immed8 cung cấp trong lệnh chính là số thứ tự của chương trình con phục vụ ngắt quãng. Nhờ vậy nên mặc dù lệnh ngắt quãng là lệnh gọi xa nhưng lại rất ngắn.
- Bảng nhảy trong trường hợp này được gọi là bảng vector ngắt quãng. Vị trí của vector ngắt quãng được xác định bằng cách lấy số ngắt nhân 4. Kết quả này có thể xem là địa chỉ vật lý cũng được hoặc là địa chỉ offset lấy theo segment 0000 cũng được.
- Điểm khác biệt giữa lệnh ngắt quãng và lệnh gọi xa là thao tác cất thanh ghi trạng thái (cờ) vào chồng PUSHF. Chính vì thế nên chương trình con phục vụ ngắt quãng phải được kết thúc bằng một lệnh trở về khác là IRET.
- Các chương trình con phục vụ ngắt quãng thường được dùng cho các chương trình hệ thống (hệ điều hành, chương trình giao tiếp với các thiết bị, các chương trình con sử dụng thường xuyên, ...) hơn là dùng cho chương trình của người sử dụng.
- Số ngắt cũng theo qui ước của hệ thống như sau :
00h ÷ 07h : ngắt hệ thống.
08h ÷ 0Fh, 70h ÷ 77h : ngắt cứng.
Còn lại : ngắt mềm.
- Một số ngắt thông dụng :
INT 10h : màn hình.
INT 13h : đĩa.
INT 14h : thông tin liên lạc.
INT 16h : bàn phím.
INT 17h : máy in
INT 21h : các phục vụ của MS-DOS.
INT 20h : kết thúc chương trình, trở về DOS.
- Mỗi chương trình con phục vụ ngắt quãng có thể thực hiện nhiều chức năng bên trong nghĩa là các phục vụ được chia nhỏ ra nữa. Ví dụ ngắt phục vụ màn hình có chức năng chọn chế độ màn hình, chức năng định vị điểm nháy (cursor), chức năng xuất ký tự ra màn hình, chức năng đồ họa, . . .
- Thông số của chương trình phục vụ ngắt quãng thường được truyền thông qua các thanh ghi đầu vào (input) và kết quả thi hành chương trình con sẽ giữ trong các thanh ghi đầu ra (output).
Lệnh INTO :
- Dạng lệnh : INTO
- Giải thích : PUSHF
PUSH CS
PUSH IP
- Ngắt quãng nếu tràn (OF = 1).
Lệnh IRET :
- Dạng lệnh : IRET
- Giải thích : POP IP
POP CS
POPF
- Trở về từ chương trình phục vụ ngắt quãng.
Điều khiển bộ xử lý :
* Lệnh CLC :
- Dạng lệnh : CLC
- Giải thích : CF ← 0
- Xóa cờ nhớ về 0.
* Lệnh STC :
- Dạng lệnh : STC
- Giải thích : CF ← 1
- Lập cờ nhớ lên 1.
* Lệnh CMC :
- Dạng lệnh : CMC
- Giải thích : CF ← bù 1 của CF
- Lấy bù cờ nhớ.
* Lệnh NOP :
- Dạng lệnh : NOP
- Giải thích : không làm gì cả
- Không làm gì cả. Dùng để tạo ra các khoảng làm trễ ngắn.
* Lệnh CLD :
- Dạng lệnh : CLD
- Giải thích : DF ← 0
- Xóa cờ định hướng về 0. Xử lý tăng địa chỉ trong các lệnh xử lý chuỗi.
* Lệnh STD :
- Dạng lệnh : STD
- Giải thích : DF ← 1
- Lập cờ định hướng lên 1. Xử lý giảm địa chỉ trong các lệnh xử lý chuỗi.
* Lệnh CLI :
- Dạng lệnh : CLI
- Giải thích : IF ← 0
- Xóa cờ ngắt quãng về 0. Cấm ngắt quãng cứng.
* Lệnh STI :
- Dạng lệnh : STI
- Giải thích : IF ← 1
- Lập cờ ngắt quãng lên 1. Cho phép ngắt quãng cứng.
* Lệnh HLT :
- Dạng lệnh : HLT
- Giải thích : CPU vào trạng thái dừng.
- Dừng CPU, chờ một ngắt quãng cứng xảy ra (INTR hay NMI).
* Lệnh WAIT :
- Dạng lệnh : WAIT
- Giải thích : CPU vào trạng thái đợi.
- CPU vào trạng thái đợi cho đến khi ngỏ TEST tác động.
* Tiếp đầu lệnh LOCK :
- Dạng lệnh : LOCK lệnh
- Giải thích : Khóa các tuyến trong khi thi hành lệnh theo sau.
- Khóa các tuyến khi thi hành lệnh theo sau. Không cho phép các vi xử lý khác yêu tuyến (chẳng hạn DMA).
* Lệnh ESC :
- Dạng lệnh : ESC immed,reg
ESC immed,mem
- Giải thích : đưa lệnh ra tuyến dữ liệu.
- Phát ra một lệnh cho vi mạch đồng xử lý 8087.
III.Các đặc điểm công nghệ mới
Một số tính năng mới:
Công nghệ xử lý lệnh kiểu mới - Intel Wide Dynamic Excution:
Bằng cách thêm vào một khối giải mã lệnh (decoder) và khối thực thi lệnh (excution) vào mỗi core, công nghệ Wide Dynamic Excution cho phép Core Microarchitecture hoàn tất 4 lệnh cùng lúc trong 1 chu kỳ đồng hồ (nhanh hơn bất kỳ dòng CPU hiện tại nào của Intel và AMD vốn chỉ có khả năng xử lý tối đa 3 lệnh trong 1 chu kỳ đồng hồ).
Tính năng macrofusion giúp tăng tốc độ hoạt động bằng cách kết hợp 2 lệnh vào làm 1 trong quá trình giải mã, nhờ đó chip có thể xử lý giải mã 2 lệnh cùng lúc
Hình trên cho thấy 2 lệnh jne targ và cmp eax, [mem2] được ghép lại thành một microinstruction là cmpjne eax, [mem2], targ.
Công nghệ tăng cường khả năng xử lý media - Intel Advanced Digital Media Boost:
Các software hiện tại như image, video, audio editing, data encryption, ... dùng rất nhiều các khối lệnh SSE hỗ trợ các phép toán 128 bit. Các CPU đời trước của Intel với bộ nhớ 64bit cho mỗi chu trình nên để thực hiện một khối lệnh SSE phải cần đến 2 chu trình (một khối lệnh SSE 128 bit). Kiến trúc mới Core Microarchitecture có khả năng xử lý SSE 128 bit chỉ trong một chu trình. Việc này sẽ giúp tăng tốc các ứng dụng dùng nhiều khối lệnh SSE.
Bộ nhớ đệm thông minh - Intel Advanced Smart Cache:
Không như các CPU dual core dòng Pentium D 800, 900 có cache L2 riêng cho từng core, CPU dựa trên Core Microarchitecture sẽ có Cache L2 chia sẽ cho cả 2 core, cho phép điều chỉnh tự động dung lượng cache L2 cho từng core tùy vào tần suất truy xuất Cache L2 của từng core. Đặc biệt, nếu cả 2 core cùng làm việc một cách đồng bộ trên cùng một dữ liệu thì dữ liệu này sẽ được lưu một lần tại một nơi trên Cache L2. Thiết kế này đem lại hiệu quả cao hơn so với thiết kế dành riêng cho mỗi core một cache L2 riêng.
Một điểm mạnh khác khi chia sẽ bộ nhớ Cache L2 là giảm tải cho bộ nhớ và bus hệ thống. Giả sử tại một thời điểm nào đó, cả 2 core đều làm việc trên cùng một data. Với thiết kế dual core có cache L2 riêng cho từng core thì sau 1 quá trình truy xuất sẽ có 2 bản sao của data này trên cache L2 của từng core. Trước khi mỗi core truy xuất bản sao của data trên Cache L2 của mình, nó phải đảm bảo đó là bản sao mới nhất của data tại thời điểm đó (vì có thể data đã được cập nhật bởi core còn lại), do đó sẽ có một quá trình update bản sao này diễn ra và quá trình này phải thông qua bộ nhớ và bus hệ thống. Với thiết kế Cache L2 chia sẻ thì không cần phải update vì data được lưu một lần tại một nơi trên Cache L2 chia sẻ giữa 2 core. Khi một core truy xuất data trên Cache L2 chia sẻ thì data đó là mới nhất tại thời điểm đó.
Công nghệ nạp dữ liệu thông minh - Intel Smart Memory Access:
Công nghệ Smart Memory Access cải tiến việc nạp trước dữ liệu. Kiến trúc Core Microarchitecture có 6 đơn vị nạp trước dữ liệu, 2 đơn vị cho việc nạp trước dữ liệu từ bộ nhớ vào Cache L2 chia sẻ, 2 đơn vị cho việc nạp trước dữ liệu vào Cache L1 của mỗi core. Các đơn vị này hoạt động độc lập và theo dõi các hoạt động truy xuất bộ nhớ của các khối lệnh, cố gắng nạp trước dữ liệu vào cache thậm chí trước khi có yêu cầu truy xuất tương ứng và dữ liệu được truy xuất trực tiếp từ cache (L1, L2) dĩ nhiên sẽ nhanh hơn so với từ bộ nhớ.
Smart Memory Access cũng bao gồm công nghệ kết hợp bộ nhớ - memory disambiguation, giúp nâng cao hiệu quả của việc truy xuất bộ nhớ. Trong đa số trường hợp, các lệnh truy xuất bộ nhớ được thực thi theo thứ tự như khi các lệnh được đưa vào hàng đợi. Tuy nhiên trong số các lệnh truy xuất bộ nhớ đó có những lệnh hoàn toàn độc lập với nhau và công nghệ memory disambiguation sẽ phát hiện các lệnh như vậy và sắp xếp lại thứ tự thực thi của các lệnh này sao cho tối ưu, qua đó nâng cao hiệu quả truy xuất bộ nhớ.
Quản lý điện năng thông minh - Intel Intelligent Power Capability:
Mục tiêu ra đời cấu trúc Core của Intel chủ yếu để cạnh tranh với K8 của AMD (được xem là bộ xử lý với giải pháp tiến bộ nhất vào thời điểm đó). Chúng ta hãy cùng xem xét kỹ trên phương diện lý thuyết giữa bộ xử lý vi cấu trúc Core mới của Intel và nền của AMD K8:
Dựa vào bảng so sánh trên ta có thể thấy rằng các bộ xử lý với vi cấu trúc Core có cấu trúc “rộng hơn” cho phép xử lý nhiều lệnh trong 1 chu trình hơn là các CPU với vi cấu trúc K8. Mặc dù các đơn vị thi hành lệnh của hai cấu trúc xử lý này có thể giải quyết được cả 3 lệnh x86 và x87 trong một chu trình đồng hồ, nhưng vi cấu trúc Core đã chứng tỏ được thế mạnh của mình với việc bổ sung số lượng thực thi các lệnh SSE. Trong khi các bộ xử lý của K8 chỉ có thể thực hiện các lệnh 128bit trong một chu trình đồng hồ, Core có thể thi hành được gấp 3 lần số lệnh như vậy.
Ngoài ra, vi cấu trúc Core còn chứng tỏ thêm một điểm mạnh khác: đó là hệ thống giải mã cao cấp hơn. Cùng với 4 bộ giải mã, công nghệ marcofusion đã cho phép giải mã lên đến 5 lệnh trong một chu trình đồng hồ (trong trường hợp lý tưởng). Bộ xử lý K8 chỉ có thể giải mã 3 lệnh đồng thời. Tất cả điều này cho thấy rằng bộ giải mã của CPU trên nền vi cấu trúc Core sẽ có khả năng load các đơn vị thi hành lệnh của bộ xử lý tốt hơn bằng cách thực hiện 4 lệnh trên một chu trình trong những điều kiện tốt nhất. Trong trường hợp này tốc độ thực thi lệnh tổng thể sẽ nhanh hơn bộ xử lý K8 AMD đến 33%.
Điểm mạnh của bộ vi cấu trúc này thể hiện rõ nhất trong hệ thống bộ nhớ đệm dữ liệu. Mặc dù bộ nhớ đệm L1 của bộ xử lý Core là nhỏ hơn, nhưng nó lại có tính liên kết cao hơn. Còn về bộ nhớ đệm L2, nó không những lớn hơn mà còn có bandwidth (băng thông) rộng hơn. Hơn nữa, cấu trúc chia sẻ của bộ nhớ đệm L2 rất có lợi cho việc xử lý đa luồng (multi-threaded)
Một yếu tố quan trọng nữa của thuật toán nạp trước dữ liệu (data prefetch) của các bộ xử lý trên nền Core mới này là công nghệ tách nhánh bộ nhớ độc nhất mà các đối thủ cạnh tranh chưa có vào thời điểm đó.
Bên cạnh những công nghệ trên, các công nghệ khác như nâng cao khả năng bảo mật, công nghệ ảo hóa và khả năng tính toán 64-bit giúp cho Intel® CoreTM 2 Duo trở thành bộ xử lý mới ấn tượng nhất cho một thế giới ngày càng đòi hỏi chất lượng cao cũng như khả năng tính toán, di động.
Trên cùng MainBoard dùng chipset Intel 975X Express (chipset P965 Express cũng hỗ trợ Core 2 Duo), nhóm thử nghiệm chạy lần lượt CPU Core 2 Extreme X6800 2,93GHz và Core 2 Duo E6700 2,67GHz; sau đó, so sánh với hệ thống có cấu hình tương tự chạy nền AM2 dùng RAM DDR2 với BXL "đỉnh" FX-62 của AMD.
Cả hai cấu hình của Intel đều qua mặt AMD trong mỗi ứng dụng của WorldBench 5 cũng như trên mỗi game . Cải tiến rõ nhất là thử nghiệm với nhiều tác dụng, chạy cùng lúc 2 ứng dụng: duyệt web với Mozilla và mã hóa tập tin với Windows Media Encoder. Bên cạnh đó, các thử nghiệm với Photoshop và một số ứng dụng đồ họa cũng chạy khá thuyết phục.
Hệ thống tự lắp chạy Core 2 Extreme X6800 ghi được 160 điểm PC WorldBench 5, tăng 17% so với hệ thống AMD chạy Athlon 64 FX-62 2,8GHz ghi được 137 điểm. Và hệ thống chạy VXL E6700 rẻ tiền hơn cũng đạt đến 153 điểm, vẫn cao hơn 12% so với điểm số của FX-62, và cao hơn 8% so với hệ thống Xi Mtower 64 AGL-SLI nền Intel là hệ thống nhanh nhất mà PC World Mỹ từng thử nghiệm trước đây.
Bên cạnh những hệ thống tự lắp, ta cũng so sánh với bộ Dell XPS 410 giá 2350 USD (tính cả màn hình LCD 20), dùng CPU E6600 2,4GHz có RAM 2GB, card đồ họa NVIDIA GeForce 7900GS và 2 ổ cứng SATA ở RAID 0 có tổng dung lượng 320GB. Hệ thống này ghi được 138 điểm WorldBench, bằng điểm của hệ thống AMD phía trên.
Nhưng ngay cả những điểm số cao "ngút trời" như trên vẫn chưa bì kịp với hệ thống ABS. ABS Ultimate X9 chạy tản nhiệt nước, có 2GB RAM, 2 card Radeon X1900 CrossFire, một cặp ổ cứng Western Digital cấu hình RAID SATA 150GB và BXL Core 2 Extreme X6800 ép xung từ 2,93GHz lên 3,5GHz, và đạt 181 điểm WorldBench. Hệ thống này không phù hợp với người dùng phổ thông nhưng điểm số của nó vượt khá xa so với các hệ thống khác và cũng cho thấy vi kiến trúc Core của Intel còn nhiều hứa hẹn.
Từ lúc bắt đầu, vi kiến trúc Core của Intel đã tập trung vào đa nhân CPU, tốc độ cao và tiêu thụ ít điện năng. Sử dụng các bài học từ việc xây dựng thành công CPU di động Pentium M, đầu tiên, Intel đã cải tiến dòng di động và đưa ra CPU Core Duo. Sau đó, hãng đã tăng lực khá nhiều nhưng giảm được điện năng tiêu thụ cho CPU máy tính để bàn. Ví dụ, khi PC chỉ chạy vài ứng dụng đơn giản hoặc ở trạng thái nghỉ, Core 2 Duo có thể chạy chậm lại hoặc ngưng luôn những phần không cần thiết.
Core 2 Duo có nhiều ưu thế về tốc độ so với Pentium là nhờ kiến trúc mới được chêm thêm một hàng thực thi mới trên mỗi nhân CPU.
Bộ đệm cache L2 đến 4MB bảo đảm cung cấp dữ liệu để BXL luôn làm việc ở mức tối đa và Intel cũng đã nỗ lực tinh chỉnh các thuật toán nạp trước (prefetching), ưu tiên tối đa cho dữ liệu thích hợp trước khi BXL cần đến.
Trong khi hầu hết các BXL 2 nhân cố định dung lượng bộ đệm cho mỗi nhân thì Core 2 Duo cho phép chia sẻ cho toàn bộ 4MB bộ nhớ cache. Và BXL có thể phân phối bộ nhớ cache này giữa các nhân theo nhu cầu. Nếu một nhân phải làm việc "nặng" trong một tác vụ phức tạp thì nó có thể dùng hầu hết 4MB của cache L2 trong khi nhân kia chỉ chạy một tác vụ đơn giản hơn, cần ít bộ đệm hơn.
Kết Luận
Như vậy, Lần đầu tiên trong suốt những năm vừa qua, BXL Core 2 Duo rõ ràng mang lại cho Intel lợi thế về tốc độ và hiệu năng so với AMD.
Việc Intel giới thiệu thế hệ Core 2 mới đã hâm nóng và tạo nên cuộc “lật đổ” ngọan mục trước đối thủ AMD. Nếu như trước đây Intel tích hợp hai nhân vi xử lý đơn nhân trước đây vào một chip với sự độc lập khá rõ về bộ đệm xử lý, tách biệt quá trình thực thi vi lệnh chưa tối ưu hóa được tòan bộ hệ thống. Do đó trên Core 2 Duo, thế hệ thứ 2 của kiến trúc Core với 2 lõi tích hợp có tên gọi Conroe, Intel sử dụng chung Cache L2 cho cả 2 lõi cùng một số công nghệ khác nữa. Core 2 Duo mang lại cho bạn hiệu năng( tăng 40%) và tiết kiệm năng lượng(giảm 40%). Với thế hệ CPU mới này, Intel đã khẳng định vị trí tuyệt đối của mình trên đường đua tốc độ, hiệu năng xử lý của mình trước các đối thủ khác. Các cải tiến, công nghệ mới trên dòng thế hệ X2 ngòai thay đổi về phần cứng cấu trúc : công nghệ chế tạo, mật độ Transistor, kích thước Chip mà còn bao gồm bao gồm các tính năng mở rộng chủ yếu sau:
- Wide Dynamic Execution: Thực thi động, sự kết hợp của nhiều kỹ thuật được Intel xây dựng trong họ vi kiến trúc P6( Pentium Pro, II, III) và ngày càng được hòan thiện hơn với khả năng tiên đóan và giải thuật mạnh hơn. Với kiến trúc Core mới, hàng lệnh thực thi đựợc thiết kế dài hơn với 14 hàng, giúp các lệnh tiên đoán được chính xác hơn và nhanh hơn với 4 hàng lệnh thực thi cùng lúc tiết kiệm thời gian cho việc thực thi này đồng nghĩa với việc xử lý thông tin nhanh hơn. - Intelligent Power Capability(IPC): Giảm lượng điện năng tiêu thụ là đã tăng độ hiệu quả hệ thống, IPC chính là giải pháp cho vấn đề điện năng của Core 2 Duo. Với công nghệ hiện tại, Intel thiết kế cơ chế tắt mở cổng luận lý theo yêu cầu. Nhờ vậy, vi kiến trúc Core có khả năng tắt một hệ thống con trong bộ vi xử lý khi không cần dùng đến để tiết kiệm điện năng; nhưng vẫn đảm bảo kích hoạt ngay khi cần để không ảnh hưởng đến tốc độ chung của bộ vi xử lý. Bên cạnh, các tuyến bus và vùng dữ liệu cũng đã được thiết kế tách biệt để có thể vẫn đảm bảo truyền tải dữ liệu ở mức điện áp thấp trong một số trạng thái từ đó giúp Core 2 Duo tiết kiệm điện năng hòan hảo nhất. -Advanced Smart Cache: Intel thiết kế trong vi kiến trúc Core một bộ đệm L2 dùng chung cho cả hai nhân vi xử lý để nâng cao hiệu năng, tăng phần hiệu quả truy xuất dữ liệu. Với công nghệ này, Intel cho phép phân chia động dung lượng vùng đệm theo nhu cầu từng nhân. Khi nhân thứ nhất không cần dùng đến bộ đệm thì toàn bộ vùng đệm L2 dùng chung có thể được chia hết cho nhân thứ hai; và ngược lại. Điều này giúp tăng hiệu quả sử dụng bộ đệm, tránh được trường hợp thiếu bộ đệm, tận dụng hiệu quả tốc độ đáp ứng cao của đệm L2.
* Ưu điểm: Khả năng tỏa nhiệt thấp.Hiệu năng cao thể hiện qua việc benchmark bằng 1 số chương trình thông dụng.Nhiều công nghệ mới đi kèm bao gồm 1 tính năng rất đáng giá là Intel® Virtualization Technology(cho phép nhiều hệ điều hành cùng khai thác 1 nền tảng phần cứng duy nhất cùng lúc) .Bài toán hiệu năng giá tiền được giải quyết 1 cách tốt nhất.* Khuyết điểm:Muốn hiệu năng cao cần phải có các thiết bị khác cũng cho khả năng hiệu năng cao tương tự (ở trường hợp này là Mainboard và Ram).1 số mainboard cần phải được update BIOS để có thể hoạt động tốt với CPU.
Các kết quả cho thấy Core 2 Duo là 1 lựa chọn lý tưởng để thay thế các vxl cũ . Ở hầu hết các thử nghiệm thì core 2 duo luôn nhanh hơn. Core 2 duo có xung nhịp cao hơn trong hầu hết các thử nghiệm , điều này cho thấy sức mạnh của Core hơn hẳn so với các vi xử lý trứớc nó .
Có thể nói Core 2 Dual tạo bước ngoặt của ngành chế tạo bộ vi xử lý
IX.Tài liệu tham khảo
1.Giáo trình kỹ thuật vi xử lý – Phạm Hoàng Duy.
2. giáo trình kỹ thuật vi xử lý –ts.Hồ Khánh Lâm
3
4.
5.
6.
7.
8.
9.
10.
11.
12.
Các file đính kèm theo tài liệu này:
- bao_cao_vi_xu_ly_intel_core_2_dual_9993.doc