Bên trong bộ xử lý
Theo PC World VN
Bộ vi xử lý là trái tim của máy tính hiện đại; đây là một loại chip được tạo thành từ hàng triệu transistor và những thành phần khác được tổ chức thành những khối chức năng chuyên biệt, bao gồm đơn vị xử lý số học, khối quản lý bộ nhớ và bộ nhớ đệm, khối luân chuyển dữ liệu và phép toán luận lý suy đoán.
Bộ vi xử lý của máy tính
hiện nay đã phát triển cực mạnh về khả năng, tốc độ và tính phức tạp
so với thập niên trước đây. Tốc độ cao, kích thước nhỏ, số lượng
transistor khổng lồ. Nếu bộ xử lý năm 1983 chỉ có 30.000 transistor
thì hiện nay với một số bộ xử lý con số này là trên 40 triệu.
Bất kỳ chương trình máy tính nào cũng bao gồm rất nhiều lệnh
để thao tác với dữ liệu. Bộ xử lý sẽ thực hiện chương trình qua bốn
giai đoạn xử lý: nạp, giải mã, thực thi và hoàn tất.
Giai
đoạn nạp (lấy lệnh và dữ liệu) đọc các lệnh của chương trình và dữ
liệu cần thiết vào bộ xử lý.
Giai đoạn giải mã xác định mục
đích của lệnh và chuyển nó đến phần cứng tương ứng.
Giai đoạn
thực thi là lúc có sự tham gia của phần cứng, với lệnh và dữ liệu đã
được nạp sẵn, các lệnh sẽ được thực hiện. Quá trình này có thể gồm
các tác vụ như cộng, chuyển bít hay nhân thập phân động.
Giai đoạn hoàn tất sẽ lấy kết quả của giai đoạn thực thi và
đưa vào thanh ghi của bộ xử lý hay bộ nhớ chính.
Một bộ phận
quan trọng của bộ vi xử lý là đồng hồ xung nhịp được thiết kế sẵn,
xác định tốc độ làm việc tối đa của những bộ phận khác và giúp đồng
bộ hoá những hoạt động liên quan. Hiện nay tốc độ nhanh nhất của bộ
xử lý có trên thị trường là trên 2 GHz hay hơn hai tỷ xung nhịp mỗi
giây. Một số người thích sử dụng thủ thuật "ép" xung để chạy ở tốc
độ cao hơn, nhưng nên nhớ là khi đó nhiệt độ làm việc của chip sẽ
cao hơn và có thể gây trục trặc.
Các bộ phận của CPU
Mạch của bộ xử lý được thiết kế thành những phần luận lý
riêng biệt - khoảng hơn một chục bộ phận - được gọi là những đơn vị
thực thi. Chúng có nhiệm vụ thực hiện bốn giai đoạn trên và có khả
năng xử lý gối đầu. Dưới đây là một số đơn vị thực thi phổ biến
nhất.
Bộ luận lý số học: Xử lý tất cả những phép toán
số học. Đôi lúc đơn vị này được chia thành những phân hệ, một chuyên
xử lý các lệnh cộng và trừ số nguyên, phân hệ khác chuyên tính toán
các phép nhân và chia số phức.
Bộ xử lý dấu chấm động
(FPU): Thực hiện tất cả các lệnh liên quan đến dấu chấm động
(không phải là số nguyên). Ban đầu FPU là bộ đồng xử lý gần ngoài
nhưng hiện nay nó được tích hợp ngay trên bộ xử lý để tăng tốc độ xử
lý.
Bộ phận nạp/lưu: Quản lý tất cả lệnh đọc hay ghi
bộ nhớ.
Bộ phận quản lý bộ nhớ (MMU): Chuyển đổi địa
chỉ của ứng dụng thành địa chỉ bộ nhớ vật lý. Điều này cho phép hệ
điều hành ánh xạ mã và dữ liệu của ứng dụng vào những khoảng địa chỉ
ảo để MMU có thể thực hiện các dịch vụ theo chế độ bảo vệ bộ nhớ.
Bộ phận xử lý rẽ nhánh (BPU): Dự đoán hướng đi của
lệnh rẽ nhánh nhằm giảm sự ngắt quãng của dòng chuyển dữ liệu và
lệnh vào bộ xử lý khi có một luồng xử lý nhảy đến một địa chỉ bộ nhớ
mới, thường gặp trong các phép toán so sánh hay kết thúc vòng lặp.
Bộ phận xử lý vector (VPU): Xử lý các lệnh đơn, đa dữ
liệu (single instruction multiple data-SIMD) để tăng tốc các tác vụ
đồ hoạ. Những lệnh theo kiểu vector này gồm các tập lệnh mở rộng cho
multimedia của Intel, 3DNow của AMD, AltiVec của Motorola. Trong một
vài trường hợp không có bộ phận VPU riêng, chẳng hạn Intel và AMD
tích hợp những tính năng này vào trong FPU của Pentium 4 và Athlon.
Không phải tất cả các bộ phận này đều thực thi lệnh. Người
ta đã có những nỗ lực to lớn để bảo đảm cho bộ xử lý lấy lệnh và dữ
liệu ở tốc độ nhanh nhất. Tác vụ nạp truy cập bộ nhớ chính (không
nằm ngay trên CPU) sẽ chiếm nhiều chu kỳ xung nhịp, trong khi đó CPU
lại không làm gì cả. Tuy nhiên, BPU sẽ phải làm việc rất nhiều để
lấy sẵn dữ liệu và lệnh.
Một cách giảm thiểu tình trạng
không hoạt động của CPU là trữ sẵn mã và dữ liệu thường được truy
cập trong bộ nhớ ngay trên chip, như vậy CPU có thể truy cập mã và
dữ liệu trên bộ nhớ đệm chỉ trong một chu kỳ xung nhịp. Bộ nhớ đệm
chính ngay trên CPU (còn gọi là Level1 hay L1) thường chỉ có dung
lượng khoảng 32KB và chỉ có thể lưu được một phần chương trình hay
dữ liệu. Thủ thuật để thiết kế bộ nhớ đệm là tìm giải thuật để lấy
thông tin quan trọng vào L1 khi cần đến. Điều này có ý nghĩa hết sức
quan trọng đối với tốc độ nên hơn một nửa số lượng transistor của bộ
xử lý có thể dành cho bộ nhớ đệm.
Tuy nhiên, hệ điều hành đa
nhiệm và một loạt các ứng dụng chạy đồng thời có thể làm quá tải
ngay cả với bộ nhớ đệm L1 được thiết kế tốt nhất. Để giải quyết vấn
đề này, cách đây nhiều năm, các nhà sản xuất đã bổ sung đường truyền
tốc độ cao để bộ xử lý có thể giao tiếp với bộ nhớ đệm thứ cấp
(Level2, L2) với tốc độ khoảng 1/2 hay 1/3 tốc độ của bộ xử lý. Hiện
nay trong những bộ xử lý mới nhất như Pentium 4 hay PowerPC 7450 còn
tiến xa hơn khi đưa bộ nhớ đệm L2 vào ngay trong CPU và hỗ trợ giao
tiếp tốc độ cao với bộ nhớ đệm ngoài L3. Trong tương lai, các nhà
sản xuất thậm chí còn tích hợp bộ điều khiển bộ nhớ ngay trên CPU để
tăng tốc độ lên cao hơn nữa.
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com