Bộ xử lý (còn gọi là đơn vị xử lý; tiếng Anh processor, processing unit) là thành phần quan trọng nhất của máy tính điện tử, thường được ví như bộ não của con người, thực hiện các phép tính với các thông tin đưa vào. Bộ xử lý trong máy tính điện tử thực hiện các chương trình chứa trong bộ nhớ chính bằng cách lấy về các lệnh của chương trình, giải mã lệnh và điều khiển các đơn vị chức năng nhất định trong hệ thống máy tính thực hiện lệnh.
Bộ xử lý không chỉ được sử dụng trong tất cả các máy tính mà chúng ta thường thấy, chúng còn được sử dụng trong rất nhiều loại thiết bị khác nhau, từ các thiết bị gia dụng như máy giặt, máy điều hòa nhiệt độ, đến ô-tô đến và các loại thiết bị tự động hóa khác nhau.
Lịch sử[sửa]
Các bộ xử lý thời kỳ đầu đều được xây dựng bằng phần cứng; sau này nhiều bộ xử lý bao gồm cả phần cứng và cả phần mềm (xt. kiến trúc máy tính), thậm chí có một số bộ xử lý được thực hiện hoàn toàn bằng phần mềm, tất nhiên bộ xử lý loại này phải chạy trên máy tính có phần cứng.
Các bộ xử lý được sử dụng trong các máy tính điện tử từ thế hệ thứ ba trở đi là các mạch tích hợp – IC (integrated circuit) và thường được gọi bằng các tên khác nữa là bộ vi xử lý (microprocessor) hoặc đơn vị vi xử lý – MPU (micro processing unit).
Khi máy tính điện tử thế hệ thứ tư mới ra đời, các bộ xử lý nói chung đều chỉ gồm một con chip. Sau đó, với sự tiến bộ không ngừng của công nghệ vi điện tử, người ta đã chế tạo được các con chip chứa trong nó nhiều bộ xử lý, mỗi bộ xử lý trong đó thường được gọi là một lõi (core); còn con chip như vậy được gọi là bộ xử lý đa lõi.
Phân loại[sửa]
Người ta thường phân loại các bộ xử lý theo một số tiêu chí:
- Theo kích thước đơn vị dữ liệu mà bộ xử lý có thể tính toán trong các phép tính chính của nó (data width).
- Theo độ lớn và độ phức tạp của tập chỉ thị.
- Theo kiến trúc (architecture).
- Theo số lượng lõi (core).
- Theo nhiệm vụ cụ thể.
Theo cách phân loại bộ xử lý theo kích thước đơn vị dữ liệu: có các bộ xử lý 4 bit, 8 bit, 16 bit, 32 bit, 64 bit v.v. Các bộ xử lý nhiều bit hơn thường có khả năng đánh địa chỉ bộ nhớ lớn hơn.
Theo độ lớn và độ phức tạp của tập chỉ thị bộ xử lý được chia thành 2 loại.
- Bộ xử lý loại CISC (Complex Instruction Set Computer)
- Bộ xử lý loại RISC (Reduced Instruction Set Computer)
Các máy tính điện tử đầu tiên có phần cứng hết sức đơn giản, bộ xử lý của chúng thường chỉ thực hiện được một vài chỉ thị, các chỉ thị cũng chỉ có một hoặc hai phương thức đánh địa chỉ (cách chỉ ra con số trong bộ nhớ mà chỉ thị sẽ xử lý). Thí dụ: bộ xử lý của các máy tính điện tử ENIAC, IBM 7094, CDC 6600, IBM PC… (xt. Thế hệ máy tính). Việc thiết kế và chế tạo phần cứng của máy tính điện tử cũng phát triển không ngừng. Các thay đổi đột ngột bắt đầu với sự ra đời của dòng IBM 360 vào năm 1964, tất cả các mô-đen của dòng máy 360 đều được lập vi chương trình (xt. Vi chương trình): các vi kiến trúc (micro architectures) (xt. Vi kiến trúc) không quá phức tạp nhưng mức máy thông thường lại có tập chỉ thị phức tạp, nghĩa là tập chỉ thị lớn và có nhiều loại khác nhau. Cùng với thời gian, ngay cả các bộ vi xử lý với kiến trúc tối thiểu cũng có độ phức tạp ngang hoặc vượt mức độ phức tạp của các bộ xử lý trong các máy tính điện tử loại mini và loại lớn ở thời kỳ đầu. Xu thế này được thúc đẩy do việc sử dụng rộng rãi của các ngôn ngữ lập trình bậc cao, dẫn đến sự ra đời của máy tính điện tử loại CISC - máy tính điện tử sử dụng bộ xử lý loại CISC. Tập chỉ thị của bộ xử lý CISC thường gồm có 200-300 chỉ thị hoặc thậm chí nhiều hơn thế; trong số đó có một số chỉ thị được sử dụng với tần suất rất cao, nhưng cũng có một chỉ thị được sử dụng với tần suất thấp hoặc rất thấp, tùy thuộc vào các lệnh trong ngôn ngữ bậc cao. Vd. về bộ xử lý loại CISC: 8086, 8088, 80186, 80286 của Intel, 68030 của Motorola v.v.
Bộ xử lý CISC càng có nhiều chỉ thị thì thời gian thực hiện mỗi chỉ thị càng dài, dẫn đến việc máy tính chạy càng chậm. Vì vậy người ta phải tìm cách nâng cao tốc độ của bộ xử lý. Một số nhà thiết kế muốn làm cho bộ xử lý chạy nhanh hơn bằng cách loại bỏ các chỉ thị ít khi được sử dụng, đó thường là các chỉ thị tương ứng với lệnh của ngôn ngữ bậc cao hơn. Tất nhiên phải đánh đổi: với một thao tác cần thực hiện mà không có chỉ thị thì bộ xử lý sẽ phải sử dụng một số chỉ thị có sẵn để thực hiện, dẫn đến việc tốn thời gian hơn. Các bộ xử lý loại RISC thường có không quá 100 chỉ thị. Vd. một số máy tính sử dụng bộ xử lý RISC: IBM 801 minicomputer (1975); RISC I, RISC II (1980); IPS (1981); SPARC (1987).
Theo kiến trúc bộ xử lý có hai loại máy tính là:
- Máy tính theo kiến trúc Harvard;
- Máy tính theo kiến trúc Von Neumann.
Theo số lượng lõi thì, ngày nay, các bộ xử lý thường có từ hai lõi trở lên, một số bộ xử lý có đến hàng chục lõi. Các bộ xử lý nhiều lõi rất thích hợp cho các máy tính hoạt động kiểu đa nhiệm, vì nó có thể thi hành một số chương trình đồng thời. Để máy tính có bộ xử lý đa lõi hoạt động hiệu quả, máy tính phải chạy hệ điều hành có chức năng hỗ trợ bộ xử lý đa lõi, ngoài ra cũng còn nhiều vấn đề liên quan nữa, chẳng hạn máy phải được trang bị bộ nhớ đệm (cache) thích hợp v.v. Theo cách phân loại này có thể có các bộ xử lý: một lõi (single core), hai lõi (dual core), bốn lõi (quad core) v.v.
Có thời gian, bộ xử lý còn được gọi là bộ xử lý trung tâm (CPU), tên này ra đời khi người ta phân tích mối quan hệ giữa các đơn vị chức năng trong máy tính điện tử khi hoạt động. Tuy nhiên, ngày nay, còn có một số bộ xử lý được thiết kế và chế tạo nhằm thực hiện một nhiệm vụ cụ thể một với hiệu quả cao nhất có thể. Vd. bộ xử lý đồ họa – GPU (graphics processing unit), bộ xử lý dữ liệu - DPU (data processing unit), bộ xử lý tăng tốc - APU v.v
Kiến trúc phổ biến[sửa]
Một số nhà sản xuất chip xử lý đi theo các triết lý thiết kế khác nhau và có thể sử dụng các công nghệ chế tạo khác nhau. Những sự khác nhau đó dẫn đến sự ra đời của một số kiến trúc phổ biến, thí dụ:
- ARM: đây là loại chip xử lý được sử dụng phổ biến nhất, đặc biệt là cho các máy tính và thiết bị số chạy pin, thí dụ điện thoại thông minh. Ưu điểm nổi bật của loại bộ xử lý này là được thiết kế để có thể sử dụng năng lượng nguồn nuôi (pin) hiệu quả và được sản xuất với nhiều cấu hình khác nhau, có thể đáp ứng các yêu cầu về khả năng tính toán trong một phạm vi rất rộng.
- PowerPC: Đây là tên viết tắt của cụm từ tiếng Anh Performance Optimization With Enhanced RISC - Performance Computing, đại ý là: Tối ưu hóa hiệu năng bằng việc tính toán theo tập chỉ thị RISC nâng cao. Các bộ xử lý PowerPC được sử dụng trong các máy tính Macs và điện thoại thông minh iPhone của hãng Apple; PowerPC có ưu điểm chính là hoạt động tối ưu trong các máy tính có chức năng truyền thông không dây.
- x86: ký hiệu này là tên chung của cả một họ BVXL của hãng Intel, thí dụ 8086, 80186, 80286, 80386, 80486 v.v. Các BVXL x86 được sử dụng rất phổ biến trong các máy tính để bàn và máy phục vụ (server). Các BVXL họ x86 thế hệ đầu tiên có tập chỉ thị lớn, kiểu CISC. Các BVXL x86 sau này có tập chỉ thị bên trong được rút gọn - kiểu RISC; Tuy nhiên đối với bên ngoài nó vẫn là BVXL kiểu CISC nhờ các vi chương trình chứa trong BVXL thực hiện chuyển đổi. Intel đã làm như vậy để các BVXL x86 mới của mình có thể thi hành được các phần mềm sẵn có được viết cho các BVXL x86 đầu tiên. Ưu điểm lớn nhất của các BVXL x86 là các phần mềm được viết cho một BVXL x86 cụ thể có thể chạy bình thường trên các máy tính sử dụng các BVXL mới hơn cùng họ x86. Nhược điểm chính của x86 là nhìn chung nó tiêu thụ năng lượng nhiều hơn các BVXL họ ARM và giá thành cao hơn.
Tài liệu tham khảo[sửa]
- A. S. Tannenbaum, Structured Computer Organization, 6th Edition, Pearson, 2013. ISBN 10: 0-13-291652-5, ISBN 13: 978-0-13-291652-3.
- Benjamin W. Wah, Wiley Encyclopedia of Computer Science and Engineering, Publisher: Wiley-interscience, 2008. ISBN-10: 0471383937, ISBN-13: 978-0471383932.
- Britannica Concise Encyclopedia, Revised and Expanded Edition, Publisher: Encyclopædia Britannica, Inc, 2006. ISBN: 978-1-59339-492-9.
- Microsoft Computer Dictionary, Fifth Edition, Microsoft Press, 2002. ISBN 0-7356-1495-4.
- William Stallings, Computer Organization and Architecture: Design for Performance, 9th Edition, Pearson, 2013. ISBN 10: 0-13-293633-X, ISBN 13: 978-0-13-293633-0.