Tải bản đầy đủ (.pdf) (32 trang)

Tìm hiểu vi xử lý Intel Atom

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 32 trang )


MỤC LỤC

1. MỞ ĐẦU 2
2. GIỚI THIỆU CHUNG 2
3. KIẾN TRÚC 4
3.1. Đặc điểm cấu trúc của vi xử lý 4
3.2. Các khối chính. 5
3.2.1. ALU 6
3.2.2. Memory Cache 7
3.2.3. Pipeline 9
4. KIẾN TRÚC TẬP LỆNH 10
4.1. Kiến trúc Intel 64 10
4.1.1. Các đặc trưng 10
4.1.2. Định dạng lệnh 11
4.2. Các tập lệnh SIMD (Single Instruction,Multiple Data) hỗ trợ Intel Atom N550.
12
4.2.1. SSE2 12
4.2.2. SSE3 14
4.2.3. SSSE3 (Supplemental Streaming SIMD Extensions 3) 15
4.3. Kiến trúc tập lệnh Intel64 16
4.3.1. Tập lệnh 16
4.3.2. Kiến trúc tập lệnh IA 64 20
5. CÔNG NGHỆ MỚI 25
5.1. Các công nghệ mới của chip Intel Atom N550 25
5.2. Một vài điểm về vi kiến trúc của chip Itel Atom 25
5.3. Công nghệ siêu phân luồng HyperThreading: (Intel HT Technology) 27
5.4. Enhanced Intel Speedstep® Technology (EIST) 27
5.5. Chế độ tiết kiệm điện năng 28
6. KẾT LUẬN 29



Kỹ thuật vi xử lý
2

1. MỞ ĐẦU
Vào ngày 2 tháng 3 năm 2008, Intel thông báo ra đời vi xử lý mới (tên mã
Silverthorne) để sử dụng trong các Máy tính cá nhân siêu di động/Thiết bị Internet di
động (MID) sẽ thế chỗ Intel A100.
Và cùng lúc đó Intel cũng ''hé lộ'' thông tin về một bộ xử lý mới cho nền tảng
di động, dưới tên mã Diamondville, được cho là để cạnh tranh với bộ xử lý Geode x86
giá rẻ của đối thủ lâu năm AMD. Tuy vậy, bộ xử lý mới này được Intel (cố tình) bán
với thương hiệu Atom.
Silverthorne và Diamondville đều dựa trên vi kiến trúc giống nhau.
Silverthorne sẽ được gọi là các xê-ri Atom Z và Diamondville là Atom N. Đắt và
tiêu thụ điện ít hơn là Silverthorne sẽ được sử dụng trong các thiết bị MID còn
Diamondville sẽ được sử dụng trong các máy xách tay và để bàn giá rẻ.
2. GIỚI THIỆU CHUNG
Intel Atom là tên nhãn hiệu cho dòng CPU x86 của Intel, tên mã trước
đó là bộ xử lý Silverthorne và Diamondville, thiết kế cho một tiến trình CMOS
cỡ 45 nm dự định dùng cho máy tính siêu di động, điện thoại thông minh và các
thiết bị bỏ túi cần tiêu thụ điện năng thấp.
Intel® Atom™ - Bộ vi xử lý tí hon Intel® Atom™ có 47 triệu bóng bán
dẫn dựa trên công nghệ 45nm High-K. Intel® Atom™ có kích thước cực nhỏ -
25 milimet vuông – 11 bộ vi xử lý tí hon Intel® Atom™ hợp lại với nhau mới lớn
bằng đồng 1 xu USA (vui lòng nhìn hình dưới) - điều đặc biệt nhất là bộ vi xử lý tí
hon Intel® Atom™ này có công suất tiêu thụ điện vào khoảng 2.4W – đây là khả
năng tiết kiệm điện cực tốt (tiết kiệm hơn 90% lượng điện năng tiêu thụ).

Kỹ thuật vi xử lý
3


Sự ra đời của Intel® Atom™ Processor N550
Thứ 2 ngày 23/8/2010, Intel đã phát hành chip Atom lõi kép N550 cải thiện
ứng dụng và hiệu năng đồ họa cho netbook đồng thời kéo dài thời gian làm việc của
pin.

BXL Intel Atom N550 dual-core.
Bộ xử lý (BXL) Atom N550 là một nâng cấp lớn từ những BXL trước đó trong
dòng Atom mà chủ yếu bao gồm các chip đơn nhân.
N550 là mẫu vi xử lý Intel Atom 2 nhân đầu tiên dành cho Netbook. Nó không
chỉ mạnh hơn mà còn hỗ trợ những công nghệ mới, hỗ trợ tốt hơn cho các ứng dụng
multimedia như game, video HD, cũng như công nghệ Adobe Flash để truy cập một
số lượng lớn các trang Web nội dung đa phương tiện.
Intel Atom N550 có tốc độ 1,5GHz, 2 nhân, 4 luồng (nhờ công nghệ HT-Hyper
Threading), bộ nhớ Cache 1MB, công nghệ xuất nguyên khối 45nm với GPU GMA
3150 tích hợp ngay trên nhân xử lý, có tốc độ xử lý đồ họa 200MHz. Đây cũng là vi
xử lý Atom đầu tiên hỗ trợ bộ nhớ DDR3. Với mức tiêu thụ điện TDP tối đa chỉ
8,5W, dòng vi xử lý này cho thời gian sử dụng pin dài không kém là bao so với bộ vi
xử lý đơn nhân Intel Atom N450. Với kiến trúc 2 nhân xử lý, N550 đã được giảm tốc
độ từ 1,66MHz của N450 xuống còn 1,5GHz để giảm mức tiêu thụ điện. Ngoài ra, tuy
mức Max TDP của N550 cao hơn 3W so với N450, nhưng hệ thống được bù lại với
Kỹ thuật vi xử lý
4

