..:: Diễn đàn lớp 07CK2 - ĐH.KHTN - TP.HCM ::..
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Lời Hay Ý Đẹp
Latest topics
» Tự học lập trình IOS trong vòng 24h
by kenanh 27/1/2014, 22:28

» xin tài liệu một số môn học
by nguyentvvan 21/8/2013, 21:34

» [Thảo luận] Bài toán đong nước
by giathinh9x 9/1/2013, 22:39

» Học Marketing Online, Học Chuyên viên Internet Marketing Online tại iNET
by NIIT-iNET 19/6/2012, 14:23

» Học PHP nâng cao, Học lập trình web với PHP nâng cao tại học viện iNET
by NIIT-iNET 19/6/2012, 14:22

» Học PHP, học lập trình web với PHP tại iNET vào ngày 19/07/2012
by NIIT-iNET 19/6/2012, 14:20

» PHIÊN BẢN MỚI CHO THIÊN ĐƯỜNG CÁ Ô LA LA !!!
by todaytv 13/3/2012, 15:35

» [hot] game khu vườn địa đàng phiên bản mobile của KVTM
by trantinh1713 3/1/2012, 15:20

» Đề tham khảo (update phút 90)
by ndc_2209 29/12/2011, 10:26

» Học bổng Lời Dịch tuần này.
by tienganh123 1/11/2011, 13:13

» [Thảo luận] Quản lý phân công giảng dạy PTTH
by huyquang0510 5/10/2011, 09:52

» Học tiếng Nhật - Top Globis
by tuquynh 21/9/2011, 10:35

» Học tiếng Nhật - Top Globis
by tuquynh 8/8/2011, 11:19

» Order Imitrex Online
by Khách viếng thăm 4/8/2011, 18:46

» Speeds Caffeine Metabolism Up
by Khách viếng thăm 4/8/2011, 18:12

» Skin For Good Caffeine
by Khách viếng thăm 3/8/2011, 14:54

» Cheap Pvc Figures
by Khách viếng thăm 1/8/2011, 19:32

» Action Rapid Onset Zolpidem Of
by Khách viếng thăm 31/7/2011, 01:13

» TUYỂN NHÂN VIÊN KINH DOANH ( làm việc tại văn phòng )
by canhkientp 5/7/2011, 14:59

» Demo + Vài điểm thảo luận về LINQ - Nhóm 7
by ChuongTienPhat 3/7/2011, 12:19


Nehalem & Sự trưởng thành của kiến trúc Core

2 posters

Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 19/2/2009, 19:06

Nehalem & Sự trưởng thành của kiến trúc Core

gửi bởi fRzzy madayaz — 09:00 03/11/2008
Nehalem & Sự trưởng thành của kiến trúc Core Nehalem-S-tr-ng-thanh-c-a-ki-n-truc-Core_vozImage_huge
Cuối cùng thì NDA về Nehalem cũng đã hết hiệu lực và chúng tôi, nhóm nội dung vozExpress, đã có thể chia sẻ những thông tin chi tiết về kiến trúc mới này đối với bạn đọc. Sau hai năm rất thành công với kiến trúc Core, liệu Intel có khả năng đưa ra một kiến trúc mới còn tốt hơn nữa? Bài viết này với sự phân tích của chúng tôi về những công nghệ được áp dụng trong Nehalem sẽ chia sẻ với các bạn những gì Intel đã chắt lọc được từ sự thành công của Core, cũng như những gì họ đã rút kinh nghiệm được từ những điểm chưa thành công lắm cũng của kiến trúc Core.
Tick Tock Tick Tock...

Trước tiên, một ý tưởng mới của Intel bắt đầu được họ nhắc đến liên tục trong vài năm gần đây, đó là Tick-Tock. Đây là ý tưởng của Intel về cách mà họ nghiên cứu phát triển và công bố sản phẩm CPU của mình. Theo Intel thì quy trình công bố sản phẩm của họ sẽ như những tiếng tick tock tick tock, ứng với mỗi một lần "tock" Intel sẽ giới thiệu một kiến trúc vi xử lý mới và ứng với mỗi một lần "tick" họ sẽ tinh chỉnh, tối ưu kiến trúc đã được giới thiệu ở lần "tock" trước đó.

Lần "tock" đầu tiên của họ là thời điểm họ công bố kiến trúc Core.

Tất nhiên, Intel không bắt đầu ý tưởng "tick-tock" của mình bằng một tiếng "tock". Lần đầu tiên họ "tick" với Presler, Yonah và Dempsey, nhưng vì đây là lần đầu tiên nhắc đến ý tưởng này, cùng với việc các sản phẩm được giới thiệu không mang ý nghĩa đột phá nhiều lắm về mặt công nghệ, khá nhiều người không rõ về ý tưởng "tick-tock" của Intel bắt đầu từ thời điểm này.

Tick-tock-tick-tock... tháng 11 này, Intel sẽ chính thức công bố cung cấp đại trà bộ vi xử lý mới, dựa trên kiến trúc hoàn toàn mới Nehalem và là lần "tock" thứ hai của ý tưởng "tick-tock" này.

Và... Nehalem là nhân vật chính của chúng ta trong bài viết này.
Nehalem & Sự trưởng thành của kiến trúc Core Tick-tock_vozImage_huge

Mô hình tick tock tương ứng với roadmap của Intel cho tới năm 2010. Tiếp theo Nehalem vào năm 2009 sẽ là Westmere dựa trên công nghệ chế tạo 32nm với những tinh chỉnh kiến trúc dựa trên Nehalem. Sandy Bridge sẽ có mặt vào năm 2010 và là một kiến trúc hoàn toàn mới với công nghệ chế tạo 32nm đã được ứng dụng với Westmere.

Nhìn vào hình minh họa trên, bạn có thể thấy Nehalem là một kiến trúc vi xử lý hoàn toàn mới của Intel, dựa trên công nghệ chế tạo 45nm.

Thành thực mà nói mô hình này không phải là xa lạ gì đối với ngành công nghiệp chế tạo vi xử lý, nhưng Intel là tập đoàn đầu tiên nhấn mạnh đến nó và thực hiện nó một cách nhiệt tình đến như vậy. Cứ hai năm một lần, vòng quay này của Intel thực sự là chóng mặt.

Bằng cách áp dụng mô hình này, Intel tại một thời điểm chỉ cần quan tâm một công tác duy nhất: công tác phát triển kiến trúc mới trong thời điểm này, và thời điểm sau đó thì chỉ quan tâm đến việc tinh chỉnh và sửa lỗi quy trình sản xuất, và vòng quay như vậy cứ thế diễn tiến 2 năm 1 lần. Nhờ đó, Intel giảm thiểu được sự phát sinh những vấn đề tiềm ẩn khi cùng một lúc đưa ra cả kiến trúc xử lý mới hoàn toàn. Khi Nehalem được giới thiệu, Intel có thể yên tâm với công nghệ chế tạo 45nm của mình qua hơn 1 năm ứng dụng để chế tạo Penryn, và lúc đó họ sẽ chỉ cần phải tập trung nghiên cứu và tối ưu Nehalem để sẵn sàng cho lần tick tiếp theo với Westmere.

Rất tuyệt phải không?
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by ChuongTienPhat 20/2/2009, 13:29

Đúng là rất tuyệt. Làm tốt lắm ^^
ChuongTienPhat
ChuongTienPhat
Admin
Admin

Nam
Tổng số bài gửi : 978
Age : 34
Registration date : 17/12/2007

http://360.yahoo.com/ztienphat2709z

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 08:42

Intel Core i7


Khi đọc được tin Intel sẽ chính thức dùng ''Core i7'' làm tên chính thức cho các sản phẩm CPU dựa trên kiến trúc Nehalem, phản ứng đầu tiên của chúng tôi là "Tên quái gì mà vớ vẩn thế?", và thành thật mà nói, cho tới thời điểm hiện tại tôi vẫn chưa thể hiểu được lý do vì sao Intel lại chọn một cái tên "vớ vẩn" như thế để đặt cho sản phẩm có một cái tên mã đẹp như Nehalem.

Rõ ràng, giá trị của thương hiệu Core quá lớn, Intel sẽ không dại gì mà bỏ chữ Core ra khỏi tên thương mại của Nehalem. Nhưng i7 là cái gì thế?

Vì vậy, xuyên suốt bài viết này Nehalem và Core i7 sẽ được dùng như là một, và các model thuộc series Core i7 này sẽ được gọi theo cách i7xxx, ví dụ như Nehalem i7920 <-- đây mới là một cái tên rất đẹp này, hỡi Intel!

Nehalem & Sự trưởng thành của kiến trúc Core Core-i7-trio_vozImage_huge
Hình chụp Nehalem với mặt trước, mặt sau và phần nhân xử lý lộ ra


Vào thời điểm công bố, Intel chỉ đưa ra 3 sản phẩm thuộc hệ thống sản phẩm dựa trên Nehalem, Core i7 920, 940 và 965. Chi tiết như sau:

Core i7 920
clock: 2.66GHz
QPI*: 4.8 GT/s
TDP: 130w
Giá của Phong Vũ: 5,687,770 VNĐ

Core i7 940
Clock: 2.93GHz
QPI*: 4.8 GT/s
Giá dự kiến: $562

Core i7 965 Extremely Expensive
Clock: 3.2GHz
QPI*: 6.4 GT/s
Giá dự kiến: $999

Cache Cho tất cả các dòng:
32kb L1 Data/32kB L1 Instruction/256kB L2 cho mỗi nhân xử lý
8MB L3 cho một CPU

