1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO VI XỬ LÝ
CHỦ ĐỀ :
NHÓM 8 - D09CN1
2
Tìm hiểu kiến trúc VXL Core i7-990X
-
990X -
-
-990X.
Giới thiệu chung về VXL core i7.
--c m nhanh nht
i nhiu ci ti t tri so v h CPU t Core 2 tr v c.
- Core i7 hinh cao nh vi x a ln
nht, t clock nhanh nhc hiu sut thc cao nh b vi x
n nht, gn cng, h tr 64 -bit, t
-c sn xun kit k chip ging vi th h CPU
thn thm tit kii bt
cc Intel tn dn vi x n
mt 296 mm2, cha ti 774 triu transitor v
trong x p sn mu khin b nh, s dng ki nh m cache 3 c tr
x ng Hyper-Threading.
Sự ra đời của VXL core i7-990X.
- n (g
socket LGA 1366, model Core i7-990X. Intel Core i7-n Extreme Edition vi h s
3
c sn xu 32nm. Core i7-990X s thay th
a Core i7-980X, x nhanh nht ca t
vua cm hin ti.
---
bo
Boost,
- Core i7-990X
RAM DDR3.
4
Kiến trúc vi xử lý
Sơ đồ kiến trúc và thành phần chính của VXL Intel Core i7-990X
5
Đặc điểm kiến trúc của vi xử lý :
Gulftown Nehalem
-
trong tay.
Các thành phần chính bao gồm :
-
-
- -
-
- .
-
6
Mạch điều khiển bộ nhớ tích hợp ( IMC )
Nhân thực thi ( Execution Core )
Execution CoreComputing Core
7
thêm vào một số, mở
rộng một số khác
Bộ phận mã hóa ( Decoder )
-
Xử lý chu kỳ
Loop Stream Detector
Trace
Cache.
8
Dự đoán rẽ nhánh ( Branch Prediction )
Return Stack Buffer
lRenamed RSB
Thực hiện lệnh ( Instruction Execution )
9
-
Reservation Station
Hệ thống Cache
( Branch Unit )TLB (Translation-Lookaside Buffer)
-
các dữ liệu trong L1/L2 phải xuất hiện trong cả L3.
Mỗi dòng trong Cache L3 chứa các bit hợp lệ trong nhân ( dựa theo số nhân vật lý),
Cache L3 trong Core i7
không hoạt động theo tốc độ xung nhịp của bộ vi xử lý, mà theo một tốc độ cố định .
10
F
QPI thay thế cho QPB
QPI
Intel (QuickPath Interconnect) QPB (Quad Pumped Bus)
-
điểm-tới-điểm ( Point-to-Point )-
12.8 -MHz
24
11
Non-
Còn với máy tính để bàn thông thường, bạn sẽ khó mà nhận ra lợi thế nào của
QPI.
Quản lý điện năng
PCU (Bộ phận Quản lý Điện năng – Power
Control Unit )
Chuẩn mã hóa AES-NI
-NI -
-980X, AES-
-
12
AES
AES-NI Clarkdale Gulftown
AES
th-
Kiến trúc tập lệnh của Core i7-990X
Core i7-
MMX instruction set
SSE
SSE2
SSE3
Supplemental SSE3
SSE4.1
SSE4.2
AES instructions
0. MMX Instructions
13
-
MMX.
1. MMX Data Transfer Instructions (Tp lnh dch chuyn d liu)
Tp lnh dch chuyn d ling di d
vanh ghi MMX vi b nh
- MOVD: Dch chuyn Dword
- MOVQ: Dch chuyn Qword
2. MMX Conversion Instructions (Tp lnh chuyi )
Bao gnh chuy d
- PACKSSWB: Chuyng pack) sang dng bytu
- PACKSSDW: Chuyng pack) sang du
-
PUNPCKLWD, PUNPCKLDQ
3. MMX Packed Arithmetic Instructions (Tp l hc)
Tp l s hc (dng packed) biu din vi ng
packed)
- PADDB: C ng packed)
- PADDW: C ng packed)
-
PSUBD, PSUBD, PSUBSW, PSUBUSB, PSUBUSW, PMULHW,
PMULLW, PMADDWD
4. MMX Comparison Instructions (Tp l
Tp lc Dwords (dng packed)
- ng nhau ging packed)
- bng nhau ging packed)
- ng nhau ging packed)
- u (dng packed)
- u (dng packed)
- n u (dng packed)
5. MMX Logical Instructions (Tp lnh logic)
Tp lnh logic biu di
-
-
-
- PXOR
14
6. MMX Shift and Rotate Instructions (Tập lệnh dịch và quay)
Tp lnh dng dc Dwords, ho
ng 64-bit
- ng packed)
- ng packed)
- ng packed)
- ch phng packed)
- ch phng packed)
- ch phds (dng packed)
- ch phi s hng packed)
- ch phi s hng packed)
7. MMX State Management Instructions (Tp lnh qu
Lch tra thanh ghi MMX
Ech tr
1. SSE Instructions
Tp lnh SSE ch th x - tr phn m rng SSE.
1.1. SSE SIMD Single-Precision Floating-Point Instructions
1.1.1. SSE Data Transfer Instructions
Tp lnh chuyn d liu cng th u packed/
ng gic gi nh
- MOVAPS: Di chuyn b th c gia
nh
- i: MOVUPS, MOVHPS, MOVHLPS, MOVLPS, MOVLHPS, MOVMSKPS, MOVSS
1.1.2. SSE Packed Arithmetic Instructions
nh s hc (kiu packed) cu di s h
ng th ng.
- ADDPS: C th u packed)
- ADDSS: C th ng)
- SUBPS, SUBSS, MULPS, MULSS, DIVPS, DIVSS, RCPPS, RCPSS, SQRTPS, SQRTSS,
RSQRTPS, RSQRTSS, MAXPS, MAXSS, MINPS, MINSS
1.1.3. SSE Comparitsion Instructions
ng th ng
vi nhau.
- th u packed)
- thc ng)
-
15
1.1.4. SSE Logical Instructions
nh logic ca SSE biu di ng theo tng
ng th u packed)
- ANDPS: Biu ding bit c th u packed)
- ANDNPS, ORPS, XORPS
1.1.5. SSE Shuffle and Unpack Instructions
cn ln ho th
hng th u packed)
- ng th u packed)
- UNPCKHPS, UNPCKLPS
1.1.6. SSE Conversion Instructions
nh chuyi c
th
- CVTPI2PS: Chuy th
(kiu packed)
- CVTSI2SS, CVTPS2PI, CVTTPS2PI, CVTSS2SI, CVTTSS2SI
1.2. SSE MXCSR State Management Instructions
nh quc tra thanh ghi trng
u khin MXCSR.
- LDMXCSR: Np thanh ghi MXCSR
- STMXCSR: i tra thanh ghi MXCSR
1.3. SSE 64-Bit SIMD Integer Instructions
nh s -bit ca SSE biu di cc dword (kiu
c ch
- trung u (kiu packed)
- u packed)
-
PMULHUW, PSADBW, PSHUFW
1.4. SSE Cacheability Control, Prefetch, and Instruction Ordering Instructions
u khip kh u khin vi d li thuc
th d liu t nh.
- - tec chn t nh.
- h, SFENCE
2. SSE2 Instructions
Tp lnh SSE2 ch c th x - tr n m rng
SSE2
16
2.1. SSE2 Packed and Scalar Double-Precision Floating-Point Instructions
th
- nh dch chuyn d liu
- hc
-
- nh chuyi
- nh logic
- ng th
2.1.1. SSE2 Data Movement Instructions
nh dch chuyn d lin d liu th
gi nh.
- MOVAPD: Chuy th p thc gia
nh.
- MOVUPD: Chuy th p th
hoc gi nh.
17
- MOVHPD (Chuyn gi th mc cao): Chuyng th
64-bit t b nh ti Qword ca mt thanh ghi XMM hoc vice versa.
- MOVLPD (Chuy th mc thp): Chuyng th
64-bit t b nh ti Qword mc thp ca mt thanh ghi XMM hoc vice versa.
- lc du t th
- MOVSD: Chuy ng th c gia thanh ghi
nh.
2.1.2. SSE2 Packed Arithmetic Instructions
nh s hc biu ding, trng ln nht/ nh nht trong
ng th ng.
- ADDPD: C th u packed)
- ADDSD: C ng)
- SUBPD: Tr th u packed)
- SUBSD: Tr th ng)
- th u packed)
- MUL th ng)
- th u packed)
- thng)
- t s lnh na: + SQRTPD, SQRTSD
+ MAXPD, MAXSD
+ MINPD, MINSD
2.1.3. SSE2 Logical Instructions
nh logic ca SSE2 biu di th
u packed.
- ANDPD: Biu ding ci v th u packed
- ANDNPD: Biu dii v th u packed
- ng lnh: ORPD, XORPD
2.1.4. SSE2 Compare Instructions
th
tr li kt qu c v c v thanh ghi EFLAGS.
- tr th u packed
- th ng
- COMISD: Biu din s t c t l
c trong thanh ghi EFLAGS
- UCOMISD: Biu din s t c t
l trong thanh ghi EFLAGS
18
2.1.5. SSE2 Shuffle and Unpack Instructions
n ln ho th
hng th u packed.
- SHUFPD: Trn l ng th u packed.
- mc cao t ng th
2.1.6. SSE2 Conversion Instructions
nh chuyi c u packed/kiu individual sang
th c li gi
tr th king.
- CVTPD2PI: Chuy th
- nh chuyi:
(CVTTPD2PI, CVTPI2PD, CVTPD2DQ, CVTTPD2DQ, CVTDQ2PD, CVTPS2PD, CVTPD2PS,
CVTSS2SD, CVTSD2SS, CVTSD2SI, CVTTSD2SI, CVTSI2SD)
2.2. SSE2 Packed Single-Precision Floating-Point Instructions
th u packed) ca SSE2 biu din s chuyng
th
- CVTDQ2PS: Chuy tr th
(kiu packed)
- CVTPS2DQ: Chuy th
(packed)
- CVTTPS2DQ: Chuyi vi vic ct ng thi c
dword (packed).
2.3. SSE2 128-Bit SIMD Integer Instructions
nh s a SEE2 biu diu packed)
ch
- MOVDQA: Di chuyn Double c xp th
- MOVDQU: Di chuyp th
- t s l
(MOVQ2DQ, MOVDQ2Q, PMULUDQ, PADDQ, PSUBQ, PSHUFLW, PSHUFHW, PSHUFD,
PSLLDQ, PSRLDQ, PUNPCKHQDQ, PUNPCKLQDQ)
2.4. SSE2 Cacheability Control and Ordering Instructions
Tp lu khi d li thuc thi
d liu t nh u
khin sp xp th t .
- n: CLFLUSH, LFENCE, MFENCE, PAUSE, MASKMOVDQU, MOVNTPD,
MOVNTDQ, MOVNTI
19
3. SSE3 Instructions
Tp lnh SS3 ch c th x -c h tr n m
rng cho SS3.
3.1. SSE3 x87-FP Integer Conversion Instruction
FISTTP: thn gi dt d liu, bt ch
thc ch u khin s thc
3.2. SSE3 Specialized 128-bit Unaligned Data Load Instruction
LDDQU: 128-c bic thit k np th chia c
3.3. SSE3 SIMD Floating-Point Packed ADD/SUB Instructions
- ADDSUBPS: Biu di p th 4 cn d liu
ng c hip th nh ba.
- ADDSUBPD: Biu di p th hai c
3.4. SSE3 SIMD Floating-Point Horizontal ADD/SUB Instructions
- HADDPS: Biu di n d liu k n d
lia kt qu c bn th nh hai cu
n d liu th c bh phn th ng
n th c b
- phn th nh hai cng th n th c b
phn th ng th hai
- nh i: HSUBPS, HADDPD, HSUBPD
3.5. SSE3 SIMD Floating-Point LOAD/MOVE/DUPLICATE Instructions
- MOVSHDUP: Np/ di chuyn d liu 32-bit th
- i: MOVSLDUP, MOVDDUP
3.6. SSE3 Agent Synchronization Instructions
- t pha ch c s d -
li kt qu)
- Li: MWAIT
4. S-SSE3 Instructions
4.1. Horizontal Addition/ Subtraction (Cộng/ trừ theo phương ngang)
- PHADDW: Cng hai s 16-u, lin k ng ngu
ht qu 16-
- PHADDSW: Cng hai s -u, lin k ng ngu
h kt qu 16-
20
- PHADDD: Cng hai s -u, lin k t ng ngu
kt qu 32-
- PHSUBW: Biu th mi cp lin k -u b
tr u nht t t ca mi cng ngung
t qu 16-c gc ng ngun.
- PHSUBSW: Biu th mi cp lin k -u bng thao
u nht t t ca mi cng ngu
ht qu 16-c g
- PHSUBD: Biu th mi cp lin k -bit b
u nht t t ca mi cng ngu
t qu 32-c g
4.2. Packed Absolute Values (Tính toán giá trị tuyệt đối)
- tuyi ca mn d liu.
- tuyi ca mn d liu 16-u.
- tuyi ca mn d liu 32-u.
4.3. Multiply and Add Packed Signed and Unsigned Bytes
(Nhân/ Cộng các byte có dấu và không dấu kiểu packed)
- bytu v trung
u 16-bit. Mi cp lin k u 16-c c
kt qu 16-
4.4. Packed Multiply High with Round and Scale
- u dc mi s -u t i mt s -
ng ngu -u. Mi
s -bit trung gian b ct b c biu din bng
vi t trong 18 bit kt qu. Kt qu c ba
21
chi ct trong mi kt qu 18-bit trung gian. Kt qu
4.5. Packed Shuffle Bytes (Xáo trộn các byte – kiểu packed)
- mi byte theo b lu khin trn. Ba hoc bu
khin trn ca b lu khin s t cht ch mc trn. B lc tr b ng. Nu
t (bit 7) cu khin trc thit lng s 0 s t
qu.
4.6. Packed Sign (Đổi dấu giá trị nguyên - packed)
- PSIGNB / W / D: Ph nh mn s u cu du cn
d ling ngun nh
4.7. Packed Align Right (Sắp thẳng hàng các giá trị - packed)
- ng nguc gt l p 2
l ng. Kt qu
la ch 128 bit hoc sp thi c c ch nh bi
trung gian.
5. SSE4.1 Instructions
SSE4.1 gm 47 tp li thin hin truy
i thi s
h tr th ca
SSE4.1
5.1. Dword Multiply Instructions (Các lệnh nhân Dword)
- PMULLD: Tr li b 32-bit mc thp t t qu 64-bit c -bit
u.
- PMULDQ: Tr li hai kt qu u 64-bit c -u.
t v vi
32 bit Integer Operation
Unsigned x unsigned
Signed x signed
Result
Low 32-bit
(not availbale)
PMULLD
Hight 32-bit
(not availbale)
(not available)
64-bit
PMULUDQ*
PMULDQ
NOTE: i vi SSE4.1
22
5.2. Floating-Point Dot Product Instructions
( Các lệnh xử lý giá trị thực)
- DPPD: Biu din thc v d
- DPPS: Biu di thc v d
(broadcast)
5.3. Streaming Load Hint Instruction
(Lệnh điều khiển nạp theo tiến trình dòng chảy)
Trong lch sc d liu c-Combining memory) vng chm
so vi truy c
lic kt h tm
thi trong mt b m (buffer) the write combine buffer (WCB). R lic gi
ng bit hoc t.
c g cung cp li g
thuc thy 16-byte lin k trong phm vi 64-byte sp thc kiu b nh WC
n li trong mt khu vc nh c m tm th
p tc np ti-
p v i thing ca CPU.
5.4. Packed Blending Instructions (Các lệnh trộn kiểu packed)
- nh s d n d liu (BLENDPS, BLENDPD, BLENDVPS,
BLENDVPD, PBLENDVB, PBLENDW)
- u kin d ling ngu
phn gip l trn cho hu h
ng d liu. Mt l thay th cho mt chui 2 ti 4
ng s d
- c trn (Blend control):
u khin byte trc tip)
+ XMM0 (s dng b lc m implied mask)
23
Instructions
Packed
Double
FP
Packed
Single
FP
Packed
QWord
Packed
DWord
Packed
Word
Packed
Byte
Blend
Control
BLENDPS
X
Imm8
BLENDPD
X
Imm8
BLENDVPS
X
X (1)
XMM0
BLENDVPD
X
X (1)
XMM0
PBLENDVB
(2)
(2)
(2)
X
XMM0
PBLENDW
X
X
X
Imm8
TABLE1. Blend Field Size and Control Modes Supported by SSE4.1
NOTE:
1. Vic s dnh du chu d li s phu s bt li v
mt hi
2. Vic trn ln bin s s dc lnh dng li
(hoc sp xp lu khin trn
5.5. Packed Integer MIN/MAX Instructions
(Các lệnh MIN/MAX với nhóm số nguyên)
- PMINUW, PMINUD, PMINSB, PMINSD;
PMAXUW, PMAXUD, PMAXSB, PMAXSD)
- Bn lu. Hai lnh hong
u.
Integer Width
Byte
Word
Dword
Integer
Format
Unsigned
PMINUB*
PMAXUB*
PMINUW
PMAXUW
PMINUD
PMAXUD
Signed
PMINSB
PMAXSB
PMINSW*
PMAXSW*
PMINSD
PMAXSD
TABLE2.Enhanced SIMD Integer MIN/MAX Instructions
Supported bySSE4.1
NOTE:
*
24
5.6. Floating-Point Round Instructions with Selectable Rounding Mode
(Các lệnh làm tròn số thực với cách thức làm tròn tùy chọn)
- th li c thc
- th l thc
- th mc th li
th
- th mc th l
th
5.7. Insertion and Extractions from XMM Registers
(Chèn và rút từ các thanh ghi XMM)
- m th khoc ch nh trong thanh ghi
t qu nh ho
- th v nh 32-bit hoc t c ch
nh trong mc ch
n d li dng mt
b lc.
- t thanh ghi hoc b nh t thanh ghi XMM.
- Dword t thanh ghi 32-bit hoc b nh
- Qword t thanh ghi 64-bit hoc b nh
- t byte t ng qc b nh.
- t Word t c b nh.
5.8. Packed Integer Format Conversions
(Quá trình chuyển đổi định dạng số nguyên – kiểu packed)
- Kiu dng chung c i bc zero hoc
sign-extension t i d liu r
- i t dng s c nh ng s
c l PMOVSXBW, PMOVZXBW, PMOVSXBD, PMOVZXBD, PMOVSXWD,
PMOVZXWD, PMOVSXBQ,
PMOVZXBQ, PMOVSXWQ, PMOVZXWQ, PMOVSXDQ, PMOVZXDQ).
- ngun ly t thanh ghi XMM hoc b nh m trong thanh ghi XMM.
25
Source Type
Byte
Word
Dword
Destination Type
Sign Word
Unsign Word
PMOVSXBW
PMOVZXBW
Sign Dword
Unsign Dword
PMOVSXBD
PMOVZXBD
PMOVSXWD
PMOVZXWD
Sign Qword
Unsign Qword
PMOVSXBQ
PMOVZXBQ
PMOVSXWQ
PMOVZXWQ
PMOVSXDQ
PMOVZXDQ
TABLE 3. New SIMD Integer conversions supported by SSE4.1
5.9. Improve Sums of Absolute Differences (SAD) for 4-Byte Block
(Cải tiến khả năng tính tổng giá trị tuyệt đối hiệu cho mỗi khối 4-byte)
t lu di-byte chiu rng) trong mi
kt qui PSADBW, MPSADBW hoi d liu
nh -i 8-
5.10. Horizontal Search (Tìm kiếm theo phương ngang)
mt l
mu xp ngang. Kt qu - m
vi ngun) - mc thp c
5.11. Packed Test (Kiểm tra dữ liệu – kiểu packed)
L- tha ti 128-bit ca lnh TEST. Vi s nguc s dng
t b lc theo bit.
5.12. Packed Qword Equality Comparisons
(So sánh đẳng thức Qword - packed)
SSE4 -bit ki ng thc Qword. Lnh m ng nht vi
nh mc v tr Dword.
5.13. Dword Packing With Unsigned Saturation
(Nén Dword với sự bão hòa không dấu)
t lnh m t tp l trong h
rng ca l i s u.
Xem b tp l (small intergers)