việc sử dụng DDR3 vốn ít hao điện hơn DDR2. N550 hỗ trợ bộ lệnh 64- bit như của
N450.
Tuy nhiên đây không phải là BXL Atom lõi kép đầu tiên. Intel đã phát hành
BXL Atom 330 và được dùng ở một số MTXT. Chip này dựa trên thiết kế bộ vi xử lý
máy tính để bàn.
3. KIẾN TRÚC

3.1. Đặc điểm cấu trúc của vi xử lý
 Sản xuất theo công nghệ 45nm.
 Hỗ trợ NX bit và tập lệnh SSE2, SSE3, SSSE3.(NX bit là không thực thi, là
một công nghệ sử dụng CPU để phân biệt các khu vực bộ nhớ để lưu trữ lệnh
và dữ liệu)
 Kênh dữ liệu nội 128-bit (Digital Media Boost):
o 2 cổng được dùng để phân phối các lệnh SIMD (Single
Information, Multiple Data) tới đơn vị xử lý.
o Một chu kì đơn cho phép dòng lệnh SIMD nhiều nhất 128-bit integer.
o Một chu kì, cho phép tính toán với những toán hạng có 6 số sau dấu
phẩy động.
 Atom có pipeline 16 bước.
 Có trang bị công nghệ siêu phân luồng HyperThreading :(Intel HT
Technology):
 Công nghệ Enhanced Speed Step : Nhiều mức điện áp và xung nhịp vận hành
mang lại hiệu suất hoạt động tối ưu ở mức tiêu thụ điện năng thấp nhất, cho
phép hiệu suất hoạt động phù hợp nhất với mỗi nhu cầu ứng dụng.
 Tính năng nạp dữ liệu (Enhanced Data Prefetcher) và quản lý Enhanced
Register Access Manager: Dự đoán những dữ liệu mà bộ vi xử lý có thể cần
đến và lưu trữ các thông tin đó trong bộ nhớ đệm L2 của bộ vi xử lý, giúp nâng
cao hiệu suất hoạt động do bộ vi xử lý không phải chờ lâu khi nạp các dữ liệu.
 Bộ nhớ đệm thông minh - Intel Smart Cache: Bộ nhớ đệm và kênh truyền hệ
thống được thiết kế cho việc chia sẻ dữ liệu hiệu quả, mang lại hiệu suất hoạt
động, tính nhạy bén, và khả năng tiết kiệm điện
năng
tốt hơn.
Kỹ thuật vi xử lý
5

o Cache L2 là 512KB với 8 cổng liên kết.

o Tối ưu môi trường thực thi cho xử lý đơn luồng và đa luồng.
o 256 bit dữ liệu trong giữa L1 và L2 làm tăng băng thông.
 Hỗ trợ kiến trúc Intel 64 bit.
 Tiêu tốn cực kì ít điện với TDP (Thermal Design Power) chỉ có 8.5W.
 Advanced Micro-Ops Execution:
o Một dòng lệnh được thực thi bằng cách giải mã các lệnh, bao gồm các
lệnh chỉ với thanh ghi, nạp và lưu trữ.
o Pipeline 16 bước, tối ưu hiệu suất và giảm điện năng tiêu thụ.
o 2 đường ống(pipelines) được dùng để giải mã, xuất ra, thực hiện và
dừng. Mỗi chu kì có thể thực hiện cùng lúc 2
lệnh.

o Nâng cao bộ nhớ stack để thực thi được nhiều hơn các chức năng
vào/ra.
 Efficient Memory Access (Hiệu suất truy cập bộ
nhớ).

o Thông tin về phần cứng sẽ được nạp trước vào L1 và L2, việc nạp dữ
liệu giống như 1 yêu cầu từ vi xử lý để giảm áp lực cho cache.
3.2. Các khối chính.
Sơ đồ cơ bản của 1 CPU

Kỹ thuật vi xử lý
6

Kiến trúc máy tính Atom đã từ 3 chip trước đây (bên trái) giờ thành 2 chip.


3.2.1. ALU
 Atom được trang bị 2 khối ALU (khối tính toán) và 2 khối FPU

(dùng tính toán các phép tính với dấu phẩy động).
 Khối ALU thứ nhất quản lý các phép dịch và khối thứ 2 quản lý các
phép nhảy (jump). Tất cả các phép tính cộng và nhân được chuyển
tới
FPU (
ngoại trừ với các số nguyên).
 Khối FPU thứ nhất dùng tính các phép cộng, trong khi khối thứ 2
quản lý các lệnh SIMD và các phép nhân/chia.
Kỹ thuật vi xử lý
7


3.2.2. Memory Cache
Memory Cache là một kiểu bộ nhớ hiệu suất cao, cũng được gọi là bộ nhớ
tĩnh. Kiểu bộ nhớ đã sử dụng trên bộ nhớ RAM chính của máy tính được gọi là bộ
nhớ động. Bộ nhớ tĩnh tiêu tốn nhiều năng lượng điện hơn, đắt hơn và có kích thước
vật lý lớn hơn so với bộ nhớ động, tuy nhiên nó lại chạy nhanh hơn. Nó có thể làm
việc với cùng tốc độ clock của CPU, điều mà bộ nhớ động không thể thực hiện được.
Vào “thế giới bên ngoài” để tìm nạp dữ liệu làm cho CPU phải làm việc ở tốc
độ clock thấp hơn do vậy mà kỹ thuật cache nhớ được sử dụng ở đây để khắc phục
nhược điểm này. Khi CPU nạp dữ liệu từ một vị trí nhớ nào đó thì mạch có tên gọi
là memory cache controller nạp vào cache nhớ một khối dữ liệu bên dưới vị trí hiện
hành mà CPU đã nạp. Vì các chương trình được thực hiện theo thứ tự nên vị trí nhớ
Kỹ thuật vi xử lý
8

