AMD đã tiết lộ cấu trúc bộ vi xử lí mới sẽ bắt đầu được dùng trong những chiếc CPU mới của hãng này bắt đầu từ năm 2011.
     Giới thiệu:

     Tập lệnh

        SSE4.1 và SSE4.2

 

AVX (Advanced Vector Extensions)

 

AES ( Advanced Encryption Standard)

 

.

 

LWP (Light Weight Profiling)

 

.

 

     Sơ đồ khối CPU

AMD đã quyết định thực hiện một phương pháp mới hoàn toàn đối với Bulldozer mới này. Họ quyết định tạo ra một module “Dual-Core” chia sẻ cho nhiều nguồn (front-end engine, floating-point unit, và cache  L2, xem hình 1) và vì thế mà không hoàn toàn độc lập với nhau.

Theo AMD thì Bulldozer được tạo ra nhằm tối ưu hoá CPU và đồng thời cũng giảm chi phí. Việc tối ưu hoá này có xuất phát từ việc những CPU đa lõi thông thường có chứa nhiều khối nhàn rỗi, và những khối này sẽ được kết hợp lại với nhau trong Bulldozer . Bởi vì nếu CPU có ít khối hơn thì kích cỡ cũng sẽ nhỏ đi, điều này giúp giảm số lượng vật liệu cần thiết để tạo nên CPU, nhờ đó mà giảm được chi phí. Có ít khối hơn cũng giúp tiết kiệm năng lượng và giảm thiểu lượng nhiệt phát sinh.

Vì vậy mặc dù AMD gọi một chiếc CPU có một trong những module này là CPU “Dual-Core” nhưng trong thực tế, CPU không phải là một sản phẩm có lõi kép thực sự , bởi vì không có 2 CPU hoàn chỉnh trong một sản phẩm. Cái tên “Dual-Core” trong trường hợp này chỉ được sử dụng cho mục đích tiếp thị để đảm bảo rằng khách hàng có thể hiểu được mặc dù CPU dựa trên Bulldozer không phải là mẫu lõi kép nhưng nó vẫn hoạt động với hiệu suất tương tự.

Hơn thế nữa, đối với việc tạo ra CPU “Quad-Core”, AMD sẽ đặt 2 khối này lại với nhau, vì vậy về vật lí thì bộ vi xử lý này thực sự có 2 CPU bên trong (2 trong số các khối trong hình 1), đồng thời cho dù không phải là 4 nhưng AMD vẫn gọi nó là một sản phẩm “4 lõi”. Trong hình 2, bạn có thể thấy 1 chiếc CPU “8 lõi” dựa trên cấu trúc Bulldozer trông như thế nào.

 

 
Bây giờ chúng ta hãy tìm hiểu kĩ hơn về các bộ phận Fetch và Decode được sử dụng trong Bulldozer.

 

Các bộ phận Fetch và Decode

 

 

 
Như đã nói trong phần trước, Fetch được chia sẻ bởi 2 “lõi” có sẵn trong mỗi module Bulldozer. Cache lệnh L1 cũng được chia sẻ cho 2 “lõi” bởi vì đây là một bộ phận cần thiết của Fetch, nhưng mỗi một “lõi” CPU lại có Cache dữ liệu L1 của riêng nó. Thật thú vị khi AMD đã từng thông báo rằng Cache lệnh L1 sử dụng trong Bulldozer là bộ nhớ Cache 64KB 2-way, và cùng cấu hình với cấu hình CPU sử dụng trong cấu trúc AMD64. Mặc dù vậy sự khác nhau ở chỗ trong khi CPU AMD64 có một bộ nhớ Cache L1 ở mỗi lõi thì những CPU Bulldozer lại có một bộ nhớ  Cache L1 ở mỗi cặp lõi. Tuy nhiên, Cache dữ liệu dùng trong mỗi  “lõi” sử dụng lại chỉ có 16KB, nó tương đối nhỏ hơn so với 64KB/ 1 lõi tỏng CPU dựa trên cấu trúc AMD64 .

