Các thành phần cơ bản, nguyên tắc hoạt động và các thuộc của CPU

Màu nền
Font chữ
Font size
Chiều cao dòng

Các thành phần cơ bản, nguyên tắc hoạt động và các thuộc của CPU

Bộ xử lý trung tâm (CPU - Center Processor Unit)

CPU được coi là bộ não của máy tính. Nhiệm vụ của CPU là xử lý những hoạt động, chẳng hạn như tính toán, lưu trữ thông tin và truy tìm. Vì thế CPU biểu thị cho "trí thông minh" của mỗi máy tính. Sự tiến bộ của công nghệ máy tính luôn gắn liền với sự phát triển của CPU. Cho đến nay, người ta thường chỉ căn cứ vào CPU để phân loại PC. Thực chất CPU trong máy tính là một chip, tức là mạch tích hợp điện tử thu nhỏ, chịu trách nhiệm trục tiếp hay gián tiếp về mọi hoạt động của máy tính. CPU là đầu não điều khiển máy tính từ lúc khởi động cho đến khi tắt.

*Các thành phần cơ bản của CPU*

CU (Control Unit): Đơn vị điều khiển : Điểu khiển hoạt động của hệ thống theo chương trình đã dựng sẵn. Có chức năng điều khiển toàn bộ tiến trình chuyển giao dữ liệu từ chổ này sang chổ khác trong khi quá trình tính toán đang tiếp tục thực hiện

ALU (Arithmetic and Logic Unit): Đơn vị số học và luận lý

Thực hiện tất cả các tính toán số học và lôgic. Đơn vị số học và luận lý chỉ thực hiện các phép toán số học đơn giản như phép cộng, trừ, nhân, chia. Để CPU có thể xử lý dữ liệu với các số thực với độ chính xác cao và các phép toán phức tạp như sin, cos, tính tích phân..., các CPU thường được trang bị thêm bộ đồng xử lý toán học (FPU: Floatting Point Unit ) còn được gọi là bộ xử lý dấu chấm động.

Tập các thanh ghi (Registry) => Dùng để chứa thông tin tạm thời phục vụ cho các hoạt động hiện tại của CPU

Thanh ghi Kiểu Ghi chú

R0-R7 A Các thanh ghi mục đích chung

PC NA Bộ đếm chương trình

SR NA Thanh ghi trạng thái

TMPI NA Thanh ghi thời gian vào ALU

TMPO NA Thanh ghi thời gian ra ALU

MDR NA Thanh ghi dữ liệu

MAR NA Thanh ghi địa chỉ

IR NA Thanh ghi lệnh

Các chức năng cơ bản của CPU:

+ Thực hiện các lệnh về xử lý dữ liệu & các lệnh nhập xuất dữ liệu

+ Thực hiện các lệnh đọc, ghi, xóa dữ liệu trên các thiết bị lưu trữ

+ Thực hiện các lệnh về quản lý bộ nhớ bao gồm cấp phát và giải phóng

*Nguyên tắc hoạt động*

Đối với CPU, do việc xử lý thông tin trong CPU là hoàn toàn tự động theo những chương trình có sẵn trong bộ nhớ, CPU cần phải biết thời điểm đọc lệnh, đọc lệnh xong thì mới chuyển đến thời điểm CPU tiến hành giải mã lệnh, giải mã lệnh xong thì CPU mới tiến hành việc thực hiện lệnh. Thực hiện xong thì CPU mới tiến hành việc đọc lệnh kế tiếp.

Đây là các công đoạn khi CPU thực hiện và không thể lẫn lộn được mà phải được thực hiện một cách tuần tự.

Để giải quyết vấn đề này, trong CPU cần phải có một bộ tạo nhịp thời gian làm việc (CPU Clock). Tại nhịp thời gian này, CPU thực hiện việc đọc lệnh, tại nhịp thời gian tiếp theo, CPU thực hiện việc giải mã lệnh...

Nhịp thời gian càng ngắn, tốc độ CPU thực hiện lệnh càng nhanh. Chẳng hạn với một CPU pentium MMX 233 MHz, điều đó có nghĩa là bộ tạo nhịp của CPU đó tạo ra 233 triệu nhịp làm việc trong 1 giây.