tiếp theo mà CPU sẽ yêu cầu có thể là vị trí ngay dưới vị trí nhớ mà nó đã nạp. Do
memory cache controller đã nạp rất nhiều dữ liệu dưới vị trí nhớ đầu tiên được đọc bởi
CPU nên dữ liệu kế tiếp sẽ ở bên trong cache nhớ, chính vì vậy CPU không cần phải
thực hiện thao tác lấy dữ liệu bên ngoài: nó đã được nạp vào bên trong cache nhớ

nhúng trong CPU, chính vì nhúng trong CPU mà chúng có thể truy cập bằng tốc độ
clock trong.
Cache controller luôn luôn quan sát các vị trí nhớ đã và đang được nạp dữ liệu
từ một vài vị trí nhớ sau khi vị trí nhớ vừa được đọc. Một ví dụ thực tế, nếu một CPU
đã nạp dữ liệu được lưu tại địa chỉ 1.000 thì cache controller sẽ nạp dữ liệu từ “n” địa
chỉ sau địa chỉ 1.000. Số “n” được gọi là trang; nếu một bộ vi xử lý này làm việc với
4KB trang (giá trị điển hình) thì nó sẽ nạp dữ liệu từ các địa chỉ 4.096 dưới vị trí nhớ
hiện hành đang được nạp (địa chỉ 1.000 trong ví dụ). 1KB bằng 1.024 byte, do đó là
4,096 chứ không phải 4,000.
Memory cache controller làm việc như thế nào?


Memory cache càng lớn thì cơ hội cho dữ liệu yêu cầu bởi CPU ở đây càng cao,
chính vì vậy CPU sẽ giảm sự truy cập trực tiếp vào bộ nhớ RAM, do đó hiệu suất hệ
thống tăng (hãy nên nhớ rằng khi CPU cần truy cập trực tiếp vào bộ nhớ RAM thì nó
phải thực hiện ở tốc độ clock thấp hơn nên giảm hiệu suất của toàn hệ thống).
Kỹ thuật vi xử lý
9

Chúng ta gọi là “hit” khi CPU nạp một dữ liệu yêu cầu từ cache và “miss” nếu
dữ liệu yêu cầu không có ở đó và CPU cần phải truy cập vào bộ nhớ RAM của hệ
thống.
L1 và L2 tương ứng là “Level 1” và “Level 2”, được đại diện cho khoảng cách
chúng cách lõi CPU (khối thực thi). Một sự ngờ vực hay có ở đây là tại sao có đến 3
bộ nhớ Cache (L1 data cache, L1 instruction cache và L2 cache). Hãy chú ý trên hình
và bạn sẽ thấy được rằng L1 instruction cache làm việc như một “input cache”, trong
khi đó L1 data cache làm việc như một “output cache”. L1 instruction cache – thường
nhỏ hơn L2 cache – chỉ hiệu quả khi chương trình bắt đầu lặp lại một phần nhỏ của nó
(loop), vì các chỉ lệnh yêu cầu sẽ gần hơn với khối tìm nạp.
3.2.3. Pipeline

Atom có pipeline 16 bước, dài hơn so với các CPU Core 2 hiện nay. Điều này
được thực hiện với một số lý do:
 Thứ nhất, điều này làm giảm điện năng tiêu thụ, làm giảm sự tỏa nhiệt không
cần thiết. Với các bước nhiều hơn, xác suất có các thành phần nghỉ nhiều hơn
so với các CPU có ít bước hơn, do vậy ta có thể tắt đi một số bước không thực
sự cần thiết để tiết kiệm điện năng.
 Một ưu điểm khác trong pipeline dài hơn sẽ làm cho các vi kiến trúc có thể đạt
được tốc độ đồng hồ cao hơn.
Kết quả kiểm tra bằng CPU-Z
Kỹ thuật vi xử lý
10



4. KIẾN TRÚC TẬP LỆNH
Intel Atom N550 là bộ VXL 2 nhân hỗ trợ kiến trúc Intel 64 và các tập lệnh mở
rộng MMX,SSE,SSE2,SS3,SSSE3
4.1. Kiến trúc Intel 64
Hỗ trợ 2 chế độ hoạt động:chế độ tương thích và chế độ 64bits cho phép HĐH
64-bit chạy các ứng dụng 32bits và 64bits.
4.1.1. Các đặc trưng
 Cơ chế xử lý song song là song song các lệnh mã máy (EPIC) thay vì các bộ xử
lý song song như hệ thống đa bộ xử lý.
 Các lệnh dài hay rất dài (LIW hay VLIW).
 Các lệnh rẽ nhánh xác định (thay vì đoán các lệnh rẽ nhánh như trước).
Kỹ thuật vi xử lý
11

 Nạp trước các lệnh.
 Có nhiều thanh ghi: số lượng thanh ghi các bộ xử lý kiến trúc IA-64 là 256