* Tốc độ của bus QPI tính dựa trên Gigatransfer/s (GT/s) - quy đổi tương đương ra GB/s phụ thuộc vào độ rộng của từng bus QPI Intel áp dụng, trong trường hợp của các bộ xử lý nêu trên 1 GT/s tương đương 4GB/s tổng băng thông.

** Giá dự kiến cho đơn đặt hàng 1000 đơn vị.

Chúng ta có thể thấy, model thấp nhất của Nehalem có clock bằng với clock của model thấp nhất trong dòng bộ xử lý 4 nhân dựa trên kiến trúc Core Q9450 và có giá cũng ngang bằng với model này luôn. Model cao cấp nhất của Nehalem tại thời điểm công bố cũng có clock 3.2GHz ngang với Q9770 và cũng có giá rất "Extreme" $999.

Các bộ vi xử lý trên sẽ có mặt đại trà trên thị trường vào tháng 11 này, nhưng đừng nóng vội điền vào đơn đề nghị vay vốn của ngân hàng, bạn sẽ cần mainboard mới dựa trên chipset X58 và bộ nhớ DDR3 để chạy được Nehalem, hãy bỏ bút xuống và đọc tiếp các phần sau rồi sau đó đi tìm ''sổ đỏ'' cũng chưa muộn!
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 08:48

Socket mới, chipset mới và bộ nhớ mới


Trước khi đi sâu vào phân tích những gì có bên trong Nehalem, có lẽ chúng ta nên chào đón người bạn mới một chút và ngắm nhìn cô bé từ bên ngoài trước.

Socket mới

Nếu bạn có thể đếm được CPU trong hình có bao nhiêu tiếp điểm trước tôi, hãy gửi email cho tôi và nhận CPU này về làm quà.

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4777_vozImage_huge

Bạn thua rồi, tôi đếm được tổng cộng 1.366 tiếp điểm của Nehalem sẽ được tiếp xúc với socket. Và đây là socket của mainboard tương thích với Nehalem.

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4763_vozImage_huge

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4763_vozImage_huge

Có thể bạn không nhận ra nếu chỉ nhìn hình chụp, thực tế Nehalem có kích thước lớn hơn các CPU dựa trên socket 775 khá nhiều, như hình minh họa dưới đây.

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4774_vozImage_huge

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4775_vozImage_huge

Chipset mới và bộ nhớ mới

Tại thời điểm hiện tại, Nehalem chỉ tương thích với duy nhất chipset X58, đồng nghĩa với việc bạn sẽ phải mua mainboard mới nếu muốn dùng Nehalem. Do những thay đổi khá nhiều về kiến trúc, toàn bộ các chipset cũ sẽ không có cách nào làm cho tương thích với bộ xử lý mới này được.

Mainboard dựa trên X58 được Intel cung cấp cho chúng tôi có tên là X58DSO "Smack Over".

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4759_vozImage_huge
X58DSO "Smack Over"


Với một layout khá lạ mắt, các khe cắm bộ nhớ được đưa lên trên và cầu bắc được đưa sang bên phải của socket CPU, không có gì là khó lý giải nếu bạn biết với Nehalem, CPU mới là trung tâm của hệ thống chứ không phải là cầu bắc chipset.

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4756_vozImage_huge
Chipset X58 với tản nhiệt và quạt, thực chất quạt chỉ để cho đẹp, X58 không hề nóng bởi nguồn nhiệt lớn nhất của cầu bắc giờ đây đã di cư qua CPU.

Và đây là 4 khe cắm bộ nhớ DDR3, 3 khe màu xanh cho 3 kênh và khe màu đen cũng thuộc kênh thứ 3 cùng với khe màu xanh cạnh nó. Bạn có thể cắm DDR theo kiểu 2GB 2GB 1GB 1GB hoặc 4GB 4GB 2GB 2GB. Tất nhiên phương án này không phải là tối ưu để có độ trễ tốt nhất.

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4757_vozImage_huge
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 08:51

Một cái nhìn cận cảnh


Nehalem & Sự trưởng thành của kiến trúc Core Nehalem-dieshot_vozImage_huge
Nhân xử lý của Nehalem


Hãy nhìn vào nhân xử lý của Nehalem, khá là phức tạp, và chúng ta sẽ chẳng biết được gì nhiều nếu không có chú thích cụ thể. Rất may là Intel cũng biết như vậy nên đã kèm theo cho chúng tôi một bức hình được chú thích rõ ràng từng phần của nhân Nehalem có nhiệm vụ như thế nào.

Nehalem & Sự trưởng thành của kiến trúc Core Nehalem_Die_callout_vozImage_huge
Sơ đồ nhân xử lý của Nehalem

Nếu bạn quan tâm và đã từng đọc nhiều bài viết phân tích về các CPU trước đây, bạn sẽ thấy sơ đồ nhân xử lý CPU này hơi lạ một chút. Những thành phần quen thuộc như cache L1, L2, nhóm xử lý chính, nhóm rẽ nhánh... đều không thấy xuất hiện, thay vào đó là những thành phần "không truyền thống" như QPI, L3, Memory Controller (thực ra thì chẳng lạ lắm nếu bạn quen với nhân xử lý của AMD từ K8, nhưng hãy tạm coi là như vậy!)

Thực ra, đây không hẳn là sơ đồ của nhân xử lý Nehalem, nhân xử lý của Nehalem chỉ chiếm một phần khiêm tốn mà trong sơ đồ trên được đánh dấu bằng chữ "Core", các thành phần khác như QPI, L3 Cache và Memory Controller được Intel gọi là những thành phần ngoài nhân (un-core).

Lưu ý một chút, với phiên bản desktop của Nehalem (3 CPU đã liệt kê ở trang trước) thì chỉ có phần QPI 0 được kích hoạt, do các bộ xử lý này chỉ được trang bị một điều khiển QPI, phiên bản dành cho server mới có 2 điều khiển này.

Trước khi đi vào phân tích từng thành phần nêu trên có ý nghĩa như thế nào, hãy nhìn kỹ thêm một chút vào phần nhân xử lý chính của Nehalem, được phóng to từ phần "Core" trong hình trên.

Nehalem & Sự trưởng thành của kiến trúc Core Nehalemcore_vozImage_huge
Sơ đồ nhân xử lý của Nehalem


Hãy bỏ qua những "bubble" mà Intel đã thêm vào để ghi chú những điểm mới của nhân xử lý Nehalem, chúng ta sẽ nhắc tới chúng sau. Tập trung vào những thành phần ở giữa hình, chúng ta thấy nhóm các đơn vị xử lý (Execution Units) chỉ chiếm một phần nhỏ của nhân xử lý, trong khi các nhóm khác hỗ trợ cho nhóm các đơn vị xử lý nêu trên như nhóm dự đoán rẽ nhánh (Branch Prediction), nhóm quản lý lệnh thực thi (Instruction RSR), bộ nhớ đệm và quản lý bộ nhớ đệm lại chiếm phần nhiều của diện tích nhân xử lý.

Thay vì đi sâu vào phân tích kỹ tại phần này của bài viết thì hãy tạm thời hiểu rằng, thay vì cố gắng làm cho nhóm xử lý chính làm việc như trâu không cần quan tâm tới hiệu quả công việc thì các nhóm hỗ trợ cố gắng sắp xếp, chắt lọc công việc một cách tốt nhất, để nhóm xử lý chỉ cần phải làm những gì thực sự cần làm, nâng cao hiệu suất xử lý!

Ở các trang sau trong bài viết này, tôi sẽ đi sâu vào chủ đề chính của bài viết, phân tích các công nghệ được ứng dụng trong Nehalem. Nhưng trước tiên, bạn đọc nên bớt chút thời gian để chú ý một vài điểm sau: a. Người viết bài này chưa từng theo học bất cứ một lớp chuyên ngành về vi xử lý và kiến trúc vi xử lý; b. Tất cả những thuật ngữ chuyên môn trong bài viết này chủ yếu dựa trên kinh nghiệm và trình độ tiếng Anh của người viết để chuyển ngữ sang tiếng Việt; c. Những kiến thức sâu về kỹ thuật vi xử lý trong bài viết này chủ yếu dựa trên kinh nghiệm và tài liệu được cung cấp bởi Intel. Do vậy, tất cả mọi ý kiến đóng góp, chỉ ra chỗ sai, bổ sung ý thiếu... vui lòng gửi đến email của tác giả bài viết (f@frzz.net) hoặc post vào thread dành riêng cho loạt bài này tại vozForums.com, điều đó sẽ giúp cho chúng tôi update bài viết này làm sao cho chính xác nhất, giúp bạn đọc rất nhiều.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 08:54

Khả năng mở rộng với thiết kế dạng module


Như các bạn có thể thấy ở trang trước, một CPU Nehalem của Intel bao gồm 2 nhóm thành phần chính: nhóm nhân xử lý (core) và nhóm các thành phần ngoài nhân (un-core). Và Intel có thể thêm hay bớt các thành phần mới cho nhóm các thành phần ngoài nhân cũng như tăng giảm số nhân xử lý để có các phiên bản phù hợp hơn với các mảng thị trường khác nhau.

Nehalem & Sự trưởng thành của kiến trúc Core PICT0024_vozImage_huge
Khả năng mở rộng rất dễ dàng với thiết kế dạng module


Trong tương lai, Intel có thể thêm một bộ xử lý đồ họa vào nhóm các thành phần ngoài core, và thế là chúng ta có luôn một card đồ họa nằm trong CPU, hoặc họ có thể thay thế bộ điều khiển bộ nhớ với 3 kênh DDR3 với một điều khiển bộ nhớ với 2 kênh DDR2 và thế là chúng ta có một bộ xử lý dựa trên Nehalem tương thích với bộ nhớ DDR2 với giá rẻ như cho.