Ví dụ: việc phân chia thời gian thực hiện lệnh đối với một CPU (đời cũ) có thể mô tả như sau:

Trong đó: F (Fetch): đọc lệnh

D (Decode): giải mã lệnh

E (Execute) : thực thi lệnh.

ti: chu kì làm việc thứ i

Với CPU làm việc như vậy chúng ta có thể thấy rằng mỗi lệnh phải thực hiện trong 3 nhịp thời gian. Tại nhịp t2 thì chỉ có bộ phận giải mã là bận rộn còn bộ đọc lệnh thì nhàn rỗi. Trong thời điểm t3 thì cả hai bộ phận đọc lệnh và giải mã đều rỗi. Do đó hiệu năng làm việc của CPU thấp.

Một CPU xử lý lệnh theo nhịp thời gian như vậy còn gọi là bộ vi xử lý ở chế độ đơn dòng lệnh và chỉ gặp ở các CPU đời cũ. Để tăng tốc độ làm việc của CPU hay tăng hiệu suất làm việc, các CPU thế hệ thứ 3 đều trang bị chế độ xử lý xen kẽ dòng mã lệnh (pipelining)

Ngày nay, các CPU đều được hỗ trợ chế độ xử lý xen kẽ dòng mã lệnh. Một số CPU đời mới có đến 5 đường ống xử lý lệnh (Core 2 Dual). Tốc độ CPU được tính bằng GHz, tương đương với hàng tỉ phép tính trên một giây. Vì thế Core 2 Duo tuy có tốc độ xung nhịp không cao lắm nhưng sức mạnh thì vượt trội so với Pen 4. Và còn một vấn đề nữa đó chính là hiệu quả của thao tác đó. Ví dụ như do các thuật toán không chặt chẽ dẫn đến CPU đoán nhầm và copy khối dữ liệu không cần thiết vào trong bộ nhớ đệm, còn khối dữ liệu cần dùng thì lại không copy. Vì thế khi CPU tìm trong bộ nhớ đệm không thấy có khối dữ liệu đó lại phải lóc cóc tìm trong RAM, tìm xong lại phải copy vào bộ nhớ đệm rồi mới xử lý tiếp. Như vậy có nghĩa là CPU đã thực hiện rất nhiều thao tác thừa so với CPU đoán đúng được ngay khối dữ liệu chuẩn bị được xử lý. Core 2 Duo có các thuật toán cao cấp và các công nghệ tiên tiến giúp cho hiệu quả của CPU rất cao. Và chính vì thế mà hiệu suất của Core 2 Duo vượt trội so với Pentium.

*Các kiến trúc bộ vi xử lý*

Theo nguyên tắc làm việc của máy tính thì để thực hiện chương trình, CPU lần lượt đọc các lệnh, giải mã lệnh và thực hiện lệnh. Đối với một hệ máy tính, một lệnh được chia thành các mức độ khác nhau, mức thứ nhất đó là mức lệnh của người sử dụng. Đây là những câu lệnh dạng gần gũi với ngôn ngự tự nhiên của con người và máy tính không thể hiểu được.

Để máy tính có thể hiểu được, lệnh của người sử dụng được HĐH hay trình dịch ngôn ngữ phiên dịnh thành lệnh ở dạng ngôn ngữ máy và CPU có thể đọc và hiểu được.

Khi CPU đọc lệnh dạng mã máy, nó thực hiện việc phiên dịch lệnh này thành các vi lệnh để các thành phần của CPU có thể hiểu và thực hiện được. Quá trình này gọi là giải mã lệnh.

Tập các vi lệnh của CPU cũng là một yếu tố đánh giá khả năng làm việc của CPU, khi trang bị một CPU vào hệ thống người ta thường quan tâm đến vấn đế kiến trúc của CPU, có hai loại kiến trúc CPU, đó là:

CISC: (Complex Instruction Set Computer) máy tính với tập lệnh đầy đủ. Trong kiến trúc CISC, máy tính cần sử dụng rất ít thanh ghi.

RISC: (Reduced Instruction Set Computer) máy tính với tập lệnh rút gọn. Trong kiến trúc RISC, máy tính cần sử dụng nhiều thanh ghi. Đây là kiến trúc được các bộ vi xử lý Intel ngày nay sử dụng.