thanh ghi. Trong đó, 128 thanh ghi tổng quát (GR) 64 bit cho các tính toán số
nguyên, luận lý; 128 thanh ghi 82 bit (FR) cho các phép tính dấu chấm động và
dữ liệu đồ hoạ; ngoài ra, còn có 64 thanh ghi thuộc tính (PR)1 bit để chỉ ra các
thuộc tính lệnh đang thi hành.
 Nhiều bộ thi hành lệnh: một máy tính có thể có tám hay nhiều hơn các bộ thi
hành lệnh song song. Các bộ thi hành lệnh này được chia thành bốn kiểu:
o Kiểu I (I-Unit): dùng xử lý các lệnh tính toán số nguyên, dịch, luận lý, so
sánh, đa phương tiện.
o Kiểu M (M-Unit): Nạp và lưu trữ giữa thanh ghi và bộ nhớ thêm vào một
vài tác vụ ALU.
o Kiểu B (B-Unit): Thực hiện các lệnh rẽ nhánh.
o Kiểu F (F-Unit): Các lệnh tính toán số dấu chấm động
4.1.2. Định dạng lệnh
Kiến trúc IA-64 định nghĩa một gói (buldle) 128 bit chứa ba lệnh (mỗi lệnh dài
41 bit) và một trường mẫu (template field) 5 bit. Bộ xử lý có thể lấy một hay nhiều gói
lệnh thi hành cùng lúc. Trường mẫu (template field) này chứa các thông tin chỉ ra các
lệnh có thể thực hiện song song . Các lệnh trong một bó có thể là các lệnh độc lập
nhau. Bộ biên dịch sẽ sắp xếp lại các lệnh trong các gói lệnh kề nhau theo một thứ tự
để các lệnh có thể được thực hiện song song.

Kỹ thuật vi xử lý
12

Hình (a) chỉ ra định dạng lệnh trong kiến trúc IA-64. Hình (b) mô tả dạng tổng
quát của một lệnh trong gói lệnh. Trong một lệnh, mã lệnh chỉ có 4 bit chỉ ra 16 khả
năng có thể để thi thi hành một lệnh và 6 bit chỉ ra thanh ghi thuộc tính được dùng với
lệnh. Tuy nhiên, các mã tác vụ này còn tuỳ thuộc vào vị trí của lệnh bên trong gói
lệnh, vì vậy khả năng thi hành của lệnh nhiều hơn số mã tác vụ được chỉ ra. Hình (c)
mô tả chi tiết các trường trong một lệnh (41 bit)
4.2. Các tập lệnh SIMD (Single Instruction,Multiple Data) hỗ trợ Intel Atom

N550.
4.2.1. SSE2
Là một cải tiến đáng kể SSE với 144 hướng dẫn mới-hỗ trợ các lệnh số nguyên
với thanh ghi 128 bit. SSE2 thêm hướng dẫn toán học mới cho độ chính xác kép(64
bit) và dấu chấm động cũng mở rộng MMX hướng dẫn để hoạt động trên các thanh ghi
XMM-128bit. SSE2 cho phép lập trình để thực hiện các toán SIMD trên bất kỳ loại dữ
liệu (từ số nguyên 8-bit đến 64 bit-float) hoàn toàn với các thanh ghi XMM, mà không
cần phải sử dụng những di sản MMX hoặc FPU. Nhiều người lập trình xem xét SSE2
để được "tất cả mọi thứ SSE cần phải có được như SSE2” cung cấp một tập hợp các
trực giao của các hướng dẫn xử lý các dữ liệu phổ biến các loại.
VD:
Số học:
addpd-Thêm 2 64bit tăng gấp đôi.
mulpd -2 64bit sẽ nhân đôi.
divpd -chia đôi 2 64bit.
Logic:
andnpd-logic không ANDs 2 64bit tăng gấp đôi.
pand -logic ANDs 2 128bit đăng ký.
So sánh:
cmppd -So sánh 2 cặp đôi 64bit.
Kỹ thuật vi xử lý
13

So sánh Codes:
eq-Bằng.
lt-Ít hơn.
le-Nhỏ hơn hoặc bằng.
ne-Không phải bằng nhau.
nlt-Không ít hơn.
nle-Không ít hơn hoặc bằng.

ord-đặt hàng.
unord-có thứ tự.
Chuyển đổi:
cvtdq2pd-Chuyển đổi 2 vào 2 số nguyên 32bit 64bit tăng gấp đôi.
Load / Store:
movq -Di chuyển một giá trị 64bit, giải tỏa 64bits đầu trang của một XMM
đăng ký.
Shuffling:
pshufd-Shuffles 32bit giá trị trong một cách phức tạp.
Cache Control:
clflush-flushes một Line Cache từ tất cả các cấp bộ nhớ cache.
lfence-Đảm bảo rằng tất cả các bộ nhớ tải ban hành trước lfence hướng dẫn
được hoàn tất trước khi anyloads sau khi lfence hướng dẫn.
mfence-hướng dẫn được hoàn thành trước khi đọc hoặc viết sau khimfence
hướng dẫn.
pause-thực hiện tạm dừng cho một khoảng thời gian.
Kỹ thuật vi xử lý
14

4.2.2. SSE3
Còn gọi là Prescott New Instruction(PNI), là một nâng cấp của SSE2 với 13
hướng dẫn mới thêm một số ít các định hướng toán học DSP và quá trình hướng dẫn
một số hướng dẫn quản lý, xử lý các số thực dấu phẩy động.
VD:
Số học:
addsubpd-Thêm hai đôi trên và trừ đi phía dưới hai.
addsubps-Thêm đĩa đơn đầu và trừ đơn dưới cùng.
haddpd-Top gấp đôi là tổng của đáy, đáy và đỉnh là tổng của hai toán hạng của
trang thứ hai và dưới cùng.
haddps-Ngoài ngang chính xác của các giá trị duy nhất.

