Lệnh của vi xử lý là một từ nhị phân. Khi lệnh được đọc từ bộ nhớ vào vi xử lý, chỉ dẫn vi xử lý thực hiện một nhiệm vụ nào đó . Mỗi một lệnh chỉ dẫn vi xử lý thực hiện nhiệm vụ riêng không giống lệnh khác.Hầu hết các lệnh của vi xử lý là những lệnh vận chuyển hoặc xử lý dữ liệu . Dữ liệu có thể có trong bộ nhớ bên ngoài vi xử lý.Một số lệnh khác có chức năng điều khiển vi xử lý, rẽ nhánh xử lý
34 trang |
Chia sẻ: vietpd | Lượt xem: 3228 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Báo cáo Bài tập lớn kiến trúc máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÁO CÁO BÀI TẬP LỚN
KIẾN TRÚC MÁY TÍNH
A. GIỚI THIỆU.
1. Thành viên tham gia.
- Nguyễn Khánh Dũng
- Bùi Văn Dụng
- Nguyễn Văn Nam
- Bùi Văn Quỳnh
- Lê Quốc Bảo
2. Nội dung.
Báo cáo được viết nhằm giới thiệu về kiến trúc máy tính với các tập lệnh sử lý. Các thông số ý nghĩa của các thông số kỹ thuật.
Cấu hình trong báo cáo:
- CPU Pentium(R) Dual-Core CPU E5
- Chipset : South Bridge: Intel 82801GB ICH7
North Bridge: Intel Bearlake G31
-Main : Gigabyte G31M-S2L
B. NỘI DUNG BÁO CÁO.
I. KIẾN TRÚC TẬP LỆNH
Lệnh của vi xử lý là một từ nhị phân. Khi lệnh được đọc từ bộ nhớ vào vi xử lý, chỉ dẫn vi xử lý thực hiện một nhiệm vụ nào đó . Mỗi một lệnh chỉ dẫn vi xử lý thực hiện nhiệm vụ riêng không giống lệnh khác.Hầu hết các lệnh của vi xử lý là những lệnh vận chuyển hoặc xử lý dữ liệu . Dữ liệu có thể có trong bộ nhớ bên ngoài vi xử lý.Một số lệnh khác có chức năng điều khiển vi xử lý, rẽ nhánh xử lý…
Tất cả các lệnh được thực hiện trong 3 pha : đọc lệnh (Fetch),giải mã lệnh(Decode), và thực hiện lệnh (Execute) (có thể truy cập bộ nhớ để đọc các toán hạng và cất giữ các kết quả thông qua bus hệ thống).Các pha đọc lệnh và thực hiện lệnh có sự trao đổi dữ liệu giữa vi xử lý và bộ nhớ thông qua bus hệ thống, do đó, những quãng thời gian này bus hệ thống bận (Busy).Pha giải mã lệnh chỉ xảy ra bên trong vi xử lý, do đó bus rỗi (idle).Các loại vi xử lý tiên tiến hiện nay có thể xử lý đồng thời một số lệnh ở các pha khác nhau của quá trình thực hiện lệnh nhờ có kiến trúc đường ống (pipeline).Hình dưới mô tả quá trình thực hiện đồng thời một số lệnh của vi xử lý intel 80486 với kiến trúc đường ống lệnh .
Đọclệnh1
Đọc lệnh2
Đọc lệnh3
Đọc lệnh4
Lưu trữ 1
Đọc lệnh5
Đọc lệnh6
Đọc bộ nhớ2
Đọc lệnh7
Giải mã lệnh 1
Giải mã lệnh 2
Giải mã lệnh 3
Giải mã lệnh 4
Rỗi
Giải mã lệnh 5
Giải mã lệnh 6
Rỗi
Thực hiện lệnh1
Thực hiện lệnh2
Thực hiện lệnh3
Thực hiện lệnh4
Rỗi
Thực hiện lệnh5
Thực hiện lệnh6
Địa chỉ 1
Địa chỉ 2
Quá trình thực hiện đồng thời một số lệnh của các vi xử lý tiên tiến có kiến trúc đường ống lệnh (ví dụ intel 80486)
Một lệnh mô tả bằng mã nhị phân có thể dài từ 1 đến 6 byte . Cấu trúc chung của một mã lệnh gồm :
Prefix đi trước mã lệnh.
Mã toán (operation code) phân biệt đó là lệnh gì, ví dụ lệnh dịch chuyển MOV có mã toán là 100010.
Toán hạng (operand) cho biết cái gì được xử lý (nội dung của thanh ghi hay bộ nhớ).
Địa chỉ trực tiếp 2 byte.
Nội dung của mã lệnh được quy định khá chặt chẽ .Hình dưới cho biết cấu trúc nhị phân của một lẹnh di chuyển MOV đích, nguồn dùng để chuyển dữ liệu giữa 2 thanh ghi hoặc giữa ô nhớ và thanh ghi.
1
0
0
0
1
0
Địa chỉ phân thấp
Địa chỉ phân cao
Mã lệnh
D
W
MOD
REG
M/R
Byte 1 Byte 2 Byte 3 Byte 4
Hình 1.1: Cấu trúc mã lệnh
Bit D (direction) chỉ hướng cho thanh ghi REG . D = 1 chỉ dữ liệu đến REG , D = 0 chỉ dữ liệu đi từ REG.
Bit W (word) chỉ xem thanh ghi được dùng là 8 bit hay 16 bit (1 word ) W = 1 có nghĩa là thanh ghi 16 bit được dùng . Hình trên cho thấy cách mã hóa các thanh ghi trong bộ vi xử lý .
Hai bit MOD (modem, chế độ) và 3 bit R/M (register/memory, thanh ghi/bộ nhớ) tạo ra 5 bit dùng để chỉ chế độ địa chỉ của lệnh . Những chế độ này được quy định trong bảng 1.1 . Bảng 1.2 cho thấy cách mã hóa các chế độ địa chỉ ( cách tìm ra toán hạng ) bằng các bit này .
Bảng 4.1 : Cách mã hóa thanh ghi trong bộ VXL.
Thanh ghi
W = 1
Thanh ghi
Mã REG
Thanh ghi đoạn
Mã
AX
BX
CX
DXSP
DI
BP
SI
AL
BL
CL
DL
AH
BH
CH
DH
000
011
001
010
100
111
101
110
ES
CS
SS
DS
00
01
10
11
Bảng 1.2 : Phối MOD và R/M để tạo ra các chế độ địa chỉ .
MOD
R/M
00
01
10
11
W=0 W=1
000
[BX] + [SI]
[BX] + [SI] + d8
[BX] + [SI] + d16
AL AX
001
[BX] + [DI]
[BX] + [DI] + d8
[BX] + [DI] + d16
CL CX
010
[BP] + [SI]
[BP] + [SI] + d8
[BP] + [SI] + d16
DL DX
011
[BP] + [DI]
[BP] + [DI] + d8
[BP] + [DI] + d16
BL BX
100
[SI]
[SI] + d8
[SI] + d16
AH SP
101
[DI]
[DI] + d8
[DI] + d16
CH BP
110
d16
(Địa chỉ trực tiếp)
[BP] + d8
[BP] + d16
DH SI
111
[BX]
[BX] + d8
[BX] + d16
BH DI
Chế độ nhớ Chế độ thanh ghi
Ghi chú : - d8 disc. 8 bit, d6 disc. 16 bit
- Các giá trị cho trong các cột 2,3,4 là các địa chỉ hiệu dụng (EA) sẽ được cộng với DS để tạo ra địa chỉ vật lý (Riêng BP phải được cộng với SP)
Ví dụ 1: Mã hóa lệnh: a. MOV CL,[BX]; b. MOV 0F3H[SI],CL.
a. MOV CL, [BX]
1
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
Các bit mã hóa CL; Ô nhớ có địa chỉ DS:BX;
Chuyển 1 byte; Opcode. Chuyển tới thanh ghi
b. MOV 0F3H[SI], CL
1
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
0
1
1
Các bít mã hóa CL; Ô nhớ địa chỉ DS:SI; chuyển một byte;
Opcode. Chuyển từ thanh ghi; d8 = F3H.
Mỗi bộ vi xử lý có một tập lệnh xác định, các bộ xử lý thế hệ sau thường có các tập lệnh bổ xung.mở rộng hơn so với các bộ vi xử lý trước nó,điều đó có nghĩa các bộ vi xử lý thế hệ sau có thể chạy chương trình viết cho các thế hệ trước.Nhưng ngược lại thì không hoàn toàn đúng.Ta có thể chia lệnh ra làm các nhóm cơ bản như :
1.Các lệnh di chuyển dữ liệu . (Data Transfer Instructions) .
Đó là các lệnh thực hiện vận chuyển dữ liệu :
+ Thanh ghi – đến - thanh ghi (register - to - register)
+ Bộ nhớ - đến – thanh ghi (memory – to - register)
+ Thanh ghi - đến - bộ nhớ
+ Bộ nhớ - đến – bộ nhớ
+ Trực tiếp – đến – thanh ghi
+ Trực tiếp – đến – bộ nhớ
Trong một sô loại vi xử lý , dữ liệu được vận chuyển hay xử lý có thể có kích thước khác nhau: byte (B), nửa từ H (16-bit), từ W (32 bit) và từ kép D(64-bit).Tương ứng với chúng là các lệnh vận chuyển theo byte, theo nửa từ, theo từ và theo từ kép. Những vi xử lý 8 bit chỉ xử lý byte dữ liệu, vì thế chúng không có phân biệt các lệnh như trên. Còn vi xử lý 16-bit chỉ xử lý dữ liệu 16-bit (2byte), nên chúng có phân biệt lệnh vận chuyển theo byte và từ (nhưng không có nửa từ hay từ kép)
MOV Chuyển dữ liệu giữa thanh ghi với thanh ghi,bộ nhớ với bộ nhớ,bộ nhớ với thanh ghi,trực tiếp tới bộ nhớ và trực tiếp tới thanh ghi.
CMOVE/CMOVZ Có thể chuyển nếu bằng/Có điều kiện chuyển nếu không.
CMOVNE/CMOVNZ Có thể chuyển nếu không bằng nhau / có thể chuyển nếu không phải là số không.
CMOVA/CMOVNBE Hiển thị chữ viết theo ngữ hệ La-tinh Hiển thị chữ viết theo ngữ hệ La-tinh có thể chuyển nếu trên / có thể chuyển nếu không phải bên dưới hoặc bằng
CMOVAE/CMOVNB Có thể chuyển nếu ở trên hoặc bằng / có thể chuyển nếu không dưới .
CMOVB/CMOVNAE Hiển thị chữ viết theo ngữ hệ La-tinhCó điều kiện di chuyển nếu dưới /có thể chuyển nếu không ở trên hoặc bằng
CMOVBE/CMOVNA Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển bên dưới hoặc bằng / có thể chuyển nếu không phải ở trên
CMOVG/CMOVNLE Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển, nếu lớn hơn / có thể chuyển nếu không phải nhỏ hơn hoặc bằng
CMOVGE/CMOVNL Hiển thị chữ viết theo ngữ hệ La-tinhCó thể chuyển, nếu lớn hơn hoặc bằng / có thể chuyển nếu không nhỏ
CMOVL/CMOVNGE Hiển thị chữ viết theo ngữ hệ La-tinh Có thể chuyển nếu ít hơn / có thể chuyển nếu không lớn hơn hay bằng
CMOVLE/CMOVNG Hiển thị chữ viết theo ngữ hệ La-tinh Có thể chuyển nếu ít hơn hoặc bằng / có điều kiện di chuyển nếu không lớn hơn
CMOVC Có thể chuyển nếu có nhớ
CMOVNC Có thể chuyển nếu không nhớ.
CMOVO Có thể chuyển nếu tràn
CMOVNO Có thể chuyển nếu không tràn
CMOVS Conditional move if sign (negative)
CMOVNS Conditional move if not sign (non-negative)
CMOVP/CMOVPE Conditional move if parity/Conditional move if parity even
CMOVNP/CMOVPO Conditional move if not parity/Conditional move if parity odd
XCHG Trao đổi
BSWAP Trao đổi byte
XADD Trao đổi và cộng
CMPXCHG So sánh và trao đổi
CMPXCHG8B So sánh và trao đổi 8 bytes
PUSH Cất dữ liệu vào ngăn xếp
POP Lấy dữ liệu từ ngăn xếp
PUSHA/PUSHAD Đẩy nội dung của tất cả thanh ghi đa năng vào ngăn xếp
POPA/POPAD Đọc từ ngăn xếp các dữ liệu về tất cả các thanh ghi đa năng
CWD/CDQ Chuyển từ thành từ kép/Chuyển từ kép thành nửa từ.
CBW/CWDE Chuyển byte thành từ/Chuyển từ thành từ kép trong thanh ghi EAX
MOVSX Move and sign extend
MOVZX Move and zero extend
2. Các lệnh số học và logic
Các lệnh số học và lô-gíc thực hiện các thao tác số học và lô-gíc trên các thanh ghi và ô nhớ.
ADD Cộng số nguyên
ADC Cộng có nhớ
SUB Trừ
SBB Trừ có nhớ
IMUL Signed multiply
MUL Unsigned multiply
IDIV Signed divide
DIV Unsigned divide
INC Increment
DEC Decrement
NEG Negate
CMP So sánh
DAA Decimal adjust after addition
DAS Decimal adjust after subtraction
AAA ASCII adjust after addition
AAS ASCII adjust after subtraction
AAM ASCII adjust after multiplication
AAD ASCII adjust before division
AND Thực hiện logic “và” bit mở rộng
OR Perform bitwise logical OR
XOR Perform bitwise logical exclusive OR
NOT Perform bitwise logical NOT
3.Nhóm lệnh dịch và quay vòng (Shift and Rotate Instructions)
Đó là các lệnh dịch nội dung của thanh ghi trong vi xử lý về bên phải , bên trái, dịch quay vòng. Có các lệnh dịch logic và dịch số học.
SAR Dịch phải số học
SHR Dịch phải logic
SAL/SHL Dịch trái số học/trái logic
SHRD Shift right double
SHLD Shift left double
ROR Dịch phải quay vòng
ROL Dịch trái quay vòng
RCR Rotate through carry right
RCL Rotate through carry left
4.Nhóm lệnh xử lý byte và bit (Bit and Byte Instructions)
Nhóm lệnh bit kiểm tra và sửa đổi các bit trong toán hạng từ và từ kép. Nhóm lệnh byte thiết lập giá trị của một toán hạng byte để chỉ trạng thái của cờ trong thanh ghi EFLAGS.Nhóm này gồm các lệnh : kiểm tra bit ( bằng 0 hay 1 ), tác động tới giá trị cờ như : xóa bít, thiết lập bít, trích bit và chuyển đến đích khác, trích bít và mở rộng dấu.
BT Kiểm tra bit
BTS Kiểm tra bit và đặt giá trị
BTR Kiểm tra bit và đặt lại giá trị
BTC Kiểm tra bit và bổ xung giá trị
BSF Bit scan forward
BSR Bit scan reverse
SETE/SETZ Set byte if equal/Set byte if zero
SETNE/SETNZ Set byte if not equal/Set byte if not zero
SETA/SETNBE Set byte if above/Set byte if not below or equal
SETAE/SETNB/SETNC Set byte if above or equal/Set byte if not below/Set byte
if not carry
SETB/SETNAE/SETC Set byte if below/Set byte if not above or equal/Set byte
if carry
SETBE/SETNA Set byte if below or equal/Set byte if not above
SETG/SETNLE Set byte if greater/Set byte if not less or equal
SETGE/SETNL Set byte if greater or equal/Set byte if not less
SETL/SETNGE Set byte if less/Set byte if not greater or equal
SETLE/SETNG Set byte if less or equal/Set byte if not greater
SETS Set byte if sign (negative)
SETNS Set byte if not sign (non-negative)
SETO Set byte if overflow
SETNO Set byte if not overflow
SETPE/SETP Set byte if parity even/Set byte if parity
SETPO/SETNP Set byte if parity odd/Set byte if not parity
TEST Logical compare
5.Nhóm lệnh chuyển điều khiển (Control Transfer Instructions)
Nhóm lệnh này bao gồm: các lệnh nhảy hay rẽ nhánh(Jump, Branch). Các lệnh gọi tới chương trình con (Call), và nhảy trở lại từ chương trình con. Chúng đều có trong các vi xử lý từ 8 bit đến tiên tiến hiện nay và thực hiện các thao tác tương tự nhau. Phân biệt các lệnh chuyển điều khiển có điều kiện (phụ thuộc vào các giá trị các bit cờ trong thanh ghi cờ của bộ vi xử lý) và chuyển điều khiển vô điều kiện. Trong lập trình, các lệnh chuyển điều khiển dùng để rẽ nhánh tới các chương trình con. Thủ tục khi một điều kiện trạng thái của hệ thống được thỏa mãn. Trạng thái của hệ thống được thể hiện qua thanh ghi cờ (hoặc từ trạng thái PSW)
JMP Jump
JE/JZ Jump if equal/Jump if zero
JNE/JNZ Jump if not equal/Jump if not zero
JA/JNBE Jump if above/Jump if not below or equal
JAE/JNB Jump if above or equal/Jump if not below
JB/JNAE Jump if below/Jump if not above or equal
JBE/JNA Jump if below or equal/Jump if not above
JG/JNLE Jump if greater/Jump if not less or equal
JGE/JNL Jump if greater or equal/Jump if not less
JL/JNGE Jump if less/Jump if not greater or equal
JLE/JNG Jump if less or equal/Jump if not greater
JC Jump if carry
JNC Jump if not carry
JO Jump if overflow
JNO Jump if not overflow
JS Jump if sign (negative)
JNS Jump if not sign (non-negative)
JPO/JNP Jump if parity odd/Jump if not parity
JPE/JP Jump if parity even/Jump if parity
JCXZ/JECXZ Jump register CX zero/Jump register ECX zero
LOOP Loop with ECX counter
LOOPZ/LOOPE Loop with ECX and zero/Loop with ECX and equal
LOOPNZ/LOOPNE Loop with ECX and not zero/Loop with ECX and not equal
CALL Call procedure
RET Return
IRET Return from interrupt
INT Software interrupt
INTO Interrupt on overflow
BOUND Detect value out of range
ENTER High-level procedure entry
LEAVE High-level procedure exit
6.Nhóm lệnh vào ra (I/O Instructions)
Nhóm lệnh chuyển dữ liệu giữa cổng xử lý vào/ra và thanh ghi hoặc bộ nhớ.
IN Đọc từ cổng
OUT Ra từ cổng
INS/INSB Input string from port/Input byte string from port
INS/INSW Input string from port/Input word string from port
INS/INSD Input string from port/Input doubleword string from port
OUTS/OUTSB Output string to port/Output byte string to port
OUTS/OUTSW Output string to port/Output word string to port
OUTS/OUTSD Output string to port/Output doubleword string to port
7.Nhóm lệnh điều khiển hệ thống .
Nhóm lệnh này tác động trực tiếp tới điều hành của bộ vi xử lý và các khối chức năng bên trong nó, như các khối quản lý bộ nhớ (MMU) và bộ nhớ dự trữ (cache memory), khối MMX (trong intel 32-bit). Ví dụ :
+ Các lệnh dừng:
HALT; dừng CPU (Z80)
HLT, (Các xử lý intel)
Hầu như các loại vi xử lý đều có lệnh dừng (HALT,HLT), lệnh này bắt buộc bộ xử lý ngừng hoạt động, Các thanh ghi và các cờ không có tác dụng.
STOP #data; SR ¬ data, Chuyển dữ liệu vào thanh ghi trạng thái của vi xử lý trong chế độ giám sát (Motorola M68000).
+ Lệnh khóa bus hệ thống:
LOCK; tạo tín hiệu LOCK# = 0 (Itel từ 16-bit đến 32-bit) nhằm cấm bộ vi xử lý dùng bus hệ thống trong các trường hợp có truy cập trực tiếp bộ nhớ cảu thiết bị ngoại vi (DMA).Lệnh LOCK chỉ được cùng thực hiện với các lệnh: BT, BTS,BTR,BTC,XCHG,ADD,OR,ADC,SBB,AND,SUB,XOR,NEG,INC, và DEC.
UNLOCK; bỏ khóa BUS hệ thống (Itel 80860)
+Một số lệnh khác:
NOP – không thực hiện lệnh nào cả (nhiều vi xử lý khác nhau)
INVD; lỗi ở cache bên trong chip (Intel 32-bit từ 80486)
XLAT; chuyển đổi từ một hệ thống mã hóa sang hệ thống mã hóa khác, như : từ mã EBCDIC sang ASCII (intel 21-bit)
RESET; tạo tín hiệu xóa RST0 (M68000)
Nhìn chung sự phân loại nhóm lệnh này đối với từng loại vi xử lý của các nhà sản xuất khác nhau tương đối khác nhau.
II. Giới thiệu các nhóm lệnh của CPU E5200 2.5 Ghz
Tập lệnh của E5200 : (MMX,SSE,SSE2,SSE3,EM64T)
1.Nhóm lệnh MMX :
Nhóm lệnh MMX hoạt động với byte, từ, từ kép, nửa từ toán hạng số nguyên, chứa trong bộ nhớ, trong thanh ghi MMX , và / hoặc trong thanh ghi đa năng. Nhóm lệnh MMX chỉ có thể được thực hiện trên IA-32 bộ vi xử lý có hỗ trợ công nghệ MMX. Nhóm lệnh MMX được chia thành các nhóm phụ sau: truyền dữ liệu, chuyển đổi, số học, so sánh, hợp lý, dịch và quay vòng , và nhóm lệnh quản lý. Các phần mà theo giới thiệu mỗi nhóm con.
2.Nhóm lệnh SSE:
Nhóm lệnh SSE đại diện một phần mở rộng của mô hình thực thi SIMD với công nghệ MMX. Nhóm lệnh chỉ có thể được thực hiện trên IA-32 bộ vi xử lý có hỗ trợ phần mở rộng SSE. Nhóm lệnh SSE được chia thành bốn nhóm phụ (lưu ý rằng các nhóm con đầu tiên có cấp dưới nhóm con của riêng của mình):
Nhóm lệnh xử lý toán hạng dấu phảy động với độ chính xác đơn trên thanh ghi XMM.
Nhóm lệnh quản lý MXSCR
Nhóm lệnh toán hạng số nguyên 64-bit trên thanh ghi MMX
- Nhóm lệnh điều khiển Cacheability, prefetch, and điều khiển thứ tự lệnh : Hiển thị chữ viết theo ngữ hệ La-tinhCác nhóm lệnh cacheability kiểm soát cung cấp kiểm soát bộ nhớ đệm của dữ liệu tạm thờikhi lưu trữ dữ liệu từ MMX và thanh ghi XMM vào bộ nhớ. PREFETCHh cho phép dữ liệu được kiểm soát trước đến một cấp độ bộ nhớ cache được lựa chọn. Nhóm lệnh điều khiển SFENCE điều khiển sự lưu lại.
3.Nhóm lệnh SSE2:
Nhóm lệnh mở rộng SSE2 Hiển thị chữ viết theo ngữ hệ La-tinhđại diện cho một phần mở rộng của mô hình thực thi SIMD với công nghệ MMX.Nhóm lệnh SSE2 làm việc tới toán hạng dấu phảy động với độ chính xác kép , byte, từ, từ kép, nửa từ trên thanh ghi XMM.Nhóm lệnh này được chia thành bốn nhóm nhỏ (lưu ý rằng các nhóm con đầu tiên được chiavào các nhóm con cấp dưới) :
Nhóm lệnh xử lý dấu phảy động với độ chính xác kép
Nhóm lệnh chuyển đổi dấu phảy động với độ chính xác đơn.
Nhóm lệnh số nguyên 128-bit
Nhóm lệnh điều khiển Cacheability and điều khiển thứ tự lệnh
4.Nhóm lệnh SSE3:
Hiển thị chữ viết theo ngữ hệ La-tinhCác phần mở rộng SSE3 cung cấp 13 nhóm lệnh tăng tốc hiệu suất của Streaming SIMD. Phần mở rộng công nghệ, Streaming SIMD Extensions 2 công nghệ, và x87-FP toán tin. Những nhóm lệnh có thể được phân thành các loại sau đây:
Nhóm lệnh chuyển đổi số nguyên trong x87FPU
Nhóm lệnh chỉ dẫn địa chỉ tải dữ liệu 1 SIMD
Nhóm lệnh ADD/SUB dấu phảy động 2 SIMD
Nhóm lệnh ADD/SUB dấu phảy động ngang 4 SIMD
Nhóm lệnh LOAD/MOVE/DUPLICATE dấu phảy động 3 SIMD
Nhóm lệnh đồng bộ hóa 2 chuỗi
II. Chipset
là một nhóm các mạch tích hợp (các "chip") được thiết kế để làm việc cùng nhau và đi cùng nhau như một sản phẩm đơn. Trong máy tính, từ chipset thường dùng để nói đến các chip đặc biệt trên bo mạch chủ hoặc trên các card mở rộng
Chipset cầu bắc (North Bridge )
và Chipset cầu nam ( Sourth Bridge )
*Nhiệm vụ của Chipset :
-Kết nối các thành phần trên Mainboard và các thiết bị ngoại vi lại
với nhau
- Điều khiển tốc độ Bus cho phù hợp giữa các thiết bị
- Thí dụ : CPU có tốc độ Bus là 400MHz nhưng Ram có tốc độ Bus là 266MHz để hai thành phần này có thể giao tiếp với nhau thì chúng phải thông qua Chipset để thay đổi tốc độ Bus
Sơ đồ minh họa tốc độ Bus của các thiết bị liên lạc với nhau thông qua chipset
Intel® G31 Express Chipset Block Diagram
Chip cầu bắc, hay còn gọi là Memory Controller Hub (MCH'), là một trong hai chip trong một chipset trên một bo mạch chủ của PC, chip còn lại là chip cầu nam. Thông thường thì chipset luôn được tách thành chip cầu bắc và chip cầu nam mặc dù đôi khi hai chip này được kết hợp làm một
Chip cầu bắc
Chip cầu bắc đảm nhiệm
Liên lạc giữa các thiết bị CPU, RAM, AGP hoặc PCI Express, và chip cầu nam .
Một vài loại còn chứa chương trình điều khiển video tích hợp, hay còn gọi là Graphics and Memory Controller Hub (GMCH) hay VGA onboard.
Ý nghĩa của Chip Cầu Bắc (North Bridge) trên Mainboard
Chip Cầu Bắc 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 :
o Điều khiển CPU o Điều khiển bộ nhớ RAM o Điều khiển Video Card
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.
Thông số của Mainboard trên các báo giá trên thị trường thường là các thông số của Chíp Cầu Bắc, nó thể hiện các yếu tố sau :
o Hỗ trợ các CPU loại gì (socket 478, 775, 1366 vv… ) và hỗ trợ CPU có BUS bao nhiêu. o Hỗ trợ RAM loại gì (DDR, DDR 2, DDR 3 vv… ), hỗ trợ RAM có tốc độ BUS bao nhiêu. o Hỗ trợ Video Card loại gì, AGP hay PCI Express vv… Tốc độ 4x, 8x hay 16x vv…
Khi bạn xây dựng cấu hình máy tính bạn phải chọn Mainboard trước, sau đó mới chọn CPU, RAM, và Video Card mà Main đó hỗ trợ.
Vì các bộ xử lý và RAM khác nhau yêu cầu các tín hiệu khác nhau, một chip cầu bắc chỉ làm việc với một hoặc hai loại CPU và nói chung chỉ với một loại RAM. Có một vài loại chipset hỗ trợ hai loại RAM (những loại này thường được sử dụng khi có sự thay đổi về chuẩn). Ví dụ, chip cầu bắc của chipset NVIDIA nForce2 chỉ làm việc với bộ xử lý Duron, Athlon, và Athlon XP với DDR SDRAM, chipset Intel i875 chỉ làm việc với hệ thống sử dụng bộ xử lý Pentium 4 hoặc Celeron có tố