Chúng ta có thể lấy một ví dụ để phân biệt giữa SISC và RISC như sau: Cộng 1 vào một vùng địa chỉ. Trong CISC, lệnh tương ứng phải thực hiện ba chức năng sau: đọc vùng bộ nhớ, cộng thêm 1, ghi trả lại kết quả. Trong RISC, mỗi chức năng trên là một lệnh. Điều khác biệt là trong CISC không cần tới nhiều thanh ghi, với lệnh trên CISC có thể đọc giá trị tại vùng nhớ vào ALU, thực hiện tăng lên 1 và trả kết quả vào vùng nhớ. Còn đối với CPU RISC, nếu giá trị cần đọc đã có sẵn ở thanh ghi thi không cần phải đọc nó từ bộ nhớ, giá trị sau khi tăng lên 1 có thể chứa ở thanh ghi mà không cần phải ghi kết quả vào bộ nhớ.

*CPU đa lõi*

Lý do lớn nhất việc đặt nhiều lõi lên cùng một vi mạch là sẽ giúp giảm không gian trên bản mạch chính khi có nhu cầu muốn sử dụng với số lượng CPU lõi đơn tương đương. Thêm nữa, lợi thế của việc sử dụng đa lõi trên cùng một vi mạch đương nhiên sẽ làm việc kết hợp cùng nhau chặt chẽ và nâng cao được hiệu quả hơn.

Khả năng tiết kiệm năng lượng cũng được phát huy thấy rõ đối với thiết kế này. Khi nhiều lõi cùng nằm trên một chip, xung tín hiệu truyền giữa các lõi sẽ ngắn hơn. Ngoài ra, đặc trưng của CPU đa lõi là chạy với điện năng thấp hơn vì công suất tiêu tốn để tín hiệu truyền trên dây bằng với bình phương điện áp chia cho điện trở trong dây, do đó điện năng thấp hơn sẽ dẫn đến kết quả là nguồn điện sử dụng đi.

Một lý do khác đối với việc tiết kiệm nguồn điện là tốc độ đồng hồ. CPU đa lõi có thể thực thi các hoạt động nhiều lần hơn trong một giây trong khi tần số thấp hơn. Ví dụ bộ xử lý MIT RAW 16 lõi hoạt động ở tần số 425MHz có thể thực thi gấp 100 lần các hoạt động trong một giây đối với Intel Pentium 3 đang chạy ở tần số 600 MHz. Có một quy tắc đơn giản là mỗi một phần trăm tăng thêm tốc độ đồng hồ sẽ tăng 3% điện năng tiêu thụ. Và tất nhiên là điều đó còn chưa tính tới tác động của các nhân tố khác có ảnh hưởng tới sự tiêu thụ điện năng.

CPU đa lõi còn có thể chia sẻ một mạch ghép nối bus tốt như mạch lưu trữ. Hình bên dưới là lược đồ của chip Core 2 dual của Intel - có tính năng là một L2 cache được chia sẻ. Kết quả là tiết kiệm được lượng không gian đáng kể. Theo Intel, CPU Core 2 dual có thể lên tới 4MB được chia sẻ L2 Cache.

Sơ đồ Bộ xử lý Core 2 Dual của Intel

Một nhân tố khác giới hạn lợi ích thực thi của CPU đa lõi là phần mềm chạy trên nó. Đối với người dùng bình thường, hiệu suất lớn nhất mà họ đạt được khi lựa chọn một CPU đa lõi là tính đa nhiệm được cải thiện. Ví dụ, với một CPU đa lõi ta sẽ thấy sự cải thiện lớn khi xem DVD trong lúc máy vẫn đang được quét virus mà tốc độ không bị ảnh hưởng, bởi vì từng ứng dụng sẽ được gán trên các lõi khác nhau.

Nếu người dùng đang chạy một ứng dụng đơn trên máy tính đa lõi thì sẽ không thấy rõ được việc tăng hiệu suất đáng kể lắm. Bởi hầu hết các ứng dụng không được xử lý đa luồng. Chính vì vậy các ứng dụng cũng cần phải thay đổi trong thiết kế. Ví dụ một chương trình quét virus chạy trên một tuyến mới trong khi GUI lại chạy trên một tuyến khác. Việc xử lý đa luồng đúng cách là khi khối lượng công việc được phân chia thành nhiều luồng khác nhau. Việc quét virus là một ví dụ, luồng GUI làm việc rất ít, trong khi luồng quét virus thực hiện một nhiệm vụ rất nặng và không có khả năng chia nhỏ ra và gửi đến các lõi khác.