hsubpd-ngang trừ chính xác giá trị tăng gấp đôi.
hsubps-ngang trừ chính xác giá trị duy nhất.
Load/Store:
lddqu-128bit unaligned tải một giá trị.
movddup-tải 64bits và bản sao nó ở trên và dưới nửa của một đăng ký 128bit.
movshdup-Bản sao các cao và thấp đĩa đơn thành đĩa đơn cao.
movsldup-Bản sao các đĩa đơn thành thấp và thấp đĩa đơn cao.
fisttp-Chuyển đổi một giá trị điểm nổi đến một số nguyên cách sử dụng cắt
ngắn.
Quy trình kiểm soát:
monitor-Bộ lập một khu vực để giám sát cho hoạt động.
mwait-Đợi cho đến khi hoạt động sẽ xảy ra trong một khu vực xác định bởi
monitor
Kỹ thuật vi xử lý
15

4.2.3. SSSE3 (Supplemental Streaming SIMD Extensions 3)
Là một nâng cấp của SSE3 thêm 16 hướng dẫn mớitrong đó bao gồm permuting
các byte trong một từ, nhân 16-bit đểm làm tròn số cố định với độ chính xác cao
VD:
psignd - Cung cấp cho 32bit số nguyên cường độ các dấu hiệu của các toán
hạng thứ 2.
psignw - Cung cấp cho 16bit số nguyên cường độ các dấu hiệu của các toán
hạng thứ 2.
psignb - Cung cấp cho 8 bit số nguyên cường độ các dấu hiệu của các toán hạng
thứ 2.
phaddd - ngang bổ sung các số nguyên unsigned 32bit.
phaddw - ngang bổ sung các số nguyên unsigned 16bit.
phaddsw - Ngoài ngang bão hòa của các số nguyên 16bit.
phsubd - ngang trừ các số nguyên unsigned 32bit.

phsubw - ngang trừ các số nguyên unsigned 16bit.
phsubsw - ngang trừ bão hòa của 16bit từ.
pmaddubsw - Nhân-tích lũy hướng dẫn (cuối cùng).
pabsd - abs():cho số nguyên 32 bit.
pabsw - abs():cho số nguyên 16bit.
pabsb - abs():cho 8 bit số nguyên.
pmulhrsw-16bit số nguyên nhân, các cửa hàng hàng đầu của kết quả 16bits.
pshufb-Một hướng dẫn shuffle phức tạp.
palignr-Kết hợp hai giá trị đăng ký, và chất chiết xuất từ một-chiều rộng giá trị
đăng ký từ nó, dựa trên một bù đắp
Kỹ thuật vi xử lý
16

Bổ sung:
 Kiến trúc Intel64
o Các thanh ghi bên trong: 64 bit.
o Xử lý các phép toán sốnguyên với 64-bit.
o Xử lý các phép toán số dấu chấm động.
o Không tương thích phần cứng với các bộ xử lý trước đó.
o Tương thích phần mềm bằng cách giả lập môi trường.
 Không gian địa chỉ
o 64 bits không gian địa chỉ tuyến tính cho phần mềm
o 40 bits không gian địa chỉ vật lý
 Hỗ trợ 2 chế độ hoạt động:
o Chế độ tương thích: cho phép hệ điều hành 64 bit chạy các ứng dụng 32
bit
o Chế độ 64 bits: cho phép hệ điều hành 64-bit chạy các ứng dụng 64 bits
 Các lệnh MMX có thể xử lý hiệu quả các mảng hoặc các luồng số nguyên
 Các lệnh SSE có thể xử lý cả số nguyên và số thực. Chúng có thể được
sử dụng hiệu quả trong các ứng dụng 3D hoặc nén và giải nén hình ảnh

 SSE2 mở rộng khả năng của SSE –hỗ trợ các lệnh số nguyên với các thanh
ghi XMM 128 bits
 SSE3, SSE4 cung cấp các lệnh xử lý hiệu quả các số thực dấu phẩy động
4.3. Kiến trúc tập lệnh Intel64
4.3.1. Tập lệnh
 Mỗi bộ xử lý có một tập lệnh xác định
 Tập lệnh thường có hàng chục đến hàng trăm lệnh
 Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu được để thực hiện một thao
tác xác định
 Các lệnh được mô tả bằng kí hiệu gợi nhớ gọi là các lệnh của hợp ngữ
 Thực thi lệnh được chia thành các giai đoạn. Tiêu biểu có 4 giai đoạn:
o Nạp lệ nh (IF) : lệnh được nạp từ bộ nhớ vào CPU
o Giải mã lệnh (ID) : CPU “đọc lệnh”
Kỹ thuật vi xử lý
17

o Thực thi lệnh : lệnh được CPU thực thi
o Ghi kết quả (WB) : các kết quả xử lý (nếu có) được ghi lại vào thanh ghi
hoặc bộ nhớ.
 Các thành phần của lệnh máy
o Mã lệnh (operation code → opcode): mã hóa thao tác mà bộ xử lý phải
thực hiện.
o Địa chỉ toán hạng: chỉ ra nơi chứa các toán hạng mà thao tác sẽ tác động.
 Toán hạng nguồn: dữ liệu vào của thao tác
 Toán hạng đích: dữ liệu ra của thao tác
 Các kiểu thao tác
o Chuyển dữ liệu
o Xử lý số học với số nguyên
o Xử lý logic
o Điều khiển vào-ra