Họ cũng có thể trang bị thêm 4 nhân xử lý nữa và tăng lượng cache L3 lên gấp đôi, kích hoạt điều khiển QPI thứ 2 và thế là họ có thể xuất xưởng một dòng CPU dành riêng cho máy chủ với 8 nhân xử lý.

Hoặc nếu ''hứng'' lên, Intel sẽ giảm bớt đi 2 nhân xử lý, giảm bớt lượng cache L3 xuống và như vậy họ có thể đóng gói một dòng bộ xử lý nhỏ hơn, với hiệu năng và năng lượng tiêu thụ vừa phải phù hợp với máy tính xách tay.

Như vậy, trong tương lai, Intel sẽ dễ dàng (hơn) trong việc đồng bộ hóa toàn bộ các dòng sản phẩm của mình, từ laptop, desktop đến workstation, server cùng dùng các bộ xử lý dựa trên kiến trúc Nehalem. Tất cả mọi người cùng vui vẻ.

Thiết kế module dạng này cũng cho phép Intel tách biệt các nhân xử lý và các thành phần ngoài nhân, giảm thiểu năng lượng tiêu thụ bằng cách tắt hoặc bật các nhân xử lý ít dùng đến, giảm xung hoặc overclock các nhân xử lý riêng biệt tùy theo lượng công việc từng nhân đang phải gánh... và làm tất cả các việc đó một cách rất dễ dàng, từ mức phần cứng, hoàn toàn không cần đến sự quan tâm của người dùng.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 08:59

Bộ nhớ đệm cấp 3 và cách Nehalem sử dụng nó


Với bất cứ một thiết kế CPU nào đi theo hướng đa nhân, việc trang bị một bộ nhớ dùng chung giữa các nhân là một việc có thể coi là tất nhiên (trừ khi mục đích cuối cùng là sản xuất ra một bộ xử lý chậm tới mức không ai thèm mua), và rõ ràng là Intel đã làm việc này bằng cách trang bị cho các bộ xử lý Core 2 một lượng cache L2 khá lớn (tới 6MB) dùng chung cho 2 nhân xử lý. Đối với các bộ xử lý 4 nhân dựa trên kiến trúc này, thực tế là Intel đã gắn 2 miếng silicon lên cùng đế, mỗi ''miếng'' silicon đó vẫn đóng vai trò như một CPU độc lập, trao đổi với nhau bằng một bus nội bộ.

Nhưng xét về lâu về dài, cách làm này sẽ không thể áp dụng cho những bộ xử lý nhiều hơn 2 nhân mà không đặt một gánh nặng quá lớn lên bus nội bộ của CPU, bởi cache L2 là bộ nhớ luôn luôn được nhân xử lý dùng tới khi làm việc, và khi số lượng nhân xử lý tăng lên thêm một chút thì việc truy cập lượng cache L2 này sẽ trở nên quá thường xuyên, thường xuyên tới mức không có cách nào để các nhân xử lý không phải xếp hàng chờ nhau để "xin" dữ liệu từ bộ nhớ đệm này. Và rõ ràng, nếu Intel vẫn đi theo hướng trang bị cache L2 chung cho toàn bộ các nhân xử lý thì kế hoạch Nehalem sẽ phá sản từ trong trứng nước.

Intel quyết định trang bị cho mỗi nhân xử lý một bộ nhớ đệm L2 nhỏ hơn nhiều (256KB) nhưng có độ trễ cực thấp (thấp hơn so với Core tới 50%). Bộ nhớ đệm L2 riêng biệt này cho phép mỗi một nhân xử lý của Nehalem có một chỗ riêng để chứa dữ liệu khi làm việc, không phải chờ ai hết, và với độ trễ thật là thấp như vậy, nhân xử lý của Nehalem sẽ cảm thấy hạnh phúc vô cùng với cảm giác ''cần là có, muốn là được''.

Nhưng như đã nói ở phần trên, nếu một CPU đa nhân không có một lượng cache dùng chung, thảm họa sẽ xảy ra khi chẳng may nhiều nhân xử lý cùng phải xử lý một lượng dữ liệu, hay kết quả của nhân này sẽ dùng tiếp làm "nguyên liệu" cho nhân khác, lúc đó bus hệ thống sẽ phải đóng vai trò chuyển tải lượng dữ liệu đó từ CPU đến bộ nhớ hệ thống và từ bộ nhớ hệ thống quay trở lại CPU. Thảm họa, thực sự là thảm họa!

Với hơn 40 năm kinh nghiệm chế tạo vi xử lý, Intel rõ ràng không hứng thú gì khi đối mặt với thảm họa này, và họ trang bị cho Nehalem một lượng bộ nhớ L3 có dung lượng 8MB (với các bộ xử lý được giới thiệu cho nền desktop) để dùng chung cho toàn bộ các nhân xử lý. Bộ nhớ đệm L3 này sẽ đóng vai trò như một trạm trung chuyển dữ liệu giữa các nhân xử lý mà không cần dùng đến bus nội bộ của CPU làm công việc đồng bộ (như trên các bộ xử lý Core 2 Quad) và đóng vai trò như một trạm tiếp liệu cho cache L2 độc lập trong từng nhân xử lý.

Nehalem & Sự trưởng thành của kiến trúc Core Cache-hierarchy_vozImage_huge
Sơ đồ bố trí bộ nhớ đệm cho Nehalem


Xét về mặt lý thuyết, đây là một thiết kế rất thông minh và có vẻ như là một giải pháp tối ưu cho hướng phát triển đa nhân, đồng thời cho phép hướng thiết kế dạng module của Intel trở thành hiện thực. Hãy chờ thêm vài năm nữa xem liệu Intel có tìm thêm ra được giải pháp nào tốt hơn không, tạm thời chúng ta hãy vui vẻ với sự hoàn hảo về mặt lý thuyết này.

Xét về mặt thực tế, qua những thử nghiệm của chúng tôi, mà bạn sẽ được thấy rõ hơn ở Phần II loạt bài này, chỉ xét riêng về mức độ chênh lệch giữa hiệu năng xử lý với 1 nhân và 4 nhân, Nehalem không hề thua kém Core 2 Quad. Có thể bạn thất vọng vì Nehalem chỉ "không thua" Core 2 Quad, nhưng trước khi muốn hơn thì điều kiện tiên quyết phải là không kém đã, phải không?

Và ngoài con át chủ bài của Nehalem để tăng tốc xử lý đa luồng sẽ được lật lên ở trang sau, Intel vẫn còn một con bài tẩy nữa, HyperThreading. Nhưng hãy cứ từ từ, còn một vài điểm nữa về bộ nhớ đệm của Nehalem mà chúng tôi còn muốn nhắc đến, đừng nhấn nút chuyển trang vội.
Hai giải pháp riêng cho hai nhóm cache khác nhau

Có thể bạn sẽ thắc mắc tại sao cache L2 dành riêng cho mỗi nhân xử lý lại chỉ có 256KB, liệu như vậy có đủ lớn. Thực sự mà nói kiến thức của chúng tôi không đủ để trả lời câu hỏi này. Tuy nhiên có một vài thông tin có thể chia sẻ với các bạn hy vọng phần nào giúp các bạn hiểu rõ hơn một chút về cách Intel đã trang bị cache cho Nehalem.

Nhóm cache, hay cụ thể là toàn bộ phần nhân xử lý của Nehalem (4 phần tất cả đối với phiên bản desktop) chạy với một power plane độc lập so với các thành phần ngoài nhân. Vốn có hiệu điện thế thấp hơn so với hiệu điện thế của power plane dành cho các thành phần ngoài nhân. Và để đảm bảo cho nhóm cache này không gây lỗi khi sử dụng với một hiệu điện thế thấp, Intel phải sử dụng tới 8 transitor cho mỗi một ô nhớ, so với 6 transistor của cache truyền thống (vẫn được sử dụng cho cache L3 bởi cache L3 là một thành phần ngoài nhân).
Nehalem & Sự trưởng thành của kiến trúc Core 8TSRAM_vozImage_huge

Việc tăng thêm 2 transistor cho mỗi một ô nhớ này không cho phép Intel trang bị lượng cache lớn hơn cho mỗi nhân xử lý mà không làm cho diện tích nhân trở nên quá to và thiết kế trở nên quá phức tạp. Đó là một lý do, có thể còn một lý do nữa là bởi 256KB là đã đủ cho một nhân xử lý thì chúng tôi chưa thể trả lời được, hy vọng ai đó sẽ biết và chia sẻ cho chúng tôi kiến thức về vấn đề này!

Tất nhiên Intel vẫn có thể sử dụng 6 transistor cho một ô nhớ và dùng hiệu điện thế cao hơn cho nhân xử lý, nhưng như vậy không có lợi cho việc tiết kiệm năng lượng và còn làm cho việc tăng xung nhịp hoạt động của CPU trở nên khó hơn nữa. Đây không phải là một cách làm hay.

Power Plane đối với các thành phần trong bộ xử lý có thể hiểu như là nguồn điện đối với các thiết bị sử dụng điện, thay vì dùng một power plane cho tất cả các thành phần của bộ vi xử lý thì một vài power plane khác nhau sẽ được sử dụng, tùy vào nhu cầu sử dụng điện của từng thành phần mà nó sẽ được thiết kế để dùng power plane tương ứng. Việc làm này cho phép giảm bớt sự phức tạp trong việc thiết kế CPU cũng như chế tạo mainboard, giảm giá thành sản phẩm trong khi vẫn cho phép CPU hoạt động hiệu quả hơn với các tính năng mới của mình.

