TỔNG QUAN VỀ AMD 64BIT
Sự phát triển của các tác vụ máy tính ngày càng yêu cầu phần cứng mạnh mẽ hơn để xử lý Nhu cầu về máy tính cá nhân gia tăng hàng năm do người dùng muốn giải quyết nhiều vấn đề phức tạp hơn, những nhiệm vụ mà trước đây chỉ có thể thực hiện trên các máy tính lớn với hiệu suất cao.
AMD64 là kiến trúc bộ xử lý 64-bit do Advanced Micro Devices (AMD) phát triển, nhằm mở rộng khả năng tính toán cho kiến trúc x86 Còn được biết đến với các tên gọi như x86-64, x64 và Intel 64, AMD64 mang lại khả năng xử lý mạnh mẽ hơn, cho phép sử dụng nhiều bộ nhớ ảo và vật lý hơn so với phiên bản 32-bit Kiến trúc này hỗ trợ tương thích ngược, cho phép các ứng dụng 64-bit hoạt động song song với các ứng dụng 16-bit và 32-bit mà không làm giảm hiệu suất.
AMD64 được phát triển như một giải pháp thay thế cho kiến trúc IA-64 của Intel và Hewlett Packard, với lần đầu tiên công bố vào năm 1999 và hoàn thiện vào tháng 8 năm 2000 AMD đã định hướng AMD64 như một bước tiến hóa, nhằm bổ sung khả năng tính toán 64-bit cho kiến trúc x86 hiện có, khác với Intel, vốn tạo ra một kiến trúc 64-bit hoàn toàn mới Bộ xử lý đầu tiên dựa trên AMD64, Opteron, đã được xuất xưởng vào năm 2003.
Linux là hệ điều hành đầu tiên hỗ trợ kiến trúc AMD64 ở chế độ dài từ năm 2001, trước khi phần cứng tương ứng ra mắt Hệ điều hành này cũng tương thích ngược với các tệp thực thi 32-bit SUSE Linux Enterprise 15 cung cấp hỗ trợ cho thời gian chạy 32-bit trên kiến trúc AMD64, điều này có thể cần thiết để vận hành các công cụ thiết lập phần mềm hoặc phần cứng, mà vẫn được biên dịch dưới dạng mã nhị phân 32-bit.
KIẾN TRÚC CỦA AMD 64BIT
Mô tả kiến trúc
2.1.1 Chế độ dài (Long Mode).
Chế độ dài trong hệ điều hành 64 bit cho phép truy cập các tập lệnh và đăng ký 64 bit, bao gồm hai chế độ con: chế độ 64-bit và chế độ tương thích.
2.1.1.1 Chế độ 64-bit (64-bit Mode).
Chế độ phụ của chế độ dài hỗ trợ địa chỉ ảo 64-bit và tính năng mở rộng đăng ký, được kích hoạt bởi hệ điều hành trên một cơ sở giải mã riêng Để sử dụng chế độ 64-bit, cần có hệ điều hành và chuỗi công cụ 64-bit Các tệp nhị phân ứng dụng hiện tại có thể chạy trong chế độ tương thích mà không cần biên dịch lại, hoặc có thể được biên dịch lại để chạy ở chế độ 64-bit.
Các tính năng định địa chỉ hiện đại bao gồm con trỏ hướng dẫn 64-bit (RIP) và định địa chỉ dữ liệu tương đối trong chế độ RIP Chế độ này tương thích với các hệ điều hành hiện đại, hỗ trợ một không gian địa chỉ phẳng duy nhất, bao gồm mã dữ liệu và không gian ngăn xếp.
2.1.1.2 Chế độ tương thích (Compatibility Mode).
Chế độ tương thích, một phần của chế độ con thứ hai trong chế độ dài, cho phép hệ điều hành 64-bit thực thi các ứng dụng x86 16-bit và 32-bit mà không cần phải biên dịch lại Điều này giúp duy trì khả năng sử dụng các ứng dụng kế thừa trong môi trường 64-bit một cách hiệu quả.
Các ứng dụng chạy ở chế độ tương thích có thể truy cập 4GB đầu tiên của địa chỉ ảo thông qua địa chỉ 32-bit và 16-bit Tiền tố lệnh x86 kế thừa giúp chuyển đổi giữa địa chỉ 16-bit và 32-bit cũng như kích thước toán hạng.
Chế độ tương thích trong hệ điều hành 64-bit được bật dựa trên mã hóa riêng lẻ, nhưng khác với chế độ 64-bit, phân đoạn x86 hoạt động như trong kiến trúc x86 kế thừa, sử dụng chế độ bảo vệ 16-bit hoặc 32-bit Từ góc độ ứng dụng, chế độ tương thích giống như một môi trường bảo vệ x86 kế thừa, trong khi từ góc độ hệ điều hành, quá trình dịch địa chỉ và xử lý ngắt dữ liệu hệ thống áp dụng cơ chế độ dài 64-bit.
Chế độ kế thừa (Legacy Mode )
Chế độ kế thừa bảo tồn khả năng tương thích nhị phân với các ứng dụng và hệ điều hành 16-bit và 32-bit hiện có Nó bao gồm ba chế độ khác nhau.
Chế độ bảo vệ (Protected Mode) hỗ trợ các chương trình 16-bit và 32-bit thông qua bộ nhớ phân đoạn và phân trang tùy chọn, đồng thời cung cấp khả năng kiểm tra đặc quyền Trong chế độ này, các chương trình có thể truy cập không gian bộ nhớ lên đến 4GB.
Chế độ Virtual-8086 cho phép các chương trình 16-bit chạy trong chế độ thực hoạt động như các tác vụ trong môi trường được bảo vệ Chế độ này sử dụng bộ nhớ đơn giản, hỗ trợ phân trang tùy chọn và kiểm tra giới hạn bảo vệ Các chương trình trong chế độ Virtual-8086 có khả năng truy cập không gian bộ nhớ lên đến 1MB.
Chế độ thực (Real Mode) cho phép chạy các chương trình 16-bit với bộ nhớ phân đoạn đơn giản, không hỗ trợ phân trang hay kiểm tra bảo vệ Trong chế độ này, các chương trình có thể sử dụng tối đa 1MB dung lượng bộ nhớ.
Chế độ kế thừa của kiến trúc x86 cho phép các bộ xử lý 32-bit hiện có hoạt động tương thích Các bộ xử lý AMD64 khởi động ở chế độ thực kế thừa tương tự như các bộ xử lý x86, đảm bảo tính tương thích trong quá trình triển khai.
Phương pháp AMD
Phương pháp đảm bảo thời gian phục vụ yêu cầu vào ra số liệu của thiết bị ngoại vi là ngắn gọn và hiệu quả thông qua phần mềm, nhưng trong một số trường hợp như chuyển mảng dữ liệu lớn, phương pháp này không đủ nhanh Khi đó, cần áp dụng phương pháp phần cứng, cho phép chuyển dữ liệu giữa bộ nhớ và thiết bị ngoại vi mà không cần vi xử lý, gọi là truy nhập bộ nhớ trực tiếp (AMD) Chip bổ trợ AMD-8232, hay còn gọi là AMD, điều khiển quá trình này, giúp tốc độ truyền dữ liệu chỉ bị giới hạn bởi thời gian truy cập bộ nhớ Vi xử lý không cần thực hiện các lệnh chuyển dữ liệu, mà quyền điều khiển bus hoàn toàn được chuyển giao cho chip AMD, cho phép dữ liệu được truyền trực tiếp giữa ngoại vi và bộ nhớ.
Bộ điều khiển bộ nhớ (Memory control)
Trước dòng K7, bộ điều khiển bộ nhớ được thực hiện bởi chipset cầu bắc, có nhiệm vụ chính là kết nối giữa CPU và bộ nhớ chính thông qua FontSideBus (FSB).
Bus bộ nhớ bị giới hạn bởi bus của CPU hoặc chipset, nhưng hiện nay bus bộ nhớ đã được nâng cao với các tiêu chuẩn như DDR500, DDR550, DDR600 và cao hơn Với dòng K8 - A64, AMD đã tích hợp bộ điều khiển bộ nhớ vào nhân CPU, cho phép CPU đáp ứng hiệu quả với bus bộ nhớ cao.
Việc tích hợp bộ điều khiển bộ nhớ giúp giảm đáng kể độ trễ dữ liệu bằng cách loại bỏ sự cần thiết phải truyền dữ liệu giữa CPU và chipset cầu bắc, đồng thời tăng cường băng thông giữa CPU và bộ nhớ chính.
Theo đánh giá chủ quan chính điều này đã góp phần đáng kể trong việc kéo dài tuổi thọ của RAM DDRI, trước sự cạnh tranh của RAM DDRII
HyperTransport Technology (HTT)
Công nghệ HyperTransport, do AMD phát minh, là một kết nối điểm đến điểm có tốc độ cực nhanh, được thiết kế để kết nối các thành phần trên bo mạch chủ Công nghệ này được ứng dụng trong các lĩnh vực yêu cầu truyền dữ liệu với cường độ cao, tốc độ lớn và độ trễ thấp AMD đã tích hợp công nghệ HyperTransport vào bộ xử lý A64, nâng cao hiệu suất và khả năng xử lý của sản phẩm.
Bằng công nghệ HyperTransport, bộ xử lý A64 giao tiếp với memory và chipset qua HyperTransport bus (HTT), trong đó tuyến giao tiếp giữa CPU và chipset được gọi là HT bus Điểm đặc biệt là hai tuyến giao tiếp này hoàn toàn độc lập, sự thay đổi của một tuyến bus không ảnh hưởng đến tuyến kia Do đó, AMD không gọi HT bus là FSB như trước đây, mặc dù chúng có vẻ tương tự Trước dòng K7, FSB đóng vai trò quan trọng nhất trong tốc độ hệ thống, với FSB thấp đồng nghĩa với hệ thống chậm.
A64 không gặp phải vấn đề này; mặc dù bạn có thể đang cài đặt HT bus ở mức thấp hơn cả mức mặc định của nhà sản xuất, nhưng tốc độ của toàn bộ hệ thống vẫn không bị ảnh hưởng và vẫn duy trì ở mức cao.
Hệ số nhân
Trong hệ thống A64 có 2 HSN khác nhau cần quan tâm đó là:
Hệ số nhân của CPU – Multiplier (hay còn gọi là CPU Ratio)
HSN này có nhiệm vụ xác lập tốc độ thực của CPU (core speed) HSN này giống như các dòng CPU K7 trở về trước
Core speed sẽ được xác định qua công thức sau:
Căn cứ vào HSN, có thể thấy rằng A64 được chia thành 2 dòng riêng biệt:
Dòng cao cấp - AthlonFX: không bị khóa HSN (unlocked), điều chỉnh HSN thoải mái theo cách của người sử dụng.
Dòng phổ thông - Athlon64: bị khoá HSN 1 nửa (Hafl locked), chỉ có thể điều chỉnh HSN giảm xuống so với HSN chuẩn của CPU mà thôi.
Hệ số nhân của HT bus – LDT (Lightning Data Transport)
HSN LDT dùng để xác lập tần số HT bus khi CPU giao tiếp với chipset, HT bus được tính bằng công thức sau:
Để đạt được hiệu suất tối ưu cho hệ thống, HT bus trong dòng A64 cần được cài đặt với tần số tối đa khoảng 1.000MHz Do đó, việc điều chỉnh HTT và LDT ở mức hợp lý là rất quan trọng để đảm bảo HT bus hoạt động hiệu quả trong khoảng tần số này.
Lấy ví dụ cụ thể:
Bộ chia
Bộ chia giúp xác định tỷ lệ giữa HTT bus và memory bus, cho phép nâng cao hiệu suất HTT bus ngay cả khi memory bus không theo kịp Điều này có nghĩa là chúng ta vẫn có thể tối ưu hóa tốc độ HTT bus khi sử dụng bộ nhớ chậm thông qua bộ chia.
Trên hệ thống A64 thông thường có các bộ chia sau:
Công nghệ Cool’n’quiet
Trước đây, việc nâng cao hiệu suất bộ xử lý thường dẫn đến việc tăng mức tiêu thụ điện năng và tiếng ồn Tuy nhiên, công nghệ Cool’n’quiet của AMD đã chứng minh hiệu quả trong việc giảm thiểu tiêu thụ điện năng, giúp hệ thống hoạt động êm ái khi thực hiện các chuỗi lệnh Đồng thời, công nghệ này còn hỗ trợ giải nhiệt hiệu quả, tạo ra một môi trường yên tĩnh và thoáng mát.
Phòng chống virus
Được kích hoạt khi sử dụng hệ điều hành window XP SP2 trở lên, tự động ngăn ngừa hiện tượng tràn bộ nhớ đệm khi bị virus tấn công.
Tích hợp tấm tản nhiệt trên CPU
Bảo vệ an toàn cho CPU là rất quan trọng, đặc biệt để tránh hiện tượng mẻ core đã xảy ra ở các dòng CPU AMD trước đây Việc tăng cường tính giải nhiệt cho CPU cũng cần thiết, nhờ vào diện tích tiếp xúc lớn với bộ tản nhiệt giúp cải thiện hiệu suất làm mát.
NGUYÊN LÝ LÀM VIỆC
Hoạt động của chip điều khiển AMD
Chip AMD sẽ tạo địa chỉ và tín hiệu điều khiển cho việc đọc/viết ngoại vi, đồng thời tính toán số từ đã chuyển và thông báo khi quá trình chuyển mảng số liệu hoàn tất cho vi xử lý.
Hình 3-1: Các đường liên hệ trực tiếp trong quá trình AMD
Hình 3-2: Sơ đồ nối AMD với bộ nhớ,thiết bị ngoại vi và vi xử lý
Khi hoạt động AMD, một ngoại vi như bộ điều khiển ổ đĩa phải gửi tín hiệu yêu cầu DREQ tới kênh của chip AMD Nếu kênh này không bị che, chip AMD sẽ phản hồi bằng tín hiệu HRQ Vi xử lý sau đó thả nổi bus và gửi tín hiệu HLDA đến AMD Khi nhận được tín hiệu này, AMD điều khiển chuyển mạch để ngắt vi xử lý khỏi bus và kết nối với bus AMD sau đó gửi địa chỉ nhớ cần ghi dữ liệu từ ngoại vi, tiếp theo là tín hiệu DACK0 để thông báo ngoại vi sẵn sàng gửi dữ liệu Cuối cùng, chip AMD hạ tín hiệu IOR và MEMW xuống mức logic thấp để cho phép ngoại vi xuất byte dữ liệu vào bộ nhớ Khi quá trình truyền dữ liệu hoàn tất, chip AMD hủy tín hiệu HRQ, trả bus về trạng thái ban đầu và cho phép vi xử lý lấy lại quyền điều khiển cho các yêu cầu tiếp theo Quá trình truyền dữ liệu từ bộ nhớ tới ngoại vi cũng diễn ra tương tự, với AMD điều khiển đọc bộ nhớ qua tín hiệu MEMR và xuất dữ liệu qua IOW.
Chip AMD thường xuyên chuyển dữ liệu và có thanh đếm số từ cho mỗi kênh Sau mỗi lần chuyển một từ, thanh đếm giảm 1 và địa chỉ AMD được điều chỉnh Khi thanh đếm số từ đạt 0, chip AMD phát tín hiệu TC để thông báo kết thúc hoạt động Cuối cùng, chip AMD gửi tín hiệu yêu cầu treo HRQ trở về mức tích cực (HRQ= 0).
Có 2 phương pháp thực hiện AMD:
Cách thứ nhất là xử lý chuyển nhượng bus cho AMD rồi tự treo.
Cách thứ 2 là AMD lấy lén chu kì.
AMD tận dụng thời gian trong chu kỳ bus khi CPU không truy cập bộ nhớ để thực hiện phép AMD Phương pháp này yêu cầu đồng bộ thời gian rất nghiêm ngặt và có giản đồ thời gian cụ thể cho phép AMD thông qua việc lấy lén chu kỳ.
Hình 3-3: Sơ đồ chân của DMAC-8237
Vi mạch 8237 của Intel là một chip điều khiển truy cập bộ nhớ trực tiếp (DMA) phổ biến trong máy vi tính IBM PC Chip này có 40 chân, được sắp xếp thành hai hàng, mỗi bên 20 chân.
Hình 3-4: Sơ đồ khối chip AMD-8237
Khối điều khiển và phân chia thời gian cho các hoạt động bên trong và tạo tín hiệu điều khiển cho bên ngoài
Khối điều khiển mã lệnh cho CPU đã tới trước khi phục vụ AMD và giải mã từ điều khiển chế độ để chọn điều khiển AMD
Khối mã hóa đầu tiên làm trọng tài ưu tiên giải quyết ưu tiên cho những kênh AMD yêu cầu phục vụ trong cùng một thời điểm.
Các chân tín hiệu là như sau:
IOR: chỉ thị rằng chip AMD đang đọc số liệu từ ngoại vi địa chỉ cảng
Iow: AMD đang viết số liệu tới ngoại vi qua cảng.
MEMR: số liệu được đọc từ bộ nhớ chính
MEMW:số liệu đang được viết ở bộ nhớ chính
READY: tín hiệu vào từ bộ nhớ hoặc ngoại vi.
HLDA: CPU hoặc bus master báo cho biết nó đã rời khỏi bus cho AMD.
DSTB: nhận byte cao vào chốt địa chỉ ngoài của DAM.
AEN: kích hoạt chất địa chỉ của AMD
HQR: tín hiệu yêu cầu AMD từ chip 8237.
CS: tín hiệu chọn chip.
CLK: lối vào xung nhịp đồng hồ(4,77 MHz hoặc 7,16 MHz trong PC)
RESET: khởi động lại chip
DACKO-DACK3: chấp nhận AMD
REQ0-DREQ3: đòi hỏi AMD tử ngoại vi
DBO-DB7: bus số liệu 2 hướng
A0-A3: ở trạng thái standby, CPU dùng nibble này để định địa chỉ các thanh ghi.Khi 8237 được kích hoạt, đây là 4 bit địa chỉ thấp
A4-A7: khi 8237 được kích hoạt đây là 4 bit địa chỉ
EOP: kết thúc sử lý AMD
3.2.2 Các trạng thái làm việc
Tên thanh ghi Độ dài ( bit ) Số lượng Địa chỉ gốc 16 4
Số từ gốc 16 4 Địa chỉ tức thời 16 4
3.2.3 Các thanh ghi bên trong 8237
Các thanh ghi trong chip được chia thành hai nhóm: nhóm các thanh ghi điều khiển, trạng thái và nhóm các thanh ghi làm việc.
Khi không có yêu cầu từ AMD, chip 8237 hoạt động trong trạng thái nghỉ bằng cách liên tục thực hiện trạng thái SĨ Nó kiểm tra các yêu cầu số liệu DQR trong mọi chu kỳ đồng hồ và đồng thời kiểm tra chân chọn mạch CS để xác định xem CPU có gửi lệnh hoặc đọc/ghi thông số từ chip AMD hay không Nếu CS=0 và HRQ=0, chip 8237 sẽ tuân theo sự điều khiển của CPU Các chân A0-A3 được sử dụng làm đầu vào địa chỉ để chọn các thanh ghi bên trong chip 8237.
Những thanh ghi này được ghi vào hoặc đọc ra tuỳ thuộc vào tín hiệu điều khiển đọc/ viết IORD và IOWD của CPU.
Lúc này chip AMD phát yêu cầu treo HRQ cho CPU Số liệu được chuyển bằng AMD trong những chu kỳ này theo một trong những chế độ sau:
Chế độ chuyển từng từ (Single Transfer Mode)
Chế độ chuyển mảng (Bolock Transfer)
Chế độ chuyển theo nhu cầu (Đeman Transfer)
Chế độ ghép tầng (Cascade mode)
3.2.6 Các chế độ ưu tiên
8237 có thể làm việc ở 2 chế độ ưu tiên khác nhau theo quy định từ phần mềm:
Chế độ ưu tiên cố định: kênh 0 có mức ưu tiên cao nhất, kênh 3 có mức thấp nhất.
Chế độ ưu tiên vòng: kênh vừa phục vụ sẽ có mức ưu tiên thấp nhất, lúc mới lập chế độ kênh 0 ở mức cao nhất.
3.2.7 Làm việc với vi xử lý
8237 có khả năng hoạt động theo hai chế độ ưu tiên khác nhau, dựa trên quy định phần mềm từ CPU Chế độ ưu tiên cố định cho phép kênh 0 có mức ưu tiên cao nhất, trong khi các kênh khác có mức ưu tiên thấp hơn.
Khi thiết lập chế độ ưu tiên cho các kênh, kênh vừa phục vụ sẽ có mức ưu tiên thấp nhất, trong khi chế độ kênh 0 sẽ được ưu tiên cao nhất Trước khi AMD hoạt động, cần phải cấu hình chế độ ưu tiên, mặt nạ cho từng kênh và quy định địa chỉ AMD cho từng kênh Đồng thời, cần xác định độ dài mảng bằng cách ghi vào các thanh ghi trong của 8237 theo quy định.
Trong quá trình hoạt động, 8237 liên tục cập nhật trạng thái vào thanh ghi trạng thái để vi xử lý có thể theo dõi Thông tin này cho biết kênh AMD nào đã đạt đến số đếm kết thúc TC, tức là đã hoàn thành việc chuyển mảng số liệu theo độ dài quy định trong thanh ghi số đếm từ gốc, hoặc đã bị buộc phải kết thúc chuyển do tín hiệu EOP đang hoạt động phục vụ cho bất kỳ kênh nào nếu có.
8237 còn có thể nhận và thực hiện hai phần mềm vi xử lý:
Lệnh xóa mạch lật bên trong nhằm để đa dạng về trạng thái ban đầu trước khi được viết địa chỉ hoặc số đếm từ mới vào 8237
Lệnh xóa toàn bộ hoạt động tương tự như RESET lạnh, xóa tất cả các thanh ghi lệnh, trạng thái và yêu cầu mạch lật Đồng thời, thanh ghi mặt nạ được lập lại và 8237 chuyển sang chế độ nghỉ.
Thanh ghi yêu cầu AMD:
Hình 3-5: Thanh ghi yêu cầu AMD
Hình 3-7: Thanh ghi chế độ
Hình 3-8: Thanh ghi mặt nạ
Định dạng cho các thanh ghi:
Các lệnh của chip AMD-8237A
Bảng 3-1: các lệnh của chip AMD-8237A
Trong hệ thống CPXC, chip AMD chỉ hỗ trợ các thiết bị ngoại vi 8 bit, trong khi máy PC AT (16 bit) sử dụng thêm một chip AMD chủ (master) kết nối với vi xử lý Các chân HRQ và HLDA của chip AMD được kết nối với kênh 0 của chip chủ, tạo điều kiện cho kênh 0-3 có mức ưu tiên cao hơn so với 3 kênh còn lại của chip chủ Theo quy ước, kênh 0-3 của chip chủ tương ứng với kênh AMD 4-7 trong máy AT Bốn kênh của chip AMD phục vụ cho các thiết bị ngoại vi 8 bit, trong khi các kênh 5 đến 7 không được cấu hình để sử dụng cho thiết bị 16 bit.
Dưới đây là liệt kê địa chỉ vào/ ra thanh ghi điều khiển và trạng thái của AMD -8237A:
(1): chủ trong PC/XT,tớ trong AT
Các địa chỉ vào/ra của thanh ghi địa chỉ và đếm số từ được liệt kê dưới đây:
(1): chủ trong PC/XT,tớ trong AT
Athlon và Hammer: giống và khác nhau
Bộ vi xử lý Hammer, được AMD gọi là "BXL thế hệ thứ 8-K8", thực chất là sự phát triển logic của kiến trúc K7 Nếu bạn đã quen thuộc với K7, bạn sẽ nhận thấy Hammer có nhiều điểm tương đồng, cho thấy rằng các tập lệch trong Hammer và Athlon được xử lý tương tự, mặc dù có sự khác biệt về hỗ trợ lệch và thanh ghi 64 bit Hơn nữa, nhân của bộ xử lý K8 đã có những thay đổi đáng kể.
Bộ đếm cấp 1(L1) không thay đổi, vẫn là 128 KB:64 KB cho dữ liệu và 64 KB cho tập lệch
Dung lượng tối đa của bộ đếm cấp 2 (L2) đã giảm từ 8MB xuống chỉ còn 1MB Hammer được thiết kế chủ yếu cho thị trường máy chủ, và trong trường hợp cần bộ đệm lớn hơn, AMD sẽ sử dụng bộ đếm cấp 3 (L3).
Các đường ống (pipeline) lớn hơn cho phép Hammer hoạt động ở tần số xung nhịp cao hơn so với Athlon.
Hammer có trang bị bộ dự đoán nhánh (BPU- branch prediction unit) được cải tiến.
BXL K8 có bộ đệm TLB lớn hơn.
Pipeline 4 đã chứng tỏ tầm quan trọng của nó trong việc nâng cao hiệu suất xử lý, nhờ vào chiều dài lớn hơn cho phép hoạt động ở tốc độ cao mà các kiến trúc khác không đạt được Tuy nhiên, khả năng tiên đoán nhánh không mạnh mẽ đã khiến hiệu suất không được tối ưu hóa hoàn toàn Do đó, AMD chỉ tăng kích thước của pipeline một cách hạn chế Để tận dụng hiệu quả phần pipeline mở rộng, AMD đã chia nhỏ tiến trình lấy nhánh từ bộ đệm và giải mã lệnh thành các tác vụ đơn giản, giúp lõi xử lý có thể thực hiện một cách hiệu quả hơn.
AMD tập trung vào việc cải thiện khả năng dự đoán thay vì tăng cường khả năng tính toán song song như bộ xử lý Itanium của Intel Với pipeline dài hơn, AMD đã thiết kế BPU cho Hammer với những cải tiến đáng kể, nhằm xử lý các tác vụ tính toán phức tạp Điều này giải thích tại sao bộ đệm của Hammer lớn gấp 4 lần so với bộ đệm của BXL Athlon, cho phép BPU nhớ nhiều nhánh lệnh hơn và dự đoán chính xác các nhánh tương lai Ngoài ra, bộ tính địa chỉ nhánh cũng hỗ trợ tính toán địa chỉ nhánh kế một cách nhanh chóng và chính xác.
Bài viết này tập trung vào những cải tiến trong hiệu suất làm việc của bộ xử lý (BXL) thông qua việc tối ưu hóa bộ đệm TLB TLB, một bộ đệm quan trọng trong vi xử lý, giúp chuyển đổi địa chỉ dữ liệu ảo thành địa chỉ vật lý và lưu giữ kết quả từ các lần truy cập trước, từ đó tăng tốc độ truy xuất dữ liệu Đặc biệt, Hammer cải thiện khả năng sử dụng TLB bằng cách cho phép chuyển đổi nhanh chóng giữa các tác vụ mà không làm mất dữ liệu TLB, điều này rất quan trọng trong các công việc yêu cầu cao Thay vì xóa TLB khi chuyển tác vụ, Hammer gán mã xác định duy nhất cho mỗi tác vụ và lưu giữ dữ liệu TLB, giúp tăng gấp đôi bộ đếm TLB của L2 so với Athlon XP, từ đó nâng cao hiệu suất tổng thể.
CPU hai nhân của AMD
CPU hai nhân của AMD ra mắt muộn hơn so với các sản phẩm tương tự của Intel Trước khi AMD giới thiệu các CPU đa nhân, dòng sản phẩm của họ chủ yếu tập trung vào các giải pháp hai nhân.
Athlon 64 của AMD đã khá thành công AMD đã bắt đầu phát triển các CPU 64 bit bắt đầu từ năm 2003 trên nền cấu trúc 32 bit-x86 và đã được sử dụng rộng rãi trên các máy chủ, máy trạm và máy tính cá nhân để bàn.
Vào tháng 5 năm 2005 những CPU Athlon 64 X2 hai nhân đầu tiên của AMD xuất hiện Althlon 64 X2 đã có hai loại theo từng mã riêng như sau:
Cache L2 dung lượng 1 MB (ứng với 512 KB cho mỗi nhân) ở mã: Manchester
Cache L2 dung lượng 2 MB (ứng với 1 MB cho mỗi nhân) ở mã: Toledo
Cùng với các đặc tính khác bao gồm:
Tốc độ xử lý thực tế CPU từ 2,2 GHz đến 2,4 GHz
Sản xuất trên công nghệ 90 nm (nanomet)
NHỮNG YẾU TỐ ẢNH HƯỞNG TỚI TỐC ĐỘ CỦA BỘ
Băng thông (Bandwidth)
Đầu tiên chúng ta sẽ tìm hiểu xem A64 mà cụ thể là A64 socket 939 có khả năng cung cấp băng thông cho hệ thống bao nhiêu.
Băng thông giao tiếp giữa CPU và Chipset nForce3 250 được thiết lập thông qua một đường link HyperTransport, cho phép chuyển dữ liệu đồng thời lên (upstream) và xuống (downstream) trong quá trình giao tiếp với CPU.
Mỗi đường lên và xuống có giao tiếp 16bit và đạt tốc độ 1.000 Mhz/s.
Do đó ta có thể tính được băng thông giữa CPU và chipset thông qua công thức sau:
Băng thông giao tiếp giữa CPU và bộ nhớ chính (Bandwidth Memory)
A64 socket 939 sử dụng kênh bộ nhớ đôi (Dual Memory), mỗi kênh có giao tiếp 64bit và bộ nhớ DDR (Double Data Rate) hoạt động với tần số 400Mhz/s.
Do đó ta có thể tính được băng thông giữa CPU và bộ nhớ chính thông qua công thức sau:
Từ (1) và (2) ta có thể thấy rằng tổng băng thông mà A64 socket 939 có thể đáp ứng được cho toàn bộ hệ thống là 14.400Mb/s ~ 14,4GB/s
Ảnh hưởng của HT bus đến Bandwidth của chipset
Như đã nêu ở phần trên HT bus chịu ảnh hưởng của HSN LDT và HTT, và
HT bus sẽ hoạt động ổn định và hiệu quả ở tần số tối đa khoảng 1.000Mhz.
Trong hệ thống A64, việc tăng HTT lên cao nhằm đạt băng thông bộ nhớ tối ưu là rất quan trọng Để duy trì HTT cao trong khi giữ HT bus ở khoảng 1.000Mhz, cần thiết phải giảm HSN LDT.
Trước khi xem xét sự ảnh hưởng của HT bus lên hệ thống, ta sẽ tìm hiểu xem băng thông mà chipset cần đến như thế nào
Giả định rằng chipset sẽ cung cấp Bandwidth tối đa cho toàn bộ hệ thống (các thành phần khác trên mobo), ta có mức Bandwidth tối đa như sau:
Diễn giải 2 kênh IDE 133 - 266MB/s (133MB/s x 2 kênh))
4 kênh SATA 150 -600MB/s (150MB/s x 4 kênh))
2 kênh 1394a -100MB/s ((400Mbit/s: 8bit) x 2 kênh))