o Chuyển điều khiển (rẽ nhánh)
o Điều khiển hệ thống
o Xử lý số dấu chấm động
o Xử lý các dữ liệu chuyên dụng
4.3.1.1. Các lệnh chuyển dữ liệu
MOVE: Copy dữ liệu từ nguồn đến đích
LOAD: Nạp dữ liệu từ bộ nhớ đến bộ xử lý
STORE: Cất dữ liệu từ bộ xử lý đến bộ nhớ
EXCHANGE: Trao đổi nội dung của nguồnvà đích
CLEAR: Chuyển các bit 0 vào toán hạng đích
SET: Chuyển các bit 1 vào toán hạng đích
PUSH: Cất nội dung toán hạng nguồn vào ngăn xếp
POP: Lấy nội dung đỉnh ngăn xếp đưa đến toán hạng đích
Kỹ thuật vi xử lý
18

4.3.1.2. Các lệnh số học
ADD: Cộng hai toán hạng
SUBTRACT: Trừ hai toán hạng
MULTIPLY: Nhân hai toán hạng
DIVIDE: Chia hai toán hạng
ABSOLUTE: L ấy trị tuyệt đối toán hạng
NEGATE: Đổi dấu toán hạng (lấy bù 2)
INCREMENT : Tăng toán hạng thêm 1
DECREMENT : Giảm toán hạng đi 1
COMPARE : Trừ 2 toán hạng để lập cờ
4.3.1.3. Các lệnh logic
AND: Thực hiện phép AND hai toán hạng
OR: Thực hiện phép OR hai toán hạng
XOR: Thực hiện phép XOR hai toán hạng

NOT: Đảo bit của toán hạng (lấy bù 1)
TEST: Thực hiện phép AND 2 toán hạng để lập cờ
SHIFT: Dịch trái (phải) toán hạng
ROTATE: Quay trái (phải) toán hạng
4.3.1.4. Các lệnh vào ra chuyên dụng
INPUT: Copy dữ liệu từ một cổng xác định đến đích
OUTPUT: Copy dữ liệu từ nguồn đến một cổng xác định
4.3.1.5 Các lệnh chuyển điều khiển
Kỹ thuật vi xử lý
19

JUMP (BRANCH): -Lệnh nhảy không điều kiện:
-Nạp vào PC một địa chỉ xác định
JUMP CONDITIONAL: -Lệnh nhảy có điều kiện:
-Điều kiện đúng nạp PC một địa chỉ xác định
-Điều kiện sai không làm gì cả
-Điều kiện thường được kiểm tra thông qua các cờ
CALL: -Lệnh gọi chương trình con:
-Cất nội dung của PC (địa chỉ trở về) ra một vị trí xác định (thường ở
Stack)
-Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con
RETURN: -Lệnh trở về từ chương trình con:
-Khôi phục địa chỉ trở về trả lại cho PC để trở về chương trình chính.
4.3.1.6 Các lệnh điều khiển hệ thống
NO OPERATION: Không thực hiện gì cả
HALT: Dừng thực hiện chương trình
WAIT: Tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi
thoả mãn thì tiếp tục thực hiện
LOCK : Cấm không cho xin chuyển nhượng bus
UNLOCK : Cho phép xin chuyển nhượng bus

* Xây dựng tập lệnh
Kỹ thuật vi xử lý
20


4.3.2. Kiến trúc tập lệnh IA 64
Vào năm 1994 , HP đã tham gia vào dự án nghiên cứu và phát triển để cung cấp
công nghệ tiên tiến cho những máy chủ , những máy trạm và những sản phẩm dùng
cho xí nghiệp và đến tháng 10 năm 1997 họ đã tiết lộ những chi tiết đầu tiên cho cấu
trúc tính toán 64-bit .
Vào thời gian đó thành viên đầu tiên của bộ vi xử lí Intel với dòng 64-bit có tên
mã là “Merced” được giới thiệu vào năm 1999 dùng công nghệ sản xuất 180nm . Lúc
đó những lập trình phát triển trên Merced bị lỗi cho tới khi Intel hoàn thành xong với
một tên mới Itanium vào tháng 10 năm 1999 được giới thiệu trên Diễn đàn Phát triển
của Intel (IDF) .
Cấu trúc tập lệnh IA-64 được giới thiệu rộng rãi vàotháng Năm năm 1999.
Công nghệ EPIC cung cấp tài nguyên rộng lớn và nó đại diện cho hầu hết những sự
tiến bộ của các cấu trúc bộ vi xử lí từ 386 của năm 1985 .
IA-64 rõ ràng không phải là phiên bản 64-bit của cấu trúc x86 32-bit và cũng
không phải cấu trúc PA-RISC 64-bit của HP mà nó cung cấp biện pháp bảo vệ những
ứng dụng còn tồn tại hiện nay và cơ sở hạ tầng phần mềm bằng cách duy trì tính tương
thích với những phần cứng bộ vi xử lí cũ bằng cách qua một phần mềm dịch . Dù thế
nào mọi sự liên quan tới ISA đều được chương trình dịch tối ưu hoá các dòng lệnh
loại trừ trường hợp nó được biên dịch lại . IA-64 chạy những phần mềm 32-bit bị
AMD chỉ trích kịch liệt, AMD đề xuất riêng của mình để hỗ trợ mã 64-bit và địa chỉ
hoá bộ nhớ với tên mã “Sledgehammer” và không chạy với những phần mềm cũ.
Kỹ thuật vi xử lý
21

Sledgehammer của AMD x86-64 thiết kế để mở rộng cấu trúc IA-32 để hỗ trợ mã 64-