Cache tổng hợp và cache độc lập
Intel dùng phương án tổng hợp (inclusive) cho hệ thống cache của Nehalem, thay vì phương án độc lập (exclusive). Đây là truyền thống của Intel.

Nhưng trong khi tôi vẫn không hiểu sao Intel lại sử dụng phương án này đối với các bộ xử lý thế hệ trước, đặc biệt là các bộ xử lý một nhân, thì với Nehalem, đây lại là một giải pháp tốt nhất cho vấn đề cần giải quyết.

Trước tiên, cache tổng hợp có nghĩa là bất cứ dữ liệu nào có trong bộ nhớ cấp thấp hơn cũng sẽ có mặt ở bộ nhớ cấp cao hơn, và như vậy thì trong 8MB cache L3 luôn có 1.25MB dữ liệu là copy của cache L1 và L2, và trong mỗi 256KB cache L2 của từng nhân xử lý lại có 64KB là bản sao của cache L1 thuộc nhân xử lý đó.

Nehalem & Sự trưởng thành của kiến trúc Core Die-call-out-detailed_vozImage_huge

Chi tiết hơn về bố trí của bộ nhớ đệm trong Nehalem

Thảo luận đến đây, chúng tôi vẫn không hiểu tại sao cache L2 lại phải lưu một bản sao của L1. Nhưng lý do vì sao L3 phải chứa bản sao của toàn bộ cache L1 và L2 của các nhân xử lý thì giải thích thật dễ dàng, đơn giản là để CPU đỡ phải gánh thêm gánh nặng truy tìm dữ liệu trong các nhân riêng biệt khi dữ liệu cần tìm không nằm trong L3.

Hãy lấy một ví dụ nhỏ, khi core số 1 cần một chút dữ liệu ở cache L3, và tìm không thấy trong cache L3, nó biết rằng nó phải hỏi bộ nhớ hệ thống để có phần dữ liệu đó. Rất đơn giản, đơn giản hơn nhiều là phải hỏi tiếp từng nhân xử lý khác xem liệu chúng có phần dữ liệu đó không!

Trong trường hợp tìm thấy dữ liệu trong L3, tình hình trở nên phức tạp hơn một chút, core số 1 cần phải xác định xem liệu phần dữ liệu đó hiện giờ có core nào khác đang dùng hay không, và nếu có thì đó là core nào? Intel đã giải quyết vấn đề này bằng cách trang bị thêm một số cờ (flag) ở cache L3 để đánh dấu các phần dữ liệu đang nằm trong bộ nhớ cache cấp thấp hơn, và thuộc về core nào. Rõ ràng cách làm này sẽ phức tạp hơn cho việc thiết kế nhưng sẽ nhẹ gánh hơn nhiều cho CPU, dẫn đến hiệu năng của CPU cao hơn.

Nếu bạn hứng thú tìm hiểu thêm về cách làm việc của bộ nhớ đệm trong Nehalem, hãy tham khảo thêm tại đây và đây, hai bài viết rất bổ ích đã giúp đỡ cho tôi trong khi viết bài này.

Bây giờ chúng ta sẽ chuyển qua chủ đề mới - sự quay trở lại của HyperThreading.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:05

HyperThreading trở lại


HyperThreading (HT) là khái niệm được Intel giới thiệu trong thời kỳ giữa của Pentium 4. Công nghệ này ngay khi được giới thiệu trên thị trường đã đạt được những thành công vang dội về khía cạnh... marketing. Chúng tôi không hề nói đùa!

Nehalem & Sự trưởng thành của kiến trúc Core Tab1-1132008-31800-AM.bmp_vozImage_huge


Công nghệ HyperThreading áp dụng trong Pentium 4 đã làm rất nhiều người dùng thỏa mãn với 2 biểu đồ hoạt động của CPU hiện lên trong cửa sổ Task Manager. Trong khi với các thử nghiệm thực tế, đôi khi bật tính năng này lên còn làm cho CPU xử lý kém hiệu quả hơn trong một vài công việc. Tất nhiên, HT cũng làm cho một vài ứng dụng nhanh hơn nếu ứng dụng đó yêu cầu CPU làm việc theo cái cách mà HT có thể phát huy khả năng của mình. Thành thực mà nói là như vậy, nhưng nhìn chung, việc hy vọng vào HT để tăng tốc độ xử lý của CPU phần nhiều là... hên xui. Và như vậy HyperThreading đã nói lời chia tay với người dùng khi Core ra đời.

Lý do gây ra hiệu quả nghèo nàn này của HyperThreading không phải nằm ở bản chất của HyperThreading, mà là nằm ở kiến trúc của Pentium 4, không phù hợp cho Hyper Threading trổ tài.

HyperThreading là gì?

Về bản chất, một nhân xử lý không thể xử lý hai luồng thông tin vào cùng một thời điểm. Nếu chúng ta muốn cùng một lúc có được nhiều ứng dụng (hay thực chất là rất nhiều các process con, hoặc rất nhiều thread) chạy song song, hệ điều hành của chúng ta phải ra lệnh cho nhân xử lý liên tục và chuyển qua chuyển lại tác vụ xử lý cho từng thread. Quá trình này diễn ra rất-rất nhanh và hoàn toàn không thể nhận biết bằng mắt thường, tạo cảm giác như CPU của chúng ta xử lý tất cả các khối lượng công việc đó song song cùng một thời điểm.

Nehalem & Sự trưởng thành của kiến trúc Core IMG0024243_vozImage_huge
Minh họa cho cách SMT (Hyper Threading) làm tăng hiệu quả xử lý của CPU


HyperThreading là tên của Intel đặt cho công nghệ SMT (Simultaneous Multi-Threading). Công nghệ này cho phép một nhân xử lý có thể thực sự xử lý song song các thread do các ứng dụng tạo ra, bằng cách trang bị thêm một số thành phần của nhân xử lý, khiến hệ điều hành nghĩ rằng nó đang làm việc với nhiều nhân xử lý. Như vậy, với một hệ điều hành tương thích bộ xử lý nhiều nhân hay nhiều bộ xử lý, nó sẽ sắp xếp để nhiều thread cùng được gửi đến các bộ xử lý "ảo" đó.

Về mặt lý thuyết, khi chúng ta chỉ có một nhân xử lý thì nó có xử lý song song được bao nhiêu thread cũng không thể tăng tốc độ xử lý chúng lên được. Tuy nhiên trong thực tế, không phải bất kỳ lúc nào mọi thành phần của nhân xử lý cũng được sử dụng đến, và những thành phần không được sử dụng đến này có thể dùng để xử lý thread thứ hai (hoặc thứ ba, thứ tư...).

Công nghệ SMT còn giúp bộ xử lý làm việc hiệu quả hơn bằng cách giảm bớt số lần nhân xử lý phải chuyển qua chuyển lại giữa các thread ''song song''. Quá trình chuyển này, như đã nói ở trên, diễn ra rất nhanh và liên tục, nhưng không có nghĩa là không mất thời gian, và bằng việc giảm bớt lượng công việc này, bộ xử lý có thể được rảnh rang để tập trung vào chuyên môn hơn.

Nehalem và HyperThreading


Quay trở lại một vài trang trước của bài viết này, chúng tôi có nhấn mạnh rằng Intel đã không chú trọng nhiều vào việc tăng tốc độ xử lý của nhóm các đơn vị thực thi mà chú trọng vào việc nâng cao hiệu suất của chúng. Và đây chính là điểm mấu chốt của việc họ ứng dụng công nghệ HyperThreading vào Nehalem.

Kiến trúc của Nehalem, giống như Core rất thân thiện với việc áp dụng HyperThreading (hay SMT), với mục đích nâng cao hiệu suất xử lý hơn là tốc độ xử lý, các thread xử lý song song được ghép chung với nhau một cách tối ưu hơn, tận dụng tốt hơn những thành phần rảnh rỗi của nhân xử lý. Kết hợp điều này với băng thông cực lớn của bus giao tiếp với bộ nhớ (sẽ được nói sâu hơn ở phần sau bài viết) và bộ nhớ cache lớn hơn nhiều lần so với Pentium 4, nhân xử lý của Nehalem luôn luôn được nhồi đủ dữ liệu để yên tâm làm việc của mình.

Nehalem & Sự trưởng thành của kiến trúc Core HTperformance_vozImage_huge
Biểu đồ cung cấp bởi Intel về sự gia tăng trong tốc độ xử lý các tác vụ khác nhau. Kết quả được kiểm nghiệm bởi vozLabs vui lòng xem thêm phía dưới.

Để hiểu thêm về cách Intel đã ứng dụng SMT vào Nehalem, ngoài khả năng diễn đạt của chúng tôi bằng tiếng Việt về vấn đề này thực sự gặp khó khăn thì chúng tôi cũng e rằng kiến thức của mình không đủ để diễn đạt đúng bản chất của vấn đề. Do vậy rất mong bạn đọc thông cảm. Các bạn có thể tham khảo thêm một số tài liệu rất hữu ích tại Tom's Hardware, Be Hardware và Anandtech.

Kết quả thử nghiệm của chúng tôi

Trong một khoảng thời gian ngắn ngủi có được, nhóm thử nghiệm sản phẩm đã thử kiểm nghiệm hiệu quả của việc ứng dụng SMT với Nehalem, và có lẽ tất cả các bạn đều đang rất nóng lòng chờ đợi những kết quả này.

Sử dụng công cụ Geekbench 2.0, chúng tôi tiến hành thử nghiệm và thu thập các kết quả test Multi-threaded giữa hai chế độ bật và tắt HyperThreading.