Vào thời điểm này này, AMD đã không công bố kích cỡ BTB (Branch Target Buffers) của Bulldozer, đây là một bộ nhớ nhỏ liệt kê ra tất cả các nhánh được xác định trong chương trình, nó được sử dụng bởi cơ chế dự đoán rẽ nhánh của CPU.

Tuy nhiên, kích thước của TLB (Translation Look-aside Buffers) lại được công bố như trong hình 3. Những bộ đệm này đều là một bộ nhớ nhỏ để giúp chuyển đổi giữa các địa chỉ ảo và địa chỉ vật lí, chúng chủ yếu được sử dụng bởi các mạch bộ nhớ ảo (bộ nhớ ảo hay trao đổi File , chính là một kỹ thuật mà CPU mô phỏng nó có nhiều bộ nhớ RAM hơn lượng thực tế mà bạn đã cài đặt bằng cách dùng File nháp trong ổ cứng).

 

Các khối Execution

 

 
Mỗi một Interger Engine đều có 4 đơn vị Execution đó là:

ØEX, MUL: có thể thực hiện bất kì một loại lệnh số nguyên nào, bao gồm cả phép tính nhân, nhưng không làm phép chia.

ØEX, DIV: có thể thực hiện được bất cứ loại lệnh số nguyên nào, bao gồm cả phép chia, nhưng không làm phép nhân.

ØAGen: hay được gọi là AGU hoặc Address Generation Unit được sử dụng để tạo ra các địa chỉ mà CPU nhận hoặc lưu trữ dữ liệu.

 

Load/Store (“Ld/ST”) chịu trách nhiệm nhận hoặc lưu trữ vào bộ nhớ một dữ liệu mà một lệnh yêu cầu. Thông thường, bộ này đặt cạnh các bộ phận được liệt kê ở trên nhưng , AMD lại đề riêng.

 Cấu

out-of-order execution engine – OOO ) , giống như những CPU AMD64 và CPU Intel kể từ Pentium Pro ( cấu trúc P6). Bởi vì không phải tất cả các bộ phận thực thi ( Excution ) lệnh đều có thể xử lý được tất cả các loại lệnh, vì vậy nếu không có cơ chế OOO thì đôi khi một số khối Execution sẽ rơi vào trạng thái nhàn rỗi.

Khi một lệnh tiếp theo được thực hiện là một phép chia số nguyên, nhưng khối có thể giải quyết được  lệnh này lại đang bận giải quyết một chỉ lệnh khác, thì thay vì chờ đợi đến lúc khối đó rỗi, Scheduler  sẽ tìm kiếm một lệnh có thể thực hiện ngay, tất nhiên nếu có các khối rỗi. Vì vậy, vai trò của Scheduler chính là giữ cho tất cả các khối Execution càng bận càng tốt.

 

  MMX: có thể thực hiện được tất cả các chỉ lệnh dấu phẩy động cơ bản (các lệnh x87), gồm cả MMX.

Ø128-bit FMAC: có thể thực hiện được tất cả các lệnh dấu phẩy động.

 
Bộ nhớ  Cache L2

 

 
AMD đã bổ sung thêm một số tính năng thú vị để quản lý năng lượng trong Bulldozer, và tính năng quan trọng nhất chính là “Power Gating”, giúp tiết kiệm năng lượng bằng cách cắt giảm năng lượng từ những khối CPU không hoạt động. Đồng thời, CPU cũng sẽ tắt hoàn toàn bất cứ một “lõi” CPU nào không hoạt động.

AMD cũng bổ sung một tính năng để đo đạc các hoạt động của CPU nhằm đánh giá năng lượng hao phí. AMD đang bổ sung thêm một công nghệ tương tự với Turbo Boost của Intel, giúp tự động tăng tốc CPU nếu sự tản nhiệt vẫn đảm bảo trong thông số kỹ thuật.

Bài viết liên quan
ĐẶT LỊCH
MIỄN PHÍ
HOTLINE
09 241 242 43
ĐẶT LỊCH
MIỄN PHÍ
HOTLINE
09 241 242 43