bit và địa chỉ hoá bộ nhớ .
Vi xử lý IA-64 có bus địa chỉ 64 bit, cho phép định địa chỉ một không gian bộ
nhớ tuyến tính lớn đến 16 Ebyte (Exabyte)l .Cấu trúc số học đấu chấm trượt hiện đại
đáp ứng được nhu cầu tính toán khoa học kỹ thuật với độ chính xác cao.
Vi xử lý 64 bit tương thích ngược với các mã lệnh của vi xử lý 32 bit trước. Vi
xử lý 64 bit cho phép mã lệnh của vi xử lý 32 bit chạy trên hệ điều hành 64 bit mới (ví
dụ như WIN64 của Microsoft). IA-64 cho phép tiến hành hai môi trường HĐH cơ bản:
*Môi trường IA-32, dùng chocác hệ điều hành 32 bit thế trước (WIN32 của
Windows 98, Windows NT)
*Môi trường IA-64, dùng cho các hệ điều hành 64 bit trong tương lai (WIN64).
Bộ mã lệnh IA-64
Chế độ bảo vệ 32 bit trong môi trường 64 bit (nếu hệ điều hành cho phép)
Chế độ thực 32 bit trong môi trường 64 bit (nếu hệ điều hành cho phép)
Chế độ ảo 32 bit trong môi trường 64 bit (nếu hệ điều hành cho phép) ứng dụng 64 bit
trên hệ điều hành 64 bit
Bộ mã lệnh IA-64 có những đặc điểm mới và nổi bật là:
 Khả năng thực hiện lệnh song song (instruction level parallelism),
 Khả năng trao đổi giữa chương trình biên dịch (compiler) và vi xử lý để tối ưu
hóa mã lệnh,
 Phỏng đoán điều khiển và dữ liệu,
 Dự đoán,
 Ngăn xếp thanh ghi (register stack),
 Rẽ nhánh tối ưu,
 Quay vòng thanh ghi (register rotation),
 Cấu trúc số học dấu chấm trượt theo chuẩn IEEE,
 Bộ lệnh đa môi trường tương thích với bộ lệnh MMX của Pentium-MMX.
Kỹ thuật vi xử lý
22

Kiến trúc IA-64 là một kiến trúc mới được giới thiệu trong những năm gần đây.

Kiến trúc này là sản phẩm của sự kết hợp nghiên cứu giữa hai công ty máy tính hàng
đầu thế giới là Intel, HP (Hewlett Packard) và một số trường đại học. Kiến trúc mới
dựa trên sự phát triển của công nghệ mạch tích hợp và kỹ thuật xử lý song song. Kiến
trúc IA-64 giới thiệu một sự khởi đầu mới quan trọng của kỹ thuật siêu vô hướng - kỹ
thuật xử lý lệnh song song (EPIC: Expicitly Parallel Intruction Computing) - kỹ thuật
ảnh hưởng nhiều đến sự phát triển của bộ xử lý hiện nay. Sản phẩm đầu tiên thuộc
kiến trúc này là bộ xử lý Itanium.
4.3.2.1.Đặc trưng của kiến trúc IA-64:
 Cơ chế xử lý song song làsong song các lệnh mã máy (EPIC) thay vì các bộ xử
lý song song như hệ thống đa bộ xử lý.
 Các lệnh dài hay rất dài (LIW hay VLIW).
 Các lệnh rẽ nhánh xác định (thay vì đoán các lệnh rẽ nhánh như các kiến trúc
trước).
 Nạp trước các lệnh (theo sự suy đoán).
* Các đặc trưng của tổ chức củabộ xử lý theo kiến trúc IA-64:
 Có nhiều thanh ghi: số lượng thanh ghi các bộ xử lý kiến trúc IA-64 là 256
thanh ghi. Trong đó, 128 thanh ghi tổng quát (GR) 64 bit cho các tính toán số
nguyên, luận lý; 128 thanh ghi 82 bit (FR) cho các phép tính dấu chấm động và
dữ liệu đồ hoạ; ngoài ra, còn có 64 thanh ghi thuộc tính (PR)1 bit để chỉ ra các
thuộc tính lệnh đang thi hành.
 Nhiều bộ thi hành lệnh: hiện nay, một máy tính có thể có tám hay nhiều hơn các
bộ thi hành lệnh song song. Các bộ thi hành lệnh này được chia thành bốn kiểu:
o Kiểu I (I-Unit): dùng xử lý các lệnh tính toán số nguyên, dịch, luận lý, so
sánh, đa phương tiện.
o Kiểu M (M-Unit): Nạp và lưu trữ giữa thanh ghi và bộ nhớ thêm vào một
vài tác vụ ALU.
o Kiểu B (B-Unit): Thực hiện các lệnh rẽ nhánh.
o Kiểu F (F-Unit): Các lệnh tính toán số dấu chấm động
Kỹ thuật vi xử lý
23


4.3.2.2 Định dạng lệnh trong kiến trúc IA-64