Nehalem & Sự trưởng thành của kiến trúc Core Gb-ht-test_vozImage_huge
Nhanh hơn trong hầu hết tất cả các thử nghiệm, duy chỉ có LU Decomposition là việc bật HT mang lại hiệu năng thấp hơn, HT thực sự như cá gặp nước với Nehalem.

Cần phải chú thích thêm một chút, trong thử nghiệm Crafty Chess, kết quả multi-threaded còn kém hơn so với kết quả single-threaded, và tình hình còn tệ hại hơn nữa khi HT được bật. Một dấu hiệu cho thấy thử nghiệm này đặc biệt ''ghét' mọi hình thức chạy song song nhiều thread.

Ngoài ra thì, nhìn vào biểu đồ, có lẽ không cần phải phân tích thêm gì nhiều, mọi thứ đều tuyệt vời!

Đây chỉ là so sánh giữa hai chế độ HyperThreading bật và tắt, vậy HT có ảnh hưởng như thế nào giữa hai chế độ single-threaded và multi-threaded?

Nehalem & Sự trưởng thành của kiến trúc Core Gb-ht-test-2_vozImage_huge

Ngay cả khi HT không được bật, chênh lệch giữa single-threaded (chỉ sử dụng 1 core) với multi-threaded (sử dụng cả 4 core) vẫn thực sự ấn tượng, hầu hết các test đều cho kết quả nhanh hơn xấp xỉ 4 lần.

Hãy nhìn vào biểu đồ, ngoại trừ LU Decomposition có vấn đề với HT như các bạn có thể thấy ở biểu đồ trước và Crafty Chess qua biểu đồ thứ hai này, một lần nữa xác nhận rằng test này rất kỵ chạy multi-threaded. Ngoài ra thì sao?

Chúng tôi chưa muốn nói tới khả năng tăng tốc giữa 1 nhân và 4 nhân của Nehalem tốt tới mức nào, hầu hết là ở khoảng xấp xỉ gần 4 lần, một vài trường hợp còn hơn, thì trong tất cả các test HT khi bật đều nâng mức tăng tốc lên rất nhiều, một vài test gần đạt tới con số 7. Khá là tuyệt!
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:08

Điều khiển bộ nhớ tích hợp


Chúng tôi biết là rất không phải khi nói ra điều này ở đây, nhưng vấn đề tiếp theo sau đây không có gì là mới mẻ nữa cả, bởi AMD đã trang bị điều khiển bộ nhớ tích hợp (IMC - Integrated Memory Controller) cho CPU của họ từ cách đây khá lâu rồi.

Nói một cách bảo thủ một chút thì Intel cho rằng bây giờ mới là thời điểm thích hợp. Nói một cách lịch sự một chút thì Intel đã đánh giá rất cao phương án này của AMD và quyết định làm một cái giống vậy. Còn công bằng mà nói thì nếu Intel không đi theo hướng này... không ổn!

Vậy điều khiển bộ nhớ tích hợp nghĩa là sao? Và nó quan trọng như thế nào?

Nói một cách rõ ràng là mỗi khi CPU cần truy cập đến bộ nhớ hệ thống, nó sẽ phải nhờ chipset làm việc này hộ và sau đó ngồi đợi chipset chạy đi lấy dữ liệu về đưa cho nó. Cách làm việc ''nhiều cửa, nhiều dấu'' này có điểm lợi là việc thiết kế và chế tạo CPU đơn giản hơn rất nhiều, điểm lợi thứ hai nữa là một CPU cũ rích nếu gắn vừa vào một mainboard đời mới hơn có hỗ trợ loại bộ nhớ tốt hơn thì tự nhiên là nó cũng sẽ được hưởng những lợi ích do bộ nhớ mới đó mang lại.

Nhưng điểm dở ở đây là gì? Ngoài việc độ trễ khi truy cập bộ nhớ hệ thống khá cao (so với dùng IMC) thì băng thông của bộ nhớ cũng bị hạn chế bởi FSB, trong trường hợp của Core 2 thì với FSB 1066MT/s chỉ có băng thông 8GB/s thì hai kênh bộ nhớ DDR2 800MHz với tổng băng thông là 12.8GB/s cũng đã vượt quá khả năng của bus hệ thống này.

Hãy xem Intel đã trang bị IMC gì cho Nehalem và những ưu khuyết điểm nêu trên được đón nhận và xử lý như thế nào.

3 kênh DDR3 với độ trễ cực thấp

Nehalem & Sự trưởng thành của kiến trúc Core _VOZ4757_vozImage_huge

4 khe cắm bộ nhớ DDR3 với 3 kênh được đánh dấu màu xanh, khe thứ tư màu đen ghép chung với khe màu xanh cạnh nó thành 1 kênh độc lập. Các nhà sản xuất khác đã giới thiệu nhiều phiên bản với 6 khe bộ nhớ chia đều cho 3 kênh.

Intel trang bị cho Nehalem một IMC hỗ trợ tới 3 kênh bộ nhớ DDR3.

Hãy khoan đừng đóng cửa sổ browser lại vội, tôi biết DDR3 vẫn còn rất đắt và bạn (cũng như chúng tôi) không hề có ý định nghỉ ăn Tết năm nay. Nhưng nếu biết được ưu điểm của DDR3 trước khi có khả năng mua thì cũng khá là thú vị rồi.

Băng thông rất lớn là ưu điểm đầu tiên, với mức băng thông thấp nhất là 8.5GB/s cho một kênh, và với 3 kênh thì băng thông lý thuyết từ bộ nhớ tới CPU của Nehalem có thể đạt được là 25.6GB/s (chúng tôi biết 8.5 x3 thì không bằng 25.6, nhưng hình như trước đây đâu đó có dạy về vụ làm tròn số) và với bộ nhớ DDR3 đã đạt tới 2000MHz (thậm chí một số nhà sản xuất đã công bố lên tới 2400MHz) thì băng thông lý thuyết còn có thể đạt được tới 48GB/s, chúng ta tạm biết vậy đã.

Ưu điểm thứ hai của bộ nhớ DDR3 đó là hiệu điện thế hoạt động thấp, đồng nghĩa với việc năng lượng tiêu thụ sẽ phần nào giảm xuống. Đây không hẳn là điểm then chốt, mà điểm then chốt chính ở vấn đề năng lượng tiêu thụ ít hơn thì nhiệt lượng tỏa ra sẽ ít hơn, và với tốc độ xung ngày càng tăng lên một cách chóng mặt thì vấn đề giải nhiệt ít ra sẽ không cản trở sự phát triển này quá nhiều.

Khuyết điểm của DDR3 là ở độ trễ, với tốc độ xung ngày càng tăng, độ trễ thấp là điều không tưởng nếu muốn đảm bảo dữ liệu đi và về được đảm bảo tính chính xác. Nếu bạn còn nhớ những ngày ngồi ''tweak'' DDR với latency 2.2.2.5 thì nghe tới DDR3 với độ trễ cỡ khoảng 7.7.7.20 hay còn cao hơn nữa chắc là sẽ... hoảng hồn mất!

IMC sẽ giải quyết vấn đề độ trễ này một cách gọn gàng. Thay vì phải thông qua FSB để truy cập tới chipset và thông qua memory bus để chipset truy cập tới CPU rồi sau đó làm một hành trình quay ngược lại - góp phần nhấn mạnh sự đau khổ của độ trễ cao - thì với IMC, Nehalem có thể làm việc trực tiếp với bộ nhớ thông qua bus bộ nhớ vốn có băng thông rất cao của DDR3 mà vẫn đạt được một độ trễ đáng nể.

Tổng hợp lại, chúng ta có screenshot sau được benchmark với 3 thanh DDR3 tốc độ thấp nhất là 1066MHz.

Nehalem & Sự trưởng thành của kiến trúc Core Everest-1_vozImage_huge

Chú ý vào dòng đầu tiên, nơi thể hiện băng thông bộ nhớ và độ trễ, sau đó hãy kiếm một bộ Core 2 (đừng overclock) và chạy thử test này của Everest. Nếu băng thông bộ nhớ của bạn đạt được 1/2 những con số trên, xin chúc mừng. Và đừng hy vọng bon chen so sánh về độ trễ, ít ra là với cơ sở dữ liệu kèm theo của Everest phiên bản tôi dùng để test thì với độ trễ khi truy cập bộ nhớ hệ thống là 42.4ns thì hiện tại kết quả trên chưa có đối thủ.

Tất cả đều tuyệt vời với IMC, về mặt lý thuyết là vậy. Nhưng muốn rõ hơn về mặt thực tiễn sử dụng, các bạn hãy đọc Phần II của bài viết này bằng những thử nghiệm thực tế.

Và những khuyết điểm với IMC

Trước tiên, bạn cần phải có ít nhất là 3 thanh bộ nhớ DDR3 để khai thác tối đa khả năng của IMC trong Nehalem, chưa kể đến một mainboard đời mới dựa trên X58 và CPU Nehalem (tất nhiên rồi!) thì chúng tôi cho rằng bạn nên lên kế hoạch ăn Tết an toàn đi là vừa, tiền không phải là dễ kiếm!

Đó chỉ là nói đùa thôi, còn thực tế, chuyện khó khăn phức tạp ra sao khi chế tạo CPU với IMC chúng ta không cần phải quan tâm lắm, Intel trả lương cho các kỹ sư của mình để làm việc đó. Việc của chúng ta là chỉ hy vọng rằng Intel sẽ không giới thiệu quá nhiều phiên bản IMC khác nhau ra thị trường. Còn nếu họ thấy ''hứng lên'' cung cấp cả bản IMC cho DDR2 lẫn DDR3, 2 kênh rồi 3 kênh... thì phần nhiều khả năng là bạn sẽ phải rất chú ý khi muốn thay đổi CPU, cần phải tìm hiểu xem liệu mainboard có cho phép cắm đúng và đủ loại bộ nhớ cần thiết để khai thác IMC kèm theo CPU mới hay không, và không ít khả năng bạn sẽ phải... thay đổi mainboard.

