Bộ xử lý có thể được xác định bởi hai tham số chính: dung lượng và tốc độ. Tốc độ của bộ xử lý là khái niệm khá đơn giản. Tốc độ được đếm bằng megahertz (MHz) và gigahertz (GHz), nghĩa là hàng triệu và tỷ chu kỳ trong một giây nhanh càng tốt!
Dung lượng của bô xử lý khá phức tạp vì ba đặc điểm kỹ thuật trên bộ xử lý;
+Bus dữ liệu (Data (I/O) bus) (cũng được gọi là FSB hay Front-Side Bus)
+ Bus địa chỉ (Address Bus)
Bus dữ liệu còn được gọi là Front Side Bus (FSB) hay Pricessor Side Bus (PSB) hay chỉ là CPU bus. Tất cả thuật ngữ này chỉ bus nằm giữa CPU và thành phần chipset chính (North Bridge hay Memory Controller Hub). Intel sử dụng thuật ngữ FSb hay PSB, còn AMD chỉ sử dụng FSB.
Số bit mà một bộ xử lý được định rõ có thể gây nhầm lẫn. Tất cả bộ xử lý hiện đại đều có bus dữ liệu 64 bit; tuy nhiên không có nghĩa là chúng được phân loại vào bộ xử lý 64 bit. Những bộ xử lý 386 từ Pentium 4 và Athlon XP được xem là bộ xử lý 32 bit bởi vì thanh ghi nội bộ của chúng là 32 bit, mặc dù bus (I/O) dữ liệu là 64 bit và bus địa chỉ là 36 bit. Các bộ xử lý từ Intel Core 2 series, AMD Athlon 64 được xem là bộ xử lý 64 bit bởi vì thanh ghi bội bộ của chúng là 64 bit.
Đầu tiên tôi sẽ so sánh một số bảng mô tả sự khác biệt trong đặc điểm kỹ thuật giữa các bộ xử lý PC; kế tiếp những phần sau đây sẽ giải thích các đặc điểm kỹ thuật khá chi tiết. Tham khảo những bảng này ngay khi bạn đọc về những đặc điểm kỹ thuật bộ xử lý khác nhau, thông tin trong các bảng sẽ trở nên rõ ràng hơn.
Bus dữ liệu nhập xuất
Hai tính chất quan trọng nhất của bộ xử lý là tốc độ và dung lượng của bus dữ liệu ngoài. Chúng xác định tốc độ mà dữ liệu có thể nhập hoặc xuất của bộ xử lý.
Dữ liệu trong máy tính được gửi như thông tin kỹ thuật số trong đó điện áp cố định hay chuyển tiếp điện áp xảy ra trong các quãng thời gian cụ thể được dùng để thể hiện dữ liệu như các 1 và các 0. Bạn có thể làm tăng số lượng dữ liệu được gửi đi (được gọi là bằng thông) bằng cách làm gia tăng thời gian chu kỳ hay số bit được gửi đi tại một thời điểm bằng cả hai cách. Qua nhiều năm, các bus dữ liệu bộ xử lý đã từ dung lượng 8 bit đến 64 bit. Càng nhiều pin (dây dẫn ) thì càng nhiều bit bạn có thể gửi đi trong cùng quãng thời gian. Tất cả các bộ xử lý hiện đại từ bộ xử lý Pentium và Athlon cho đến Core 2, Athlon 64 X2, thậm chí Itanium, Itanium 2 đều có bus dữ liệu 64 bit (8-byte). Do đó chúng có thể truyền 64 bit dữ liệu tại một thời điểm vào ra chipset bo mạch chủ hay bộ nhớ hệ thống.
Một cách dễ hiểu về dòng thông tin này là xem xét một xa lộ và giao thông trên đó. Nếu xa lộ chỉ có một làn xe cho một hướng lưu thông, tại một thời điểm chỉ có một xe hơi di chuyển theo hướng cố định. Nếu muốn tăng dòng giao thông (nhiều xe hơn lưu thông tại một thời điểm), bạn có thể tăng tốc độ xe (làm ngắn quãng cách giữa chúng) hay thêm nhiều làn đường khác, hay chọn cả hai.
Như nhiều bộ xử lý liên quan, nhiều làn đường được thêm vào, đến một điểm. Bạn có thể hình dung con chip 8 bit như là đường có một làn xe bởi vì 1 byte truyền qua một thời điểm ( 1 byte bằng 8 bit riêng lẻ). Con chip 16 bit với 2 byte qua cùng thời điểm tương tự với đường có hai làn xe. Ta có thể có bốn làn xe ở mỗi hướng để có một số lượng lớn xe có thể di chuyển; Kiến trúc này tương quan với bus dữ liệu 32 bit, khả năng cho 4 byte thông tin truyền qua trong một thời điểm. Bus dữ liệu 64 bit như đường có 8 làn xe để dữ liệu vào ra con chip.
Một khi các bus dung lượng 64 bit được đạt đến, các nhà thiết kế chip phát hiện là họ không thể làm tăng tốc độ lên cao được nữa bởi vì quá khó để quản lý đồng bộ tất cả 64 bít. Chỉ bằng cách quay lại số làn xe ít hơn, gia tăng tốc độ bit (đó là làm ngắn thời gian chu kỳ) thì các băng thông lớn hơn là có khả năng. Do điều này, nhiều bộ xử lý mới hơn chỉ có các bus dữ liệu dung lượng 4 bit hay 16 bit, chúng có băng thông lớn hơn các bus 64 bit chúng thay thế.
Một cải tiến khác trong các bộ xử lý mới hơn là việc sử dụng nhiều bus riêng biệt cho những nhiệm vụ khác nhau. Thiết kế bộ xử lý cơ bản cho toàn bộ dữ liệu truyền qua một bus, trong khi các bộ xử lý mới hơn có các bus vật lý riêng biệt cho dữ liệu vào và ra chipset, bộ nhớ và các Slot card đồ họa.
Bus địa chỉ
Bus địa chỉ là một bộ pin (set of wires) mang thông tin địa chỉ được sử dụng mô tả định vị bộ nhớ để dữ liệu được truyền tới hay gọi ra thông tin lưu trữ. Cũng như bus dữ liệu mỗi chân trong bus địa chỉ mang một bit thông tin. Bit này là số đơn trong địa chỉ. Càng nhiều số được sử dụng trong tính toán những địa chỉ này thì càng lớn số địa chỉ định vị. Dung lượng của bus đại chỉ cho biết số lượng tối đa RAM con chip có thể định vị.
Nếu ta ví bus dữ liệu là con đường cao tốc và kích cỡ của nó là số làn xe chạy thì bus địa chỉ liên quan đến số nhà hay tên đường. Kích cỡ của bus địa chỉ tương đương với con số trên số nhà. Nếu nhà bạn ở con đường mà số nhà là số có hai số (cơ số 10) thì không nhiều hơn 100 địa chỉ phân biệt (00 – 99) tồn tại trên con đường (102). Thêm số nữa, số địa chỉ có sẵn gia tăng đến 1,000 (000 – 999) hay 103.
Máy tính sử dụng hệ thống số nhị phân (cơ số 2), một số có hai số chỉ cho ra 4 địa chỉ cụ thể (00,01,10 và 11) được tính như 22. Một số có ba số chỉ có 8 địa chỉ (000-111) tức là 23. Thí dụ bộ xử lý 8086 và 8088 sử dụng 20 bit bus địa chỉ, có thể tính toán tối đa của 220 hay 1,048,576 bytte (1MB) định vị địa chỉ. Bảng 3.3 mô tả khả năng định địa chỉ bộ nhớ của các bộ xử lý.
Bảng 3.3 Khả năng định địa chỉ bộ nhớ vật lý của bộ xử lý
Họ bộ xử lý | Địa chỉ bus | Bytes | KiB | KiB | GiB | TiB |
80,888,086 | 20-bit | 1,048,576 | 1,024 | 1 | ─ | ─ |
86,286SX | 24-bit | 16,777,216 | 16,384 | 16 | ─ | ─ |
386DX, 486 Pentium, K6, Athlon | 32-bit | 4,294,967,296 | 4,194,304 | 4,096 | 4 | ─ |
Pentium w/PAE | 36-bit | 68,719,476,736 | 67,108,864 | 65,536 | 64 | ─ |
64-bit AMD/Intel | 40-bit | 1,099,511,627,776 | 1,073,741,824 | 1,048,576 | 1,024 | 1 |
PAE = Physical Address Extension (chỉ được hỗ trợ bởi hệ điều hành của máy chủ)
KiB = Kibibytes
MiB = Mebibytes
TiB = Tebibytes
Xem www.iec.ch/zone/si/si_bytes.htm cho nhiều thông tin trên các tiếp đầu ngữ cho nhiều bộ số nhị phân.
Bus dữ liệu và bus địa chỉ hoàn toàn độc lập và nhà thiết kế chip có thể chế tạo bất cứ kích thước nào họ muốn cho mỗi loại. Thông thường chip có bus dữ liệu lớn thì sẽ có bus địa chỉ lớn. Kích cỡ của các bus có thể cung cấp thông tin quan trọng về nguồn năng lượng liên quan đến chip, được đo theo hai hướng quan trọng. Kích cỡ của bus dữ liệu chỉ định khả năng di chuyển thông tin của con chip, kích cỡ của bus địa chỉ cho biết dung lượng bộ nhớ mà con chip có thể có.
Thanh ghi nội bộ
Kích cỡ của thanh ghi nội bộ chỉ ra lượng thông tin mà bộ xử lý có thể thực hiện trong một thời điểm và cách nó di chuyển dữ liệu trong con chip. Đôi khi điều này được xem như bus dữ liệu nội bộ (internal data bus). Thanh ghi (register) là ô chứa trong bộ xử lý. Thí dụ bộ xử lý có thể thêm số vào hai thanh ghi khác nhau, chứa kết quả ở thanh ghi thứ ba. Kích cỡ của thanh ghi quyết định kích cỡ của dữ liệu mà bộ xử lý có thể thực hiện. Kích cỡ của thanh ghi cũng cho biết loại phần mềm hay lệnh, tập lệnh mà con chip thực thi. Cụ thể bộ xử lý với thanh ghi nội bộ 32 có thể chạy 32 tập lệnh để xử lý 32 bit dữ liệu nhưng bộ xử lý với thanh ghi 16 bit không làm được. Các bộ xử lý từ 386 đến Pentium 4 dùng thanh ghi nội bộ 32 bit và do đó về cơ bản có thể chạy phần mềm và hệ điều hành 32 bit. Bộ xử lý Core 2 và Athlon có thanh ghi nội bộ 32 bit và 64 bit, có thể chạy những ứng dụng và hệ điều hành 32 bit cũng như 64 bit.
Chế độ bộ xử lý
Tất cả bộ xử lý Intel và tương thích Intel từ 386 trở lên có thể vận hành trong vài chế độ. Các chế độ bộ xử lý chỉ ra các môi trường hoạt động hoạt động khác nhau và tác động đến những tập lệnh và khả năng con chip. Chế độ bộ xử lý kiểm soát cách bộ xử lý bao quát và quản lý bộ nhớ hệ thống và thao tác sử dụng nó.
Bảng 3.4 tóm tắ các chế độ và chế độ phụ của bộ xử lý.
Bảng 3.4 Chế độ xử lý
Chế độ | Chế độ phụ | Hệ điều hành yêu cầu | Phần mềm | Kích cỡ địa chỉ bộ nhớ | Kích cỡ toán hạng mặc định | Dung lượng thanh ghi |
Read | ─ | 16-bit | 16-bit | 24-bit | 16-bit | 16-bit |
1A-32 | Prorected | 32-bit | 32-bit | 32-bit | 32-bit | 32/16-bit |
| Virtual real | 32-bit | 16-bit | 24-bit | 16-bit | 16-bit |
1A-32e | 64-bit | 64-bit | 64-bit | 64-bit | 32-bit | 64-bit |
| Compatibility | 64-bit | 32-bit | 32-bit | 32-bit | 32/16-bit |
1A-32e (64-bit exxtension mode) cũng được gọi là AMD64, x86-64, hay EM64
Chế độ thực
Chế độ thực đôi khi được gọi là chế độ 8086 bởi vì nó dựa trên bộ xử lý 8086 và 8088. Máy tính IBM đầu tiên bao gồm bộ xử lý 8088 có thể thực hiện tập lệnh 16 bit dùng thanh ghi nội bộ 16 bit và định địa chỉ 1MB bộ nhớ dùng 20 đường địa chỉ. Tất cả những phần mềm của máy tính nguyên thủy được sảng tạo để làm việc với con chip này và được thiết kế với bộ câu lệnh 16 bit và kiểu bộ nhớ 1MB. Cho thí dụ DOS và tất cả phần mềm DOS, Windows 1.x đến 3.x và tất cả các ứng dụng Windows 1.x đến 3.x dùng các tập lệnh 16 bit. Những hệ điều hành và ứng dụng 16 bit này được thiết kế để chạy bộ xử lý 8088 đầu tiên.
Bộ xử lý 286 cũng chạy cùng các tập lệnh 16 bit như 8088 nhưng nhanh hơn. Mặc khác, 286 hoàn toàn tương thích với 8088 và có thể chạy tất cả phần mềm 16 bit như 8088, tất nhiên là phần mềm chạy nhanh hơn. Kiểu tập lệnh 16 bit của bộ xử lý 8088 và 286 được gọi là chế độ thực (real more). Tất cả những phần mềm chạy ở chế độ thực đều chỉ sử dụng tập lệnh 16 bit và có kiến trúc bộ nhớ gói gọn 20 bit (1MB). Phần mềm của loại này thường là đơn nhiệm (single-tasking) nghĩa là chỉ một chương chạy một thời điểm. Không dựng sẵn chương trình bảo vệ để giữ một chương trình không ghi đè lên chương trình khác hay thậm chí hệ điều hành trong bộ nhớ, nên nếu chạy nhiều hơn một chương trình, một trong chúng sẽ làm toàn bộ hệ thống dừng lại hoàn toàn.
Chế độ IA-32 (IA-32 mode) (32 bit)
Máy tính công nghiệp đầu tiên 386 dùng bộ xử lý 32 bit, có thể chạy hoàn toàn trên bộ câu lệnh 32 bit. Để nắm hết lợi thế của bộ tập lệnh 32 bit, một hệ điều hành 32 bit và ứng dụng 32 bit phải hình thành. Chế độ 32 bit này được xem là chế độ được bảo vệ (proteced mode), nói đến thực tế rằng chương trình phần mềm chạy trên chế độ được bảo vệ khỏi ghi đè lên phần khác trong bộ nhớ. Sự hỗ trợ này giúp bảo vệ hệ thống vì một chương trình có lỗi không thể dễ dàng làm tổn hại đến chương trình khác hay hệ điều hành. Thêm nữa một chương trình bị lỗi có thể kết thúc trong khi phần còn lại của hệ thống vẫn tiếp tục chạy không bị ảnh hưởng.
Biết rằng những hệ điều hành và ứng dụng mới – lấy lợi thế của chế độ được bảo vệ 32 bit tương thích ngược vào 386. Điều này cho phép 386 chạy các hệ điều hành và ứng dụng 16 bit không sửa chữa. Nó chạy chúng khá tốt nhanh hơn nhiều so với các con chip trước. Đối với phần lớn người dùng thế là đủ. Họ không cần bất kỳ phần mềm 32 bit mới nào; họ chỉ muốn phần mềm 16 bit tồn tại để chạy khá nhanh. Không may, điều đó có nghĩa là con chip không bao giờ chạy trong chế độ được bảo vệ 32 bit và tất cả những tính năng của chế độ này bị bỏ qua.
Khi bộ xử lý như là 386 hay mới hơn đang chạy DOS (chế độ thực), nó hoạt động như “Turbo 8088”, nghĩa là bộ xử lý có lợi thế về tốc độ trong chạy bất kỳ chương trình 16-bit nào;mặt khác nó có thể chỉ dùng những tập lệnh 16-bit và truy cập bộ nhớ trong cùng ánh xạ bộ nhớ 1MB của 8088. Cho nên, nếu bạn có hệ thống với bộ xử lý 32 bit hay 64 bit đang chạy Windows 3.x hoặc DOS thì chỉ megabyte đầu tiên của bộ nhớ được sử dụng hữu hiệu, để lại 255MB khác không dừng đến!
Các hệ điều hành và ứng dụng mới chạy trong chế độ được bảo vệ 32 bit là cần thiết. Chúng tôi, người dùng, rất lưỡng lự để thay đổi và tạm bằng lòng với phần mềm cũ hơn là phần mềm mới với những tính năng mới.
Do sự lưỡng lự, những hệ điều hành 32-bit thực sự mất thời gian dài mới có thị phần chính trong thị trường PC. Windows XP là hệ điều hành 32-bit trở thành sản phẩm chủ đạo thực sự, cơ bản là nhờ Microsoft ép buộc chúng tôi theo hướng đó với Windows 9x/Me (là những hệ thống 16/32 bit được trộn lẫn). Windows 3.x là hệ điều hành 16 bit cuối cùng, một số người không xem nó như hệ điều hành đầy đủ bởi vì nó chạy trên nền DOS.
Chế độ thực ảo IA-32
Chìa khóa cho sự tương thích ngược của các môi trường Windows 32 bit là chế độ thứ ba trên bộ xử lý: chế độ thực ảo (Virtual real mode). Nó chính là môi trường 16 bit chế độ thực ảo chạy trong chế độ được bảo vệ 32 bit. Khi cho DOS chạy trong Windows, bạn đã tạo ra mô hình chế độ thực ảo. Do chế độ được bảo vệ cho phép đa nhiệm, bạn có thể có vài chế độ thực ảo cùng thi hành, mỗi chế độ là phần mềm riêng biệt chạy trên một máy ảo. Tất cả thực hiện cùng một lúc, ngay cả khi các ứng dụng 32 bit khác đang chạy.
Nhận xét rằng bất kỳ chương trình nào chạy trên chế độ thực ảo thì windows chỉ có thể truy cập 1MB bộ nhớ mà chương trình cho là bộ nhớ megabyte đầu tiên trong hệ thống. Mặc khác nếu chạy một ứng dụng DOS trên cửa sổ thực ảo, nó hạn chế ở mức 640KB trong sử dụng bộ nhớ. Đó là lý do chỉ có trọn vẹn 1MB RAM trong môi trường 16 bit và phần trội lên 383 KB được dành riêng cho sử dụng hệ thống. Cửa sổ thực ảo này hoàn toàn mô phỏng môi trường 8088, nên ngoài tốc độ, phần mềm chạy như thể nó ở chế độ thực đầu tiên chỉ trên PC. Mỗi máy ảo có không gian địa chỉ 1MB riêng, một hình ảnh của những thủ tục BIOS phần cứng thực sự và sự mô phỏng của tất cả thanh ghi và tính năng khác được tìm thấy trong chế độ thực.
Chế độ thực ảo được dùng khi bạn sử dụng một cửa sổ DOS để chạy chương trình DOS hay Window 3 x 16-bit. Khi khởi động ứng dụng DOS, Windows tạo ra bộ máy DOS ảo chạy duwosi ứng dụng này. Điều thú vị là tất cả bộ xử lý Intel và tương thích Intel (như là AMD và VIA/Cyrix) đều ở chế độ thực. Nếu tải hệ điều hành 32-bit, nó tự động chuyển đổi bộ xử lý sang chế độ 32 bit và lấy quyền điều khiển từ đây.
Cũng quan trọng để nhận thấy rằng một số ứng dụng 16 bit (DOS và Windows 3.x) không chuẩn xác trong môi trường 32-bit, nghĩa là chúng thực hiện những điều mà thậm chí chế độ chuẩn xác trong môi trường 32-bit, nghãi là chúng thực hiện những điều mà thậm chí chế độ thực ảo không hỗ trợ. Phần mềm chuẩn đoán là một thí dụ hoàn hảo về vấn đề này. Phần mềm này không chạy đứng trong cửa sổ chế độ thực (thực ảo) dưới hệ điều hành Windows. Trong trường hợp này, bạn cho hệ thống vẫn chạy trong chế độ thực bình thường đầu tiên bằng cách khởi động bằng đĩa mềm khởi động DOS hay Windows 9x/Me.
Mặc dù chế độ thực được dùng bởi DOS 16 bit và các ứng dụng DOS “tiêu chuẩn”, vài chương trình đặc biệt có khả năng “mở rộng” DOS và cho phép truy cập bộ nhớ được mở rộng (vượt 1MB). Những chương trình này đôi khi được gọi là DOS etenders và thường được bao gồm như thành phần của bất kỳ phần mềm DOS hay Windows 3.x sử dụng chúng. Giao thức mô tả cách thực hiện DOS vận hành trong chế độ được bảo vệ gọi là Giao diện chế độ được bảo vệ DOS (DPMI: DOS Protected Mode Interface). DPMI được dùng bởi Windows 3.x để truy cập bộ nhớ mở rộng cho sử dụng với những ứng dụng Windows 3.x. Nó cho phép những chương trình này dùng nhiều bộ nhớ mặc dù chúng vẫn là các chương trình 16 bit. DOS extenders đặc biệt thông dụng trong các trò chơi DOS do chúng cho phép trò chơi truy cập nhiều bộ nhớ hệ thống hơn 1MB tiêu chuẩn mà phần lớn chương trình chế độ thực có thể định địa chỉ. Những DOS extenders này vận hành bằng cách chuyển bộ xử lý vào trong hay ra ngoài chế độ thực. Trong trường hợp chạy windows, chúng dùng giao diện DPMI được cho sẵn trong windows, cho phép chúng chia sẻ một phần bộ nhớ mở rộng của hệ thống.
Phần ngoại lệ khác trong chế độ thực là bộ nhớ mở rộng 64KB đầu tiên thực sự có thể truy cập vào máy tính trong chế độ thực, mặc dù thực tế nó được cho là không khả năng. Đây là kết quả cho một lỗi trên IBM AT nguyên thủy dòng địa chỉ bộ nhớ thứ 21, được gọi là A20 (A0 là dòng địa chỉ thứ nhất). Bởi chế tác dòng 20, phần mềm chế độ thực có thể đạt mức truy cập bộ nhớ mở rộng 64KB đầu tiên. Vùng bộ nhớ này được gọi là vùng bộ nhớ cao (HMA-high memory area)
Chế độ mở rộng IA-32e-64-bit
Chế độ mở rộng 64 bit là sự nâng cao kiến trúc IA-32 nguyên thủy được thiết kế bởi AMD và sau đó được thừa nhận bởi Intel.
Năm 2003, AMD giới thiệu bộ xử lý 64 bit đầu tiên cho các máy tính để bàn tương thích x86 Athlon 64 tiếp theo là bộ xử lý máy chủ 64 đầu tiên, Opteron. Năm 2004, Intel giới thiệu một dãy phiên bản có khả năng 64 bit của bộ xử lý để bàn Pentium 4.
Bộ xử lý với công nghệ 64 bit mở rộng có thể chạy ở chế độ thực (8086), chế độ IA-32, chế độ IA-32e. Chế độ IA-32 cho bộ xử lý chạy trong chế độ được bảo vệ và chế độ thực ảo. Chế độ IA-32e cho phép bộ xử lý chạy ở chế độ 64 bit và chế độ tương thích, nghĩa là có thể chạy cả hai ứng dụng 32 bit và 64 bit cùng một lúc. IA-32e bao ồm hai tiểu chế độ:
+ Chế độ 64 bit: cho phép hệ điều hành 64 bit chạy những ứng dụng 64 bit
+ Chế độ tương thích: cho phép hệ điều hành 64 bit chạy phần mềm lớn 32 bit
+ Chế độ 64bit IA-32e thực thi trên hệ điều hành 64 bit và được sử dụng bởi những ứng dụng 64 bit. Đặc điểm trong tiểu chế độ 64 bit những tính năng mới như sau:
+ Định vị bộ nhớ tuyến 64 bit
+ Bộ nhớ vật lý hỗ trợ trên 4GB (được giới hạn theo từng loại bộ xử lý)
+ Tám thanh ghi đa năng mới (GPRs-General-Purpose Register)
+ Tám thanh ghi mới cho dòng SIMD mở rộng (MMX, SSE, SSE2, SSE3)
+ Thanh ghi đa năng 64 bit và con trỏ tập lệnh
Chế độ tương thích IE-32e cho phép ứng dụng 32 bit và 16 bit chạy trên hệ điều hành 64 bit. Thật không may mắn các chương trình 16 bit cũ chạy trên chế độ thực ảo (chương trình DOS) không được hỗ trợ và sẽ không thực thi, một sự cố lớn cho nhiều người sử dụng. Tương tự với chế độ 64 bit, hệ điều hành cho phép chế độ tương thích trên cơ sở mã riêng biệt, nghĩa là các ứng dụng chạy ở chế độ 64 bit có thể hoạt động cùng lúc với các ứng dụng 32 bit chạy ở chế độ tương thích.
Cái mà chúng ta cần để thực hiện công việc này là một hệ điều hành 64 bit và khá quan trọng, các trình điều khiển 64 bit cho tất cả phần cứng vận hành dưới hệ điều hành này. Mặc dù Microsoft phát hành phiên bản 64 bit của Windows XP, một số ít công ty cho ra các trình điều khiển XP 64 bit, song cho mãi đến khi phát hành Windows Vista và đặc biệt phiên bản Windows 7x64 thì các trình điều khiển 64 bit mới trở nên đủ dồi dào hỗ trợ phần cứng 64 bit.
Lưu ý rằng Microsoft sử dụng thuật ngữ x64 để chỉ các bộ xử lý hỗ trợ AMD64 hoặc EM64T do những mở rộng của AMD và Intel với cấu trức IA32 tiêu chuẩn thì giống nhau trên thực tế và có thể được hỗ trợ với một phiên bản của Windows.
Lưu ý:
Những phiên bản đầu của bộ xử lý được trang bị EM64T từ Intel thiếu hỗ trợ các chỉ lệnh LAHF và SAHF được dùng trong bộ chỉ lệnh AMD64. Tuy nhiên, bộ xử lý Pentium 4 và Xeon DP dùng các core stepping G1 và cao hơn hỗ trợ hoàn toàn những chỉ lệnh này; cập nhật BIOS cũng cần thiết. Những bộ xử lý đa nhân mới hơn với hỗ trợ 64 bit cũng bao gồm những tập lệnh này.
Bộ nhớ vật lý hạn chế cho Windows XP và ấn bản 32 bit, 64 bit mới hơn được thể hiện trong bảng 3.5
Bảng 3.5 Những giới hạn bộ nhớ vật lý windowsPhiên bản Windows | Giới hạn bộ nhớ (32-bit) | Giới hạn bộ nhớ (64-bit) |
7 Professional/Ultimate | 4GB | 192GB |
Vista Business/Ultimate | 4GB | 128GB |
Vista Business/Ultimate | 4GB | 16GB |
Vista/7 Home Basic | 4GB | 8GB |
XP Professional | 4GB | 128GB |
XP Home | 4GB | N/A |
Khác biệt cơ bản giữa Windows XP 32 bit với 64 bit là sự hỗ trợ bộ nhớ, phá vỡ ngưỡi 4 GB trong những hệ thống Windows 32 bit. Windows XP 32 bit hỗ trợ tới 4GB bộ nhớ vật lý, với 2GB bộ nhớ chuyên biệt cho quy trình. Windows 64 bit hỗ trợ tới 192 GB bộ nhớ vật lý, với 4 GB cho mỗi tiến trình 32 bit và 8BT cho mỗi tiến trình 64 bit. Hỗ trợ cho nhiều bộ nhớ nghĩa là các ứng dụng có thể tải trước nhiều dữ liệu vào bộ nhớ mà bộ xử lý có thể truy cập nhanh hơn.
Windows XP 64 bit chạy những ứng dụng Windows 32 bit không vấn đề gì, nhưng lại không thể chạy ứng dụng DOS hay những chương trình khác ở chế độ thực ảo. Cũng vậy, những trình điều khiển (Driver) cũng là vấn đề lớn khác. Quy trình 32 bit không thể tải thư viện kết nối động 64 bit (DLLs-Dynamic link libraries), quy trình 64 bit cũng không thể tải loại trình điều khiển 64-bit cho những thiết bị cũ hay những thiết bị không còn được hỗ trợ doanh về phần cứng hiện có và được lắp thêm của bạn đối với các trình điều khiển 64 bit.
Bạn nên ghi nhớ các vấn đề kích cỡ bộ nhớ, phần mềm, trình điều khiển khi xem xét chuyển dịch từ công nghệ 32 bit sang 64 bit. Sự chuyển dịch từ phần cứng 32 bit sang sử dụng máy tính 32 bit mất 16 năm. Bộ xử lý PC 64 bit đầu tiên được phát hành năm 2003 và sự sử dụng 64 bit thực sự không trở thành chủ yếu cho mãi đến khi Windows 7 có mặt vào cuối năm 2009
Phân loại tốc độ xử lý
Mọi người thích hiểu máy tính của họ nhanh (hay chậm) như thế nào. Chúng ta luôn luôn quan tâm về tốc độ; đó là bản chất tự nhiên của con người. Để giúp chúng ta câu hỏi này, nhiều tốc độ bộ xử lý và hệ thống. Mặc dù không chỉ số đo lường nào có thể mô tả đầy đủ tốc độ của một thiết bị phức tạp như một bộ xử lý hay một PC tổng thể, kiểm tra so sánh có thể là công cụ hữu ích cho so sánh các thành phần và hệ thống khác nhau. Tuy nhiên, cách chính xác thực sự duy nhất để đo tốc độ hệ thống là kiểm tra hệ thống dùng những ứng dụng phần mềm thực tế mà bạn đang sử dụng. Mặc dù bạn nghĩ bạn đang kiểm tra một thành phần của một hệ thống thì thường các phần khác của hệ thống chịu ảnh hưởng. Không chính xác để kiểm tra các hệ thống với các bộ xử lý khác nhau, cho ví dụ, nếu chúng có số lượng khác nhau về bộ nhớ, ổ cứng, card video và…Tất cả những thiết bị này và nhiều hơn sẽ làm méo mó các kết quả kiểm tra.
Các kiểm tra so sánh điển hình được chia làm hai loại: kiểm tra thành phần hay kiểm tra hệ thống. Các kiểm tra so sánh thành phần đo tốc độ các thành phần cụ thể của một hệ thống máy tính, như là một bộ xử lý, ổ cứng, card video hay ổ đĩa quang, trong khi các kiểm tra so sánh hệ thống điển hình đo tốc độ của toàn bộ hệ thống đang chạy một ứng dụng cho sẵn hay bộ kiểm tra. Những cái này thường cũng được ogij là các kiểm tra tổng hợp (synthetic benchmarks) do chúng không đo bất kỳ công việc cụ thể nào.
Các kiểm tra so sánh, không hơn, chỉ là một loại thông tin bạn có thể sử dụng suốt quy trình nâng cấp hay mua. Bạn được thỏa mãn tốt nhất bằng cách kiểm tra hệ thống dùng bộ hệ điều hành và ứng dụng phần mềm của chính bạn và trong cấu hình bạn sẽ cho vận hành.
Tôi thường đề nghị dùng các kiểm tra so sánh dựa trên ứng dụng như là BAPCo SYSmark (www.bapco.com) để đo sự khác biệt tốc độ tương đối giữa các bộ xử lý và/hay hệ thống khác nhau. Phần tiếp theo bao gồm các bảng thể hiện kết quả của các kiểm tra so sánh SYSmark trên các bộ xử lý hiện hành cũng như cũ hơn.
So sánh tốc độ bộ xử lý
Một nhầm lẫn chung về các bộ xử lý là các đánh giá tốc độ khác nhau của chúng. Phần này bao gồm tốc độ bộ xử lý tổng quát và kế tiếp cung cấp nhiều thông tin cụ thể về các bộ xử lý Intel, AMD, và VIA/Cyrix.
Xung của hệ thống máy tính được đo lường như một chuỗi, diễn tả bằng số vòng trên một giây. Máy tạo dao động tinh thể điều khiển xung dùng mảnh thạch anh đôi lúc được chứa trong cái giống như đồ chứa bằng thiếc nhỏ. Hệ thống mới hơn bao gồm máy tạo dao động vòng trên chipset của bo mạch chủ nên không là thành phần riêng biệt có thể nhìn thấy. Ngay khi điện áp tác động vào miếng thạch anh, nó bắt đầu rung lên (dao động) với tốc độ đều đặn thế trong dòng luân phiên tạo thành tốc độ điều hòa của miếng tinh thể. Cái dòng luân phiên này chính là tín hiệu đồng hồ mà hình thành nên nền thời gian máy vi tính hoạt động. Một hệ thống máy vi tính điển hình chạy hàng triệu, hàng tỷ chu kỳ trong một giây, nên tốc độ được đo bằng megahertz hay gigahertz (Một hertz tương đương một chu kỳ trong một giây). Một tín hiệu dòng đều đặn giống như sóng hình sin với thời gian giữa các đỉnh của mỗi sóng xác định chuỗi (xem hình 3.1).
Hình 3.1: Tín hiệu dòng xoáy chiều thể hiện tính thời gian chu kỳ đồng hồ
Ghi chú:
Hertz được lấy tên của nhà vật lý Đức Heinzch Rudolf Hertz. Năm 1885, Hertz xác định lý thuyết điện từ, lý thuyết cho biết ánh sáng là sự hình thành của sự bức xạ điện từ và sản sinh ra những sóng điện từ.
Đối với bộ xử lý một chu kỳ là thành phần thời gian nhỏ nhất. Mỗi công việc yêu cầu ít nhất một chu kỳ và thường là nhiều chu kỳ. Để chuyển dữ liệu đến hoặc từ bộ nhớ, cho thí dụ, một bộ xử lý hiện đại như Pentium 4 cần tối thiểu ba chu kỳ để thiết lập sự truyền bộ nhớ đầu tiên và kể tiếp chỉ một chu kỳ cho ba lần truyền đến sáu lần truyền liên tục, Chu kỳ dư thừa ở lần truyền thứ nhất được gọi là tình trạng chờ (Wait state). Tình trạng chờ là khoảnh khắc đồng hồ không có vấn đề gì xảy ra. Điều này đảm bảo bộ xử lý không tiến đến sự dừng lại của máy tính.
Thời gian yêu cầu để thực thi các chỉ lệnh cũng thay đổi:
+ 8086 và 8088 – Bộ xử lý 8086 và 8088 đầu tiên lấy trung bình 12 chu kỳ để thực thi một chỉ lệnh đơn.
+ 286 và 386 – Bộ xử lý 286 và 386 cải tiến tốc độ này khoảng 4.5 chu kỳ cho mỗi chỉ lệnh
+ 486 – Bộ xử lý 486 và phần lớn các bộ xử lý tương thích Intel thế hệ thứ tư khác, như là AMD 5x86, hạ tốc độ xa hơn, khoảng 2 chu kỳ cho mỗi chỉ lệnh.
+ Pentium, K6 series – Bộ xử lý cấu trúc Pentium và các bộ xử lý tương thích Intel thế hệ thứ năm khác, như là những bộ xử lý của AMD và Cyrix, bao gồm cặp đôi đường ống dẫn chỉ lệnh và những cải tiến khác do hoạt động mỗi chu kỳ một hay hai chỉ lệnh.
+ P6/P7 và mới hơn – Những bộ xử lý P6 và P7 này (thế hệ thứ sáu và thứ bảy) có thể thực thi ba hay nhiều chỉ lệnh cho mỗi chu kỳ, với bộ số có thể trên đa nhân.
Số lần thực thi chỉ lệnh khác nhau (chu kỳ) làm khó khăn sự so sánh các hệ thống dựa đơn thuần trên tốc độ đồng hồ hay số chu kỳ cho mỗi giây. Làm cách nào hai bộ xử lý chạy cùng tốc độ đồng hồ lại hoạt động khác nhau với cái này chạy nhanh hơn cai kia? Câu trả lời đơn giản:hiệu năng.
Lý do chính mà 486 được xem như nhanh tương đối với 386 là nó thực thi gấp hai lần chỉ lệnh trong cùng số chu kỳ. Điều tương tự này đúng với trường hợp Pentium; nó thực thi khoảng gấp hai lần chỉ lệnh trong số chu kỳ định sẵn giống như 486. Do vậy, cùng tốc độ đồng hộ cho sẵn, Pentium nhanh gấp hai lần 486, bởi vậy bộ xử lý lớp 486 133MHz (như la AMD 5x86-133) không nhanh bằng Pentium 75 MHz! Đó là lý do megahertz của Pentium thì “giá trị” gấp đôi megahertz của 486 trong những giới hạn chỉ lệnh được hoàn tất cho mỗi chu kỳ. Pentium II và III nhanh hơn khoảng 50% so với một Pentium tương đương ở tốc độ đồng hồ cho sẵn bởi vì chúng thực thi nhiều chỉ lệnh hơn trong cùng số chu kỳ.
Không may, sau Pentium III, rất khó khăn để so sánh các bộ xử lý chỉ trên tốc độ đồng hồ. Đây alf bởi vì những cấu trúc nội bộ khác nhau làm một số bộ xử lý nhiều hiệu năng hơn những bộ xử lý khác, nhưng những sự khác biệt cùng hiệu quả này dẫn đến kết cấu mạch có khả năng chạy những tốc độ tối đa khác nhau. Mạch càng ít hiệu quả tốc độ đồng hồ càng cao và ngược lại.
Một trong những yếu tố làm nên hiệu năng alf số tầng đường dẫn nội bộ của bộ xử lý (xem bảng 3.6)
Bảng 3.6; Số đường dẫn cho mỗi CPUBộ xử lý | Chiều sâu đường dẫn |
Pentium M/Core | 10-stage |
Pentium M/Core | 10-stage |
Athlon/XP | 10-stage |
Athlon 64/Phenom | 12-stage |
Cỏe 2/i5/i7 | 14-stage |
Bộ xử lý | Chiều sâu đường dẫn |
Pentium 4 Prescott | 20-stage |
Pentium 4 Prescott | 31-stage |
Pentium D | 31-stage |
Một đường dẫn sâu hơn cắt các tập lệnh một cách hữu hiệu thành các bậc nhỏ (microstep) hơn, cho phép toàn bộ xung cao hơn đạt được việc sử dụng công nghệ silic giống nhau. Tuy nhiên điều này cũng có nghĩa là tất cả các tập lệnh ít hơn được thực thi trong một chu kỳ khi so sánh với các bộ xử lý với các đường dẫn ngăn hơn. Đó là do, nếu một dự đoán hay bước thực thi suy đoáng hỏng (xảy ra khá thường xuyên bên trong bộ xử lý khi nó thử sắp hàng các tập lệnh trước), toàn bộ đường dẫn phải ngăng bằng nhau và được đổ đầy lại. Do vậy, nếu so sánh Intel Cỏe i7 hay AMD Phenom với Pentium 4 đang chạy cùng xung, Core i7 và Phenom sẽ thực thi nhiều tập lệnh trong cùng số chu kỳ.
Mặc dù sự bất lợi để có một đường dẫn sâu hơn trong các giới hạn hiệu suất tập lệnh, bộ xử lý với những đường dẫn sâu hơn có thể chạy những xung cao hơn trên công nghệ sản xuất có sẵn. Do vậy, mặc dù một đường dẫn sau hơn có thể kém hữu hiệu, nhưng kết quả là có thể đẩy xung lên cao hơn.
Đường dẫn 20 hay 31 tầng sâu hơn trong kiến trúc P4 cho phép các xung cao hơn đáng kể để đạt đến việc sử dụng cùng quy tình khuôn silic như các chip khác. Như một ví dụ, Pentium 4 quy trình 0.13-micron tốc độ lên tới 3.4GHz trong khi Athlon XP ở đỉnh 2.2GHz (chế độ 3200+) trong cùng khung thời gian giới thiệu. Cho dù Pentium 4 thực thi các tập lệnh ít hơn trong mỗi chu kỳ thì các tốc độ chu kỳ cao hơn sẽ mất hiệu quả.
Không may là đường dẫn sâu kết hợp với những xung cao đi với sự bất lợi về sự tiêu thụ điện, do đó có sự phát sinh nhiệt. Rốt cuộc là sự bất lợi về điện quá lớn làm Intel trở về một thiết kế khá hiệu quả trong bộ xử lý kiến trúc “Core” mới hơn của họ. Hon là đơn độc gia tăng các xung, hiệu suất được tăng lên bằng cách kết hợp nhiều bộ xử lý vào một con chip, do vậy cải tiến tập lệnh một cách hữu hiệu. Điều này bắt đầu cho việc hướng đến các bộ xử lý đa nhân.
Một điều rõ ràng trong tất cả việc nhầm lẫn này: xung đơn thuần không phải là cách tốt để so sánh con chip, ngoại trù chúng có cùng nhà sản xuất, kiểu và hệ gia đình.
Để so sánh công bằng các CPU về tốc độ đồng hồ khác nhau, Intel phát minh ra dãy cụ thể điểm chuẩn gọi là chỉ số so sánh iCOMP (iCOMP: Intel Comparative Microprocessor Preformance). Chỉ số iCOMP này đã phát hành trong iCOMP nguyên thủy, iCOMP 2.0, và iCOM. Chỉ số iCOMP 2.) được xuất phát từ vài điểm chuẩn độc lập như dấu hiệu của tốc độ bộ xử lý tương đối. Đánh giá cân bằng giữa tốc độ xử lý số nguyên, dấu chấm động và đa phương tiện.
Bảng 3.7: Các đánh giá chỉ số Intel iCOMP 2.0
Intel và AMD đánh giá những bộ xử lý mới nhất của họ dùng bộ đánh giá BAPCo SYSmark thương mại. SYSmark là điểm chuẩn dựa trên ứng dụng chạy những tập lệnh khác nhau để thực hiện công việc thực sự dùng những ứng dụng phổ biến. nhiều công ty dùng nó cho việc kiểm tra và so sánh các hệ thống và thành phần PC. Điểm chauanr SYSmark là điểm chuẩn sát thực tế và hiện đại hơn điểm chuẩn iCOMP mà Intel sử dụng trước kia và do bất kỳ ai cũng có thể dùng, các kết quả hơn điểm chuẩn iCOMP mà Intel sử dụng trước kia và do bất kỳ ai cũng cso thể dùng, các kết quả có thể được xác định một các độ lập. Phần mềm điểm chuẩn SYSmark được BAPCo bán tại www.bapco.com hay mua từ FutureMark tại www.futuremark.com. Các đánh giá cho những bộ xử lý khác nhau dưới những bộ điểm chuẩn thể hiện trong bảng 3.8, 3.9 và 3.10.
Các điểm chuẩn SYSmark về phương diện thương mại là những điểm chuẩn dựa trên ứng dụng có sẵn phản ánh sự sử dụng thông thường của người giao dịch sử dụng sự sáng tạo nội dụng Internet hiện đại và những ứng dụng văn phòng. Tuy vậy, cần chú ý các điểm liệt kê ở đây được tạo ra bởi những hệ thống đầy đủ và bị tác động bởi những cái như là phiên bản cụ thể của bộ xử lý, bo mạch chủ và chipset được dùng, số lượng và loại bộ nhớ được lắp đặt, tốc độ ổ cứng và những yếu tố khác. Để thấy đầy đủ những yếu tố khác tạo nên các điểm số, hãy xem các báo cáo trên trang web của BAPCo tại www.bapco.com.
Theo “Nâng cấp và sửa chữa máy tính” Scott Mueller