Hình1: Định dạng lệnh trong kiến trúc IA-64
Kiến trúc IA-64 định nghĩa một gói (buldle) 128 bit chứa ba lệnh (mỗi lệnh dài
41 bit) và một trường mẫu (template field) 5 bit. Bộ xử lý có thể lấy một hay nhiều
gói lệnh thi hành cùng lúc. Trường mẫu (template field) này chứa các thông tin chỉ ra
các lệnh có thể thực hiện song song (Bảng.1). Các lệnh trong một bó có thể là các
lệnh độc lập nhau. Bộ biên dịch sẽ sắp xếp lại các lệnh trong các gói lệnh kề nhau theo
một thứ tự để các lệnh có thể được thực hiện song song.
Hình (1a) chỉ ra định dạng lệnh trong kiến trúc IA-64. Hình (1b) mô tả dạng
tổng quát của một lệnhtrong gói lệnh. Trong một lệnh, mã lệnh chỉ có 4 bit chỉ ra 16
khả năng có thể để thi thi hành một lệnh và 6 bit chỉ ra thanh ghi thuộc tính được dùng
với lệnh. Tuy nhiên, các mã tác vụ này còn tuỳ thuộc vào vị trí của lệnh bên trong gói
lệnh, vì vậy khả năng thi hành của lệnh nhiều hơn số mã tác vụ được chỉ ra. Hình (1c)
mô tả chi tiết các trường trong một lệnh (41 bit) Trong bảng 1 , các kiểu L-Unit, X-
Unit là các kiểu mở rộng, có thể thực hiện lệnh bởi I-Unit hay B-Unit.
Kỹ thuật vi xử lý
24

Trong bảng 1 , các kiểu L-Unit, X-Unit là các kiểu mở rộng, có thể thực hiện
lệnh bởi I-Unit hay B-Unit.
Template
Slot 0
Slot 1
Slot 2
00
M-Unit
I-Unit
I-Unit

01
M-Unit
I-Unit
I-Unit
02
M-Unit
I-Unit
I-Unit
03
M-Unit
I-Unit
I-Unit
04
M-Unit
L-Unit
X-Unit
05
M-Unit
L-Unit
X-Unit
08
M-Unit
M-Unit
I-Unit
09
M-Unit
M-Unit
I-Unit
0A
M-Unit

M-Unit
I-Unit
0B
M-Unit
M-Unit
I-Unit
0C
M-Unit
F-Unit
I-Unit
0D
M-Unit
F-Unit
I-Unit
0E
M-Unit
M-Unit
F-Unit
0F
M-Unit
M-Unit
F-Unit
10
M-Unit
I-Unit
B-Unit
11
M-Unit
I-Unit
B-Unit

12
M-Unit
B-Unit
B-Unit
13
M-Unit
B-Unit
B-Unit
16
B-Unit
B-Unit
B-Unit
17
B-Unit
B-Unit
B-Unit
18
M-Unit
M-Unit
B-Unit
19
M-Unit
M-Unit
B-Unit
1C
M-Unit
F-Unit
B-Unit
1D
M-Unit

F-Unit
B-Unit
Bảng.1: Bảng mã hoá tập hợp các ánh xạ trong trường mẫu.
Kỹ thuật vi xử lý
25

5. CÔNG NGHỆ MỚI
5.1. Các công nghệ mới của chip Intel Atom N550
N550 có kiến trúc tương tự như N450, cũng có xử lý đa luồng và hỗ trợ tập lệnh
64-bit. Tuy nhiên nó có 2 nhân, gấp đôi cache L2 (1MB) và hỗ trợ DDR3. Tốc độ core
giảm từ 1.66GHz xuống còn 1.5GHz, để giảm bớt việc tiêu thụ điện năng. N550 không
phải là chip Atom lõi kép đầu tiên mà Intel sản xuất. Trước đây Intel chỉ sản xuất vi xử
lý Atom 2 nhân cho máy tính để bàn gọi là nettop.
Thị trường nettop đã có D510 và mới nhất là D525 đều hỗ trợ bộ nhớ DDR3.
Và còn có cả chip Atom N330 là chip Atom lõi kép đầu tiên. Sở dĩ các vi xử lý này
không được sử dụng trong netbook (trừ một vài sản phẩm của ASUS như 1201N và
sắp tới là 1215PN) thay cho các vi xử lý một nhân ví dụ như N450 vì nó thiếu các tính
năng tiết kiệm điện. Với 13W N330 và D510 chạy quá nóng và tiêu tốn quá nhiều điện
năng trong quá trình xử lý so với N450 là 5.5W. Thêm vào đó là việc thiếu SpeedStep,
bởi vậy CPU sẽ chạy liên tục với tốc độ 1.6GHz/1.66GHz. N550 chỉ tiêu tốn điện
năngkhoảng 8.5W, nhưng Intel khẳng định rằng tuổi thọ của pin sẽ không thua kém
của N450 vì nó tiết kiệm năng lượng ở một vài chỗ khác – chẳng hạn như việc sử
dụng DDR3 tiêu tốn ít điện năng hơn DDR2.
N550 hỗ trợ tốt hơn cho các ứng dụng multimedia như game, video HD; cũng
như công nghệ Adobe Flash để truy cập một số lượng lớn các trang Web nội dung đa
phương tiện như YouTube và Hulu. Intel Atom N550 có tốc độ 1.5GHz, 2 nhân, 4
luồng, bộ nhớ Cache 1MB, sản xuất trên công nghệ 45nm và được tích hợp GMA
3150 ngay trên nhân xử lý, có tốc độ xử lý đồ họa 200MHz.
Hiện nay trên thị trường có hàng loạt Netbook sử dụng bộ vi xử lý hai nhân di
động Intel Atom, do các nhà sản xuất Acer, ASUS, Fujitsu, Lenovo, LG, Samsung,

MSI, Toshiba và mới đây nhất hãng Dell cũng đang dự định sẽ cho ramắt loại máy
tính bảng kết hợp với netbook sử dụng vi xử lý Intel Atom N550.
5.2. Một vài điểm về vi kiến trúc của chip Itel Atom
Atom được xây dựng dựa trên toàn bộ vi kiến trúc mới, có những tập lệnh
giống với những CPU dựa trên vi kiến trúc Core, giống như Core 2 Duo. Điểm khác

×