Việc phát triển một ứng dụng đa luồng đích thực yêu cầu rất nhiều công việc phức tạp. Điều này rõ ràng cũng tốn khá nhiều chi phí vào một chu trình thiết kế phần mềm. Đó là lý do tại sao phần lớn các ứng dụng phần mềm sẽ không được phát triển như các ứng dụng thực sự đa luồng cho đến khi số lượng lõi đủ cao để thực hiện nhiều tác vụ mà không làm ảnh hưởng tới hiệu suất. Và điều này sẽ đạt được khi người dùng có nhu cầu.

*Các thuộc tính kỹ thuật của CPU*

Word Size: kích thước từ nhớ là số bit lớn nhất mà CPU có thể xử lý ở một thời điểm.

Kích thước đường dữ liệu là số bit dữ liệu có thể vào ra CPU ở một thời điểm từ bus dữ liệu (data bus).

Kích thước địa chỉ cực đại là không gian địa chỉ vật lý cực đại mà CPU có thể điều khiển.

Tốc độ xử lý tính bằng megahertz (MHz) hoặc gigahertz (GHz). Con số đứng trước MHz hay Ghz chỉ cho biết có bao nhiêu dao độ trong một giây. Ví dụ, CPU 600MHz sẽ dao động 600 triệu lần/giây.

Level 1 Execution Trace Cache: là bộ nhớ đệm bổ sung 8 KB, CPU Pentium 4 bao gồm bộ nhớ dò tìm thi hành lệnh mà dung lượng lên đến 12KB để đọc/giải mã theo thứ tự sự thực hiện của chương trình. Hiệu suất tăng dần này được gở bỏ việc đọc/giải mã theo mỗi vòng lặp và làm hiệu quả hơn không gian lưu trữ đệm cho đến khi những tập lệnh không được lưu nữa. Kết quả là nó chuyển một khối lượng lớn những lệnh đến bộ xử lý.

Level 2 Advanced Transfer Cache (ATC): Bộ nhớ đệm Level 2 có trong bộ xử lý từ 2,4Ghz trở lên. Level 2 ATC giúp thông lượng truyền dữ liệu nhiều hơn giữa hai kênh là bộ đệm Level 2 và bộ xử lý. Bộ đệm Level 2 có một mạch ghép nối 256bit (32 byte) mà nó truyền dữ liệu trong mỗi xung.

Level 3 cache: chỉ có Pentium 4 Extreme Edition 3,2GHz trở lên mới có bộ nhớ đệm Level 3. Đây là bộ nhớ thứ ba được thêm vào trên CPU. Nó được thiết kế đặc biệt để đáp ứng những nhu cầu cho những ai đòi hỏi cao về năng xuất. CPU có bộ nhớ Level 3 cung cấp một đường truyền rộng đến bộ nhớ. Thiết kế của cache L3 giúp cho những dữ liệu xử lý chứa đựng ở CPU được nhiều hơn và nhanh hơn.

HT Technology (Hyper-Threading Technology - Công nghệ siêu phân luồng): Các CPU có tốc độ truyền dữ liệu với Mainboard Bus 800MHz trở lên hỗ trợ HT Technology. Công nghệ HT Technology là một bước đột phá, nó làm thay đổi kỹ thuật thiết kế bộ xử lý mà tốc độ vượt qua GHz cải thiện hiệu quả làm việc. Nó cho phép những chương trình phần mềm "thấy 2 CPU" và làm việc hiệu quả hơn. Kỹ thuật này cho phép CPU chạy hai loạt chuỗi, hoặc luồng của lệnh trong cùng một thời điểm. Theo cách ấy, hệ thống đã được cải tiến hiệu quả, nâng dần hiệu suất xử lý trong môi trường khi thực hiện cùng lúc nhiều ứng dụng.

Bạn đang đọc truyện trên: Truyen2U.Pro