Tìm hiểu về vi xử lý Intel Aton N550
Trang 1MỤ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
Trang 22
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ụ)
Trang 33
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
Trang 43 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
Trang 55
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
Trang 66
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
Trang 77
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ớ
Trang 88
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)
Trang 99
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
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
Trang 10 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)
Trang 1111
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
Trang 1212
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
Trang 1313
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
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
Trang 1414
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
Trang 1515
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
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
Trang 1616
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
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”