Nhưng đừng lo quá, Intel xác định khá rõ phân vùng thị trường của Nehalem, và không có nhiều cơ sở để cho thấy rằng họ sẽ làm một việc khó coi như vậy.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:09

Crime Scene Investigation... errrrr QPI


Nếu bạn thắc mắc về tiêu đề của trang này, hãy google CSI và phần nhiều khả năng là Google sẽ chỉ cho bạn đến series phim hình sự truyền hình khá nổi tiếng của Mỹ, Crime Scene Investigation. Dám chắc rằng có lẽ Intel cũng khá là đau đầu với việc cạnh tranh thương hiệu với giới điện ảnh này nên cuối cùng họ đã công bố cái tên QuickPath Interconnect (QPI) thay cho cái tên họ thường nhắc tới để chỉ QPI trước đây là Common System Interface.

Sở dĩ Intel gặp khó khăn với việc đặt tên cho QPI cũng là vì, về bản chất, thì QPI làm việc y hệt như HyperTransport, một công nghệ hoàn toàn tương tự được công bố cách đây vài năm cùng với dòng sản phẩm K8 của AMD, và làm sao để đặt tên cho nó kêu hơn tên công nghệ của đối thủ cạnh tranh chắc cũng tốn khá nhiều giấy mực ở đại bản doanh Intel.

Nhưng tất cả những sự tương tự này không phải mang lại điều gì xấu hay đáng xấu hổ. Với những gì mà HyperTransport đã làm được cho các bộ vi xử lý từ K8 trở đi, nếu Intel không phản ứng lại bằng cách trang bị cho CPU của mình một cái gì đó tương tự thì mới là điều đáng xấu hổ. Và may quá, QPI đã ra đời.

QuickPath Interconnect

Về bản chất, QPI là một kết nối điểm-điểm giữa hai thiết bị, trong trường hợp các bộ xử lý dành cho desktop dựa trên Nehalem là giữa CPU với cầu bắc của chipset.

Kết nối này là một kết nối tuần tự, có độ rộng hiệu dụng là 2 byte (16 bit) và có tổng băng thông là 25.6GB/s với i7 965 và 19.2GB/s với các phiên bản khác.

Đừng lấy làm buồn nếu như bạn không đủ tiền mua i7 965 với giá trên 1.000 USD để có QPI 6.4GT/s (tham khảo lại trang 2 của bài viết về đơn vị đo GT/s). Phần lớn các mainboard hỗ trợ Nehalem đều cho bạn chọn QPI 4.8 hay 6.4GT/s. Cũng xin được nhắc thêm là nếu sau khi bạn chỉnh cho QPI thành 6.4GT/s mà không thấy điểm benchmark tăng lên chút nào thì cũng đừng lấy thế làm buồn. Kết nối QPI giữa CPU và cầu bắc chipset kể cả chỉ với 4.8GT/s thì cũng là rất/quá/cực kỳ/vô cùng (tùy bạn chọn một hoặc tất cả các từ) dư thừa.

Khi mà lượng dữ liệu được trao đổi lớn nhất trong hệ thống là giữa CPU với bộ nhớ đã được IMC đảm nhiệt thì phần giao tiếp giữa CPU và các thành phần khác gần như chẳng còn lại mấy tí, ngay cả khi sử dụng những ứng dụng 3D rất nặng hoặc chơi Crysis thì lượng dữ liệu truyền tải giữa CPU với GPU đi qua đường truyền QPI này cũng không đáng là bao.

Vậy thì... QPI đâm ra lại thành thừa sao? Không hẳn, nó có chỗ đứng của nó, đơn giản là chỗ đứng của nó không rõ ràng trên nền tảng desktop thông thường.

Ít ra, thừa còn hơn thiếu, và đảm bảo với bạn rằng với QPI kết nối từ CPU tới chipset, sẽ còn lâu lâu lắm bạn mới phải quan tâm tới vấn đề thiếu băng thông ở kênh kết nối này.

Trang sau sẽ làm rõ vai trò của QPI hơn, đề cao vai trò của IMC hơn và bạn sẽ thấy ý đồ của Intel với Nehalem rõ ràng như thế nào.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:11

Nehalem và tham vọng chiếm hữu thị phần server


Bạn đã biết bằng việc trang bị IMC cho Nehalem, Intel đã giảm bớt gánh nặng rất lớn cho kết nối giữa CPU và chipset, đồng thời mở rộng thật rộng băng thông dữ liệu chính trong hệ thống máy tính, hứa hẹn mang lại một hiệu năng cao hơn nhiều so với nền tảng truyền thống phụ thuộc vào chipset.

Bạn cũng biết rằng, với QPI, Nehalem cung cấp một kênh kết nối có băng thông rất cao từ CPU tới một thiết bị khác, trên phiên bản desktop của Nehalem, thiết bị đó là cầu bắc của chipset, và kênh kết nối này rất uổng phí khi lượng dữ liệu phụ thuộc vào nó để trao đổi với CPU là không nhiều.

Nehalem & Sự trưởng thành của kiến trúc Core QPI2_vozImage_huge

Tiềm năng của IMC và QPI không chỉ dừng lại ở đó, và thật không khó khăn gì để nhìn ra được một phân vùng thị trường mà IMC và QPI được cần đến hơn bao giờ hết để Intel có thể lấy lại được thị phần đã mất vào tay đối thủ. Thị phần workstation và server với nhiều bộ xử lý.

Chúng ta tạm không xét tới các server và workstation chỉ với một bộ xử lý, xét cho cùng chúng cũng không khác gì desktop là mấy nếu đứng từ góc độ Intel mà đánh giá. Cái mà họ quan tâm là nơi mà IMC và QPI thể hiện được khả năng của mình.

Như đã nêu ở phần trước của bài viết, Intel thiết kế Nehalem dưới dạng module, họ có thể bật/tắt, thêm/bớt các thành phần của CPU cho phù hợp với từng nhu cầu sử dụng cụ thể. Và trong môi trường đa bộ xử lý trong một hệ thống, thêm một vài kênh QPI nữa sẽ có vai trò rất lớn giúp tăng hiệu năng tổng thể của hệ thống, các bộ xử lý sẽ kết nối với nhau qua các kênh QPI vốn có băng thông rất lớn, thay vì phải chen chúc chạy qua FSB như trước kia. Và mỗi một CPU có một hệ thống bộ nhớ riêng của mình để làm việc mà không cần phải (lại) chen chúc nhau thông qua FSB để truy cập vào cụm bộ nhớ duy nhất của hệ thống.

Nehalem & Sự trưởng thành của kiến trúc Core IMC_vozImage_huge


Mô hình này gọi là NUMA (Non-Unified Memory Architecture) và ngày càng được các nhà phát triển phần mềm tập trung vào phát triển ứng dụng máy chủ dựa trên nó.

Lại một lần nữa, không thể phủ nhận bước đi tiên phong của AMD với mô hình NUMA từ vài năm trước, và Intel tuy là người đi sau, nhưng ngoài việc hưởng lợi từ những gì ngành công nghiệp đã tập trung tối ưu cho NUMA, họ còn có những quân bài đặc biệt khác nhằm đạt được tham vọng chiếm hữu lại thị trường béo bở này.

Hiệu năng và năng lượng là tất cả những gì còn lại


Hiệu năng, không có gì nhiều phải giải thích về tầm quan trọng của nó trong môi trường máy chủ và workstation, và đây cũng là mục đích duy nhất mà tất cả mọi người đổ cả đống tiền vào nghiên cứu và phát triển (rõ ràng là với mục đích kiếm lại được nhiều tiền hơn)

Biết được tầm quan trọng của nó rồi, bạn sẽ không khó khăn gì để thấy được Nehalem vốn tiếp nối truyền thống của Core sẽ là một sự đe dọa đối với các bộ xử lý dựa trên K10 của AMD vốn có hiệu năng khiêm tốn hơn từ khi Core ra đời. Shanghai (K10.5) của AMD đã có mặt trên thị trường mang lại một sự cải thiện đáng kể về hiệu năng so với K10 trước đó, nhưng chúng ta cũng vẫn phải chờ tới khi Nehalem cho server ra mắt mới có thể đánh giá được trực tiếp ai hơn, ai kém trong cuộc đua này. Dù sao thì vị trí của AMD trong môi trường này cũng khá vứng chắc, và tốt hơn là Intel nên làm cho Nehalem phải thật hấp dẫn thì mới hy vọng vào việc thỏa mãn tham vọng của mình.

Quay sang vấn đề về năng lượng, dựa trên Core, yếu tố hiệu năng/năng lượng tiêu thụ vẫn là một trong những thế mạnh và là mục tiêu hướng tới của Intel khi phát triển Nehalem cho máy chủ. Chúng ta không lo lắng nhiều lắm về việc này, nhưng cũng nên chú ý rằng TDP của các bộ xử lý dựa trên Nehalem khi ra mắt đều là 130w, quá cao để trở nên hấp dẫn, cho tới khi Intel hạ con số này xuống dưới 100, có lẽ vẫn chưa đến lúc họ hy vọng vào việc chiếm (lại) thị phần.

Nếu tất cả hai vấn đề trên đều đã được Intel nhận biết (và tôi chắc rằng họ đã biết) và tìm cách giải quyết triệt để (tôi cũng chắc rằng họ đang ngày đêm làm việc vì vấn đề này) thì có lẽ AMD nên lo trước đi là vừa, trong khi đó thì đội ngũ marketing của Intel hãy chuẩn bị sổ sách đi mà đón ngân sách marketing về. Đã đến lúc rồi.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:15

Chế độ Turbo và hệ thống quản lý điện năng của Nehalem


Nehalem có một gánh nặng rất lớn về điện năng tiêu thụ, với 4 core xử lý và một mớ các thành phần ngoài core ngốn điện ghê gớm như IMC, TDP của 3 model Nehalem đầu tiên được Intel công bố là 130W. Một con số khá là đáng lo ngại nếu bạn biết rằng ngoại trừ duy nhất Core 2 Extreme còn lại tất cả các model Core 2 khác đều có TDP là 95W trở xuống.

Đành rằng chúng ta cũng biết rằng IMC không nằm trong CPU thì cũng nằm trên cầu bắc của chipset, và dù cho nó có nằm ở đâu đi chăng nữa thì điện năng tiêu thụ tổng của toàn hệ thống cũng chẳng khác nhau là mấy.

Nhưng vấn đề ở đây là sự tập trung nguồn nhiệt quá lớn vào một diện tích quá nhỏ là bề mặt của CPU.

Xét về tương quan diện tích giữa bề mặt của CPU với tấm tản nhiệt gắn sẵn (IHS) thì Nehalem không kém phần long trọng so với Core, nhưng khi tương quan đó không thua kém thì nhiệt lượng tối đa nó phải giải quyết lại tăng lên khá nhiều, hơn 30%. Hãy lưu ý điểm này.

Nehalem, với rất nhiều những sự thay đổi hướng đến việc tối ưu một kiến trúc thuần đa nhân (core, un-core, cache L3...) thì rõ ràng không sớm thì muộn Intel cũng phải nghĩ ra một phương án giải quyết vấn đề quản lý điện năng cho phù hợp với kiến trúc thuần đa nhân (native multi-core) này. Hãy lưu ý thêm điểm này nữa.

Trở lại một chút với kiến trúc Core, thiết kế của Intel cho kiến trúc là hướng đến thuần hai nhân (native dual-core), bên cạnh đó, nhân xử lý dựa trên Core có tỉ lệ hiệu năng/năng lượng rất tốt, dẫn đến việc mặc dù tính năng tiết kiệm điện năng của Core rất thiếu tối ưu cho môi trường bộ xử lý đa nhân, ít người quan tâm lắm đến vấn đề này. Đây là điểm thứ ba các bạn cần lưu ý.

Kết hợp ba điểm trên lại, không có gì là lạ khi Intel quyết định trang bị thêm cho Nehalem một thành phần ngoài nhân nữa, hãy làm quen với PCU (Power Control Unit). Không phải tự nhiên mà tôi coi đây là một thành phần ngoài core của Nehalem, PCU là một vi điều khiển thực thụ với khoảng 1 triệu transistor dành riêng để tạo ra nó.

PCU - Đơn vị điều khiển điện năng

Nehalem & Sự trưởng thành của kiến trúc Core Pcu_vozImage_huge
PCU - Power Control Unit của Nehalem


Như các bạn có thể thấy trên sơ đồ, mỗi một core xử lý có một PLL riêng (chúng tôi không đi sâu vào định nghĩa này trong bài viết) cho phép nó có thể điều khiển xung của từng nhân xử lý riêng biệt, thậm chí có thể ngắt hoàn toàn nhân xử lý ra khỏi bus power (nói cách khác là tắt hoàn toàn). Và để biết xung của từng nhân xử lý này bao nhiêu là phù hợp, PCU sẽ dựa trên những thông số như nhiệt độ hiện tại, hiệu điện thế đang hoạt động, mức độ ổn định của hiệu điện thế đó và cường độ dòng điện nhân xử lý đó đang tải, tất cả những thông số này sẽ được PCU tiếp nhận và xử lý theo một thuật toán riêng được nhúng sẵn trong firmware của nó.

Khi được biết PCU sẽ có một firmware nhúng sẵn, một câu hỏi sẽ nảy ra, liệu chúng ta có thể update firmware của thành phần này hay không? Câu trả lời cụ thể chúng tôi chưa có, nhưng nếu có, và quá trình này lỡ ra thất bại, phần nhiều khả năng là CPU của chúng ta sẽ hoạt động theo kiểu cắm đầu cắm cổ, không có bất cứ hành động nào liên quan tới việc tiết kiệm điện năng.

Với PCU nằm trong bản thân CPU, Nehalem sẽ không cần một mạch VR phức tạp trên mainboard, những tính năng như EPU hay DES sẽ càng là cơ hội để nhóm nhân sự marketing của các hãng sản xuất bo mạch chủ thể hiện tài năng.

Với các thành phần ngoài nhân, được sử dụng bởi tất cả các nhân xử lý, chúng chỉ đi vào chế độ nghỉ khi toàn bộ các nhân xử lý đều nghỉ cả, rất may là các thành phần này mặc dù không đi vào chế độ nghỉ nhưng không có nhiều hoạt động cần dùng tới chúng thì năng lượng chúng tiêu thụ cũng không nhiều, ít ra là chưa nhiều tới mức phải có một phương án mạnh hơn để tiết kiệm năng lượng của chúng.

Nehalem & Sự trưởng thành của kiến trúc Core C-states_vozImage_huge
Các chế độ nghỉ của một nhân xử lý


Turbo Mode - Phong cách tăng tốc kiểu 486

Nếu bạn còn nhớ, bộ xử lý thời 386, 486 có một tính năng tự overclock bằng một nút bấm bên ngoài case, nút bấm này thường nằm cạnh một cái đèn LED báo tình trạng hoạt động của CPU. Tác dụng của nút này là overclock CPU lên thêm vài MHz (tôi không hề viết nhầm)

Turbo Mode của Nehalem cũng hoạt động tương tự như vậy, nó tự overclock CPU lên thêm vài trăm MHz (sau 15 năm thì tác dụng của Turbo Mode ít ra cũng khả quan hơn một tẹo), nhưng Turbo Mode của Nehalem làm việc hoàn toàn độc lập không có sự can thiệp của người dùng (thực chất người dùng chỉ có thể cho phép hay không cho phép Turbo Mode được kích hoạt mỗi khi đủ điều kiện, chứ không có cách nào bắt CPU luôn hoạt động ở chế độ Turbo)

Nehalem & Sự trưởng thành của kiến trúc Core Turbo-1_vozImage_huge
Hai nhân xử lý được tắt đi và hai nhân còn lại được overclock thêm mỗi nhân 133MHz

Đây cũng là một chức năng của PCU, bằng việc theo dõi tất cả các thông số liên quan tới tình trạng hoạt động của CPU, PCU sẽ cho phép một hay nhiều nhân xử lý được tự overclock lên một hay nhiều bước xung, mỗi bước tương ứng với một lần của clock cơ bản, clock cơ bản này dùng chung cho toàn hệ thống, là cơ sở để tính ra tất cả các xung trong hệ thống, và đối với Nehalem thì clock cơ bản này là 133MHz.

Nehalem & Sự trưởng thành của kiến trúc Core Turbo-2_vozImage_huge
Hai nhân xử lý được tắt đi và hai nhân còn lại được overclock thêm 266MHz và 133MHz tương ứng


Để PCU có thể cho phép một hay nhiều nhân xử lý hoạt động ở chế độ Turbo, nó phải thỏa mãn những điều kiện sau:

* Tính năng Turbo được bật trong BIOS
* Vcore ổn định
* Cường độ tải bình thường
* TDP dưới mức cực đại

Tất cả những chi tiết trên Intel cung cấp cho chúng tôi chi với duy nhất là làm phức tạp hóa vấn đề, các bạn có thể hiểu đơn giản, khi chúng ta làm mát CPU tốt và có một nguồn cùng với một mainboard tốt thì CPU của chúng ta có thể sẽ tự overclock lên để chạy nhanh hơn. Và trong nhiều trường hợp khi một vài nhân xử lý không được dùng tới thì PCU cũng sẽ tắt chúng đi và overclock các nhân xử lý còn lại lên nếu cần.

Cuối cùng, xin được nhấn mạnh lại, Turbo Mode hoạt động hoàn toàn dựa và phần cứng, cụ thể là PCU nằm trong CPU, các bạn không cần hệ điều hành hỗ trợ cũng như phần mềm hỗ trợ.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:19

Những tối ưu khác của Nehalem

Tối ưu bộ đệm TLB


Bộ đệm này, vốn ít khi được nhắc đến, thời gian gần đây lại trở nên khá nổi tiếng khi AMD công bố một vài sản phẩm của họ bị lỗi với bộ đệm này (đừng lo, họ sửa cả rồi)

TLB (Translation Lookaside Buffer) là một bộ đệm có tốc độ rất nhanh, có tác dụng chứa bảng tham chiếu giữa địa chỉ vật lý với địa chỉ ảo của bộ nhớ. Các phần mềm thường không bao giờ truy cập trực tiếp tới địa chỉ vật lý của bộ nhớ, chúng chỉ truy cập tới địa chỉ ảo, và bộ đệm này cho phép CPU có thể tham chiếu một cách rất nhanh một địa chỉ bộ nhớ ảo tương đương với địa chỉ vật lý nào của hệ thống bộ nhớ.

Intel đã tăng kích thước của bộ đệm này một cách đáng kể, cho phép nhiều địa chỉ có thể được ghi vào hơn nhằm giúp đỡ CPU tham chiếu được nhanh hơn, không cần phải phụ thuộc quá nhiều vào bộ nhớ hệ thống để lưu bảng tham chiếu này.

Bộ đệm TLB trong Nehalem cũng được bộ sung thêm một cấp nữa, level 2, song song với TLB L1, lớp thứ hai của bộ đệm này cũng được chia sẻ cho toàn bộ các nhân xử lý quyền truy cập và cũng có một độ trễ rất thấp.

Nói chung, kích thước của bộ đệm TLB này không có ảnh hưởng nhiều tới môi trường desktop, nhưng với trường hợp của Nehalem, khi công nghệ SMT (Hyper Threading) được kích hoạt, 8 nhân xử lý ảo sẽ cùng phụ thuộc vào hai cấp của bộ đệm này để tham chiếu địa chỉ, việc tăng kích thước và bổ sung thêm một lớp TLB nữa cũng là một động tác tối ưu không hề dư thừa.

Tối ưu tập lệnh mở rộng SSE

Tính từ lần đầu tiên giới thiệu tập lệnh mở rộng MMX cho CPU của mình, đây là lần đầu tiên Intel cập nhật thêm một số lệnh mới mà không liên quan gì tới xử lý stream hay media. 7 lệnh mới trong phần mở rộng SSE 4.2 của Nehalem tập trung nhiều vào các tác vụ xử lý dữ liệu dạng text và truyền tải dữ liệu.

Nehalem & Sự trưởng thành của kiến trúc Core Sse_vozImage_huge

Nói chung, các tập lệnh bổ sung chỉ có hiệu quả tăng tốc xử lý khi phần mềm khai thác được chúng, và do Nehalem quá mới trên thị trường, tôi tạm thời chưa có ý kiến gì về những tối ưu này của Intel.

Chỉ một điểm đáng lưu ý, thực sự Intel đã đặt mục tiêu rất chắc chắn tiến đến thị trường server, hầu hết tất cả các tối ưu được áp dụng với Nehalem đều có một đích đến là tăng tốc xử lý các ứng dụng của môi trường này.

Tối ưu với LSD (Loop Stream Detection)

Với kiến trúc Core, Intel trang bị cho nhân xử lý của CPU một thuật toán nhận biết khi nào thì nó đang thực hiện một vòng lặp do phần mềm ra lệnh, và tương ứng bỏ qua một số bước chuẩn bị trước khi thực hiện. Quan trọng nhất là bước dự đoán rẽ nhánh, vì theo logic, các lần lặp liên tiếp sẽ không rẽ nhánh, do vậy việc dự đoán là không cần thiết, và thậm chí nếu lỡ dự đoán sai thì phí luôn thời gian của cả một lần xử lý.

Bằng thuật toán này, Core đã tăng tốc khá nhiều cho các ứng dụng vốn đơn giản về mặt xử lý nhưng lượng công việc vô cùng nhiều (như encode video).

Đối với Nehalem, thuật toán LSD này tiếp tục được khai thác, nhưng theo một cách khác, tối ưu hơn, như các bạn có thể quan sát trên các hình mình họa.

Với CPU truyền thống LSD không làm việc, và CPU phải thực hiện tất cả các bước chuẩn bị trước khi thực sự làm việc ra kết quả.

Nehalem & Sự trưởng thành của kiến trúc Core LSD_vozImage_huge
CPU không có LSD


Với Core 2, LSD có thể nhớ được tối đa 18 chỉ thị liên tiếp, và nếu LSD nhận thấy một vòng lặp đang được chạy và chỉ thị liên quan tới vòng lặp đó nằm trong bộ nhớ 18 chỉ thị đó, nó sẽ bỏ qua hai bước dự đoán rẽ nhánh và "fetch" chỉ thị cần thực thi, ngay lập tức giải mã chỉ thị đã được cache và thực hiện nó.

Nehalem & Sự trưởng thành của kiến trúc Core LSD-penryn_vozImage_huge
LSD cho phép bỏ qua hai bước dự đoán rẽ nhánh và lấy chỉ thị khi vòng lặp thực hiện


Với Nehalem, cụm đơn vị đảm nhiệt LSD được rời ra phía sau bước giải mã, giờ đây, Nehalem có thể nhớ được tối đa 28 vi lệnh và khi LSD nhận biết một vòng lặp đang được thực hiện, những vi lệnh đã được nhớ sẵn lập tức được nhân xử lý thực hiện không cần qua bất cứ một bước chuẩn bị nào.

Nehalem & Sự trưởng thành của kiến trúc Core LSD-nehalem_vozImage_huge
Nehalem với LSD được tối ưu, bỏ qua cả 3 bước chuẩn bị và thực hiện ngay lập tức các vi lệnh đã được lưu trước đó


Vi lệnh (micro-op) và chỉ thị (instruction) không thể có một công thức quy đổi chính xác, do vậy tôi không thể nói bộ đệm LSD của Nehalem chứa được nhiều hơn bộ đệm LSD của Core, hay ngược lại. Nhưng ít nhất, LSD của Nehalem cũng có thể bỏ qua một bước giải mã chỉ thị thành vi lệnh, và như vậy tiết kiệm thời gian cho nhân xử lý.

Những tối ưu khác

Trong một thời gian ngắn tham khảo thông tin về Nehalem qua các nguồn khác nhau và phần lớn là từ phía Intel cung cấp, cùng với kiến thức hạn chế về chuyên ngành, tôi không thể đi sâu hơn nữa về chủ đề này. Nhưng với những gì quan trọng nhất đã được nêu phía trên, có thể nói Intel đã thực sự trưởng thành hóa kiến trúc Core và ứng dụng được nó tạo nên một kiến trúc Nehalem rất mạnh, rất có tiềm năng.
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by tranhoainam 23/2/2009, 09:23

Nehalem và những đặc điểm chung về thiết kế


Sau khi đã tìm hiểu khá nhiều về kiến trúc mới của Nehalem, đã đến lúc chúng ta tổng kết lại một vài nguyên tắc chung trong thiết kế của Nehalem.

Thiết kế dạng module là đặc điểm quan trọng nhất. Trong khi kiến trúc Core vẫn đang rất thành công với hiệu năng xử lý của mình thì trong tương lai, việc tăng thêm số nhân xử lý cho các bộ vi xử lý dựa trên kiến trúc Core sẽ gặp vấn đề lớn, về bộ nhớ đệm, về quản lý điện năng, về việc các nhân xử lý trao đổi với nhau qua bus nội bộ và cả về chế tạo nữa. Việc chuyển hướng sang dạng kiến trúc module là bắt buộc.

Tiếp theo, đó là việc tách rời bộ điều khiển bộ nhớ ra khỏi chipset và trao nó về tay CPU là đặc điểm quan trọng thứ hai. Chỉ có một lý do duy nhất để không làm việc này là quy trình chế tạo CPU quá phức tạp, và một khi việc chế tạo đã không còn phức tạp nữa, nằm trong tầm tay, vì việc làm này là điều đương nhiên.

Cuối cùng, áp dụng lại công nghệ Hyper Threading vào một kiến trúc rất hợp với SMT là đặc điểm thứ ba không thể không nhắc tới góp phần làm cho hiệu năng xử lý đa luồng của Nehalem trở nên số 1.

Không phải chỉ có 3 đặc điểm đó, Nehalem có rất rất nhiều những tối ưu khác từ nhỏ tới lớn, như QPI, như LSD, như TLB L2... nhưng 3 đặc điểm trên chính là điểm then chốt để Nehalem củng cố thêm hiệu năng đáng kinh ngạc của Core và đảm bảo việc củng cố đó về lâu về dài.

Và để kết thúc bài viết này, đây là danh sách những gì đã, đang và có thể được Intel áp dụng trong tương lai dựa trên Nehalem, để ngày càng phổ biến kiến trúc này.

* Số nhân xử lý từ 2 đến 8.
* Nhân xử lý dựa trên kiến trúc Core nhưng được tối ưu hóa.
* Áp dụng công nghệ SMT (Hyper Threading) để khai thác triệt để năng lực xử lý của CPU với các tác vụ đa luồng.
* Ba cấp bộ nhớ đệm, với 64KB L1 và 256KB L2 cho mỗi nhân, 8MB L3 dùng chung.
* Điều khiển bộ nhớ tích hợp, tương thích 3 kênh DDR3.
* Thiết kế thuần đa nhân (native multi-core)
* Sử dụng công nghệ sản xuất 45nm.
* Thiết kế module cho phép trang bị thêm bộ xử lý đồ họa vào trong chính CPU.
* Kênh giao tiếp điểm điểm với băng thông rất rộng kết nối CPU với chipset, trong tương lai là với CPU khác.

Trong các phần sau của loạt bài viết này, chúng tôi sẽ đi sâu vào các thử nghiệm thực tế, để tìm hiểu xem những công nghệ mới, tối ưu mới của Intel được phân tích trong vài viết này có ảnh hưởng như thế nào trong điều kiện thực tế. Mời các bạn đón đọc.

Nhóm biên tập vozExpress hoan nghênh mọi ý kiến đóng góp, báo lỗi, hoặc câu hỏi về nội dung, kỹ thuật của bài viết này. Nếu có, xin bạn vui lòng gửi e-mail về cho chúng tôi tại content@voz.vn.

Nguồn trích nguyên bản từ trang vozEpress
tranhoainam
tranhoainam
Admin
Admin

Nam
Tổng số bài gửi : 1006
Age : 34
Location : ngoài đường :((
Registration date : 17/04/2008

http://86com.org (coming soon)

Về Đầu Trang Go down

Nehalem & Sự trưởng thành của kiến trúc Core Empty Re: Nehalem & Sự trưởng thành của kiến trúc Core

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết