|Cùng nhau chia sẽ để có nhiều kiến thức | Những cái tôi biết bạn cũng biêt |
 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
A lô A lô :: Diễn đàn đang đi vào hoạt động nếu các bạn thấy lỗi xin góp ý ngay bên góc phải cho mình nhé.
  • Ảnh ngẫu nhiên
ceffort (162)
neckeh (25)
nobody (1)
Câu điều kiện loại 0 Trả lờiCâu điều kiện loại 0 - 3 Trả lời
Thông báo ! Trả lờiThông báo ! - 2 Trả lời
Chuyển mạng giữ số : Chưa chắc thuê bao đã hào hứng Trả lờiChuyển mạng giữ số : Chưa chắc thuê bao đã hào hứng - 1 Trả lời
Cách học Matlab hiệu quả Trả lờiCách học Matlab hiệu quả - 1 Trả lời
Tài liệu Mainboard Trả lờiTài liệu Mainboard - 1 Trả lời
Tiêu đề: Sự khác nhau giữa các phương pháp ghép kênh và các phương pháp đa truy nhập Trả lờiTiêu đề: Sự khác nhau giữa các phương pháp ghép kênh và các phương pháp đa truy nhập - 1 Trả lời
Test thử bài viết ::: Trả lờiTest thử bài viết ::: - 1 Trả lời
Cách đọc bài dạng văn bản online trong Forum Trả lờiCách đọc bài dạng văn bản online trong Forum - 1 Trả lời
[PC] - Khôi phục dữ liệu dễ dàng khi bị ghost nhầm ! Trả lời[PC] - Khôi phục dữ liệu dễ dàng khi bị ghost nhầm ! - 1 Trả lời
Thông báo ! lượt xemThông báo ! - 1831 Xem
Chuyển trang lượt xemChuyển trang - 1724 Xem
Chuyển mạng giữ số : Chưa chắc thuê bao đã hào hứng lượt xemChuyển mạng giữ số : Chưa chắc thuê bao đã hào hứng - 1092 Xem
NỘI QUY DIỄN ĐÀN lượt xemNỘI QUY DIỄN ĐÀN - 1033 Xem
Test thử bài viết ::: lượt xemTest thử bài viết ::: - 1032 Xem
Tài liệu Mainboard lượt xemTài liệu Mainboard - 1021 Xem
Tiêu đề: Sự khác nhau giữa các phương pháp ghép kênh và các phương pháp đa truy nhập lượt xemTiêu đề: Sự khác nhau giữa các phương pháp ghép kênh và các phương pháp đa truy nhập - 944 Xem
Câu điều kiện loại 0 lượt xemCâu điều kiện loại 0 - 912 Xem
Cách học Matlab hiệu quả lượt xemCách học Matlab hiệu quả - 887 Xem
Test thử diễn đàn lượt xemTest thử diễn đàn - 879 Xem

//

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down
Tue Jun 12, 2012 9:10 am#1
ceffort
Mình sẽ làm Được !
Giám đốc
ceffort
Giám đốc

https://vienthongvn.forum-viet.com
Tổng số bài gửi : 162
Xu bạn hiện có là : 490
Số lần được thanks : 3
Join date : 17/05/2012
Age : 34
Đến từ : Quỳnh lưu - Nghệ An
Humor : Mình sẽ làm Được !

Bài gửiTiêu đề: Nguyên tắc hoạt động CPU

Tìm hiểu về cách làm việc của CPU

Tuy mỗi một bộ vi xử lý đều có thiết kế của riêng nhưng tất cả đều có cùng một nguyên lý chung – đây chính là thứ mà chúng tôi muốn giới thiệu đến các bạn trong bài này. Chúng tôi sẽ giới thiệu đến kiến trúc CPU chung nhất để các bạn có thể hiểu thêm về các sản phẩm của Intel và AMD cũng như những khác nhau cơ bản giữa chúng.
Tìm hiểu về cách làm việc của CPU

[You must be registered and logged in to see this image.]

CPU (Central Processing Unit) – cũng được gọi là microprocessor hay processor – là một đơn vị xử lý dữ liệu trung tâm. Cách nó xử lý dữ liệu như thế nào hoàn toàn phụ thuộc vào chương trình được viết từ trước. Chương trình nói chung có thể là một bảng tính, một bộ xử lý từ hay một game nào đó: với CPU cũng không có điều gì khác biệt ở điểm này, vì nó không hiểu những gì chương trình sẽ thực hiện. Nó chỉ tuân theo các thứ tự (được gọi là các chỉ lệnh hay các lệnh) có bên trong chương trình.

Khi bạn kích đúp vào một biểu tượng nào đó để chạy chương trình thì những gì sẽ xảy ra là:

1. Chương trình đã lưu bên trong ổ đĩa cứng sẽ được đưa vào bộ nhớ RAM. Ở đây chương trình chính là một loạt các chỉ lệnh đối với CPU.

2. CPU sử dụng mạch phần cứng được gọi là memory controller để tải dữ liệu chương trình từ bộ nhớ RAM.

3. Lúc đó dữ liệu bên trong CPU sẽ được xử lý.

4. Những gì diễn ra tiếp theo sẽ phụ thuộc vào chương trình vừa được nạp. CPU có thể tiếp tục tải và thực thi chương trình hoặc có thể thực hiện một công việc nào đó với dữ liệu đã được xử lý, như việc hiển thị kết quả thực hiện nào đó lên màn hình.

[You must be registered and logged in to see this image.]

Hình 1: Dữ liệu được lưu đưa vào CPU

Trước đây, CPU điều khiển sự truyền tải dữ liệu giữa ổ đĩa cứng và bộ nhớ RAM. Vì ổ đĩa cứng thường có tốc độ truy cập thấp hơn so với bộ nhớ RAM nên nó làm chậm chung cho cả hệ thống, chính vì vậy CPU sẽ rất bận cho tới khi dữ liệu đã được truyền tải từ ổ đĩa cứng vào bộ nhớ RAM. Phương pháp này được gọi là PIO, Processor I/O (hay Programmed I/O). Ngày nay, sự truyền tải dữ liệu giữa ổ đĩa cứng và bộ nhớ RAM được thực hiện mà không sử dụng đến CPU, như vậy nó sẽ làm cho hệ thống hoạt động nhanh hơn. Phương pháp này được gọi là bus mastering hay DMA (Direct Memory Access). Để đơn giản hóa hơn cho hình vẽ, chúng tôi không đưa vào chip cầu nối (được gọi là north bridge chip) giữa ổ đĩa cứng và bộ nhớ RAM trên hình 1, tuy nhiên là có một chip đó tại vị trí nối này.

Các bộ vi xử lý của AMD dựa trên sockets 754, 939 và 940 (Athlon 64, Athlon 64 X2, Athlon 64 FX, Opteron và một số mô hình Sempron) có một memory controller được nhúng bên trong. Điều đó có nghĩa rằng với các bộ vi xử lý này, CPU truy cập bộ nhớ RAM một cách trực tiếp mà không sử dụng north bridge chip như thể hiện trên hình 1.

Để hiểu tốt hơn về vai trò của chipset trong máy tính, bạn cũng nên tham khảo thêm các hướng dẫn của chúng tôi nói về chipset.

Clock

Clock chính là một tín hiệu được sử dụng để đồng bộ hóa mọi thứ bên trong máy tính. Hãy xem trong hình 2, đây chính là một xung clock điển hình: nó là một xung hình vuông biến thiên ở mức “0” và “1” với một tốc độ được cố định. Trên hình vẽ bạn có thể thấy 3 chu kỳ của xung clock này. Bắt đầu của mỗi một chu kỳ khi tín hiệu clock biến thiên từ “0” lên “1”; chúng tôi đã đánh dấu nó bằng một mũi tên. Tín hiệu clock được đo theo đơn vị có tên gọi là Hertz (Hz), đây là số chu kỳ clock trong mỗi giây đồng hồ. Một xung clock 100MHz có nghĩa là trong một giây đồng hồ có 100 triệu chu kỳ xung nhịp.

[You must be registered and logged in to see this image.]

Hình 2: Tín hiệu xung clock

Trong máy tính, tất cả các bộ định thời đều được đo dưới dạng các chu kỳ clock. Ví dụ, một bộ nhớ RAM có độ trễ là “5” thì điều đó có nghĩa là nó sẽ giữ chậm 5 chu kỳ xung nhịp để thực hiện công việc cung cấp dữ liệu. Trong CPU, tất cả các chỉ lệnh giữ chậm một số chu kỳ xung clock nào đó để được thực thi. Ví dụ, một chỉ lệnh nào đó có thể được giữ chậm đến 7 chu kỳ xung clock để được thực thi xong.

Với CPU, điều thú vị là nó biết được bao nhiêu chu kỳ xung clock mà mỗi chỉ lệnh cần, nó biết được điều này bởi nó giữ một bảng liệt kê các thông tin này. Chính vì vậy nếu nó có hai chỉ lệnh được thực thi và nó biết rằng chỉ lệnh đầu tiên sẽ giữ chậm 7 chu kỳ xung clock để thực thi thì nó sẽ tự động thực thi chỉ lệnh kế tiếp vào chu kỳ clock thứ 8. Rõ ràng đây là một cách lý giải chung cho CPU với một khối thực thi – các bộ vi xử lý hiện đại có một số khối thực thi làm việc song song và nó có thể thực thi chỉ lệnh thứ hai tại cùng thời điểm với chỉ lệnh đầu. Điều này được gọi là kiến trúc “superscalar”, chúng ta sẽ nó kỹ hơn về kiến trúc này phần sau của bài này.

Vậy clock phải thực hiện gì với hiệu xuất? Nghĩ rằng clock và hiệu suất là cùng một thứ là một khái niệm hoàn toàn sai về các bộ vi xử lý.

Nếu bạn so sánh hai CPU giống nhau, CPU nào chạy ở tốc độ clock cao hơn sẽ nhanh hơn. Trong trường hợp này, với một tốc độ clock cao hơn, thời gian giữa mỗi chu kỳ clock sẽ ngắn hơn, vì vậy những công việc sẽ được thực thi tốn ít thời gian hơn và hiệu xuất sẽ cao hơn. Tuy nhiên khi so sánh hai bộ bộ vi xử lý khác nhau thì điều này hoàn toàn không đúng.

Nếu bạn lấy hai bộ vi xử lý có kiến trúc khác nhau – ví dụ, khác nhau về nhà sản xuất như Intel và AMD – những thứ bên trong hai CPU này là hoàn toàn khác nhau.

Như chúng tôi đã đề cập, mỗi chỉ lệnh cần đến một số chu kỳ clock nhất định để được thực thi. Chúng ta hãy nói rằng bộ vi xử lý “A” cần đến 7 chu kỳ clock để thực thi một chỉ lệnh nào đó và bộ vi xử lý “B” cần 5 chu kỳ clock để thực hiện một chỉ lệnh tương tự. Nếu chúng đang chạy với cùng một tốc độ clock thì bộ vi xử lý “B” sẽ nhanh hơn, vì nó có thể xử lý chỉ lệnh này tốn ít thời gian hơn.

Với các CPU hiện đại, có nhiều vấn đề cần phải xem xét đến hiệu xuất này, vì các CPU có số lượng khối thực thi khác nhau, kích thước cache khác nhau, các cách truyền tải dữ liệu bên trong CPU cũng khác nhau, cách xử lý các chỉ lệnh bên trong các khối thực thi và tốc độ clock khác nhau với thế giới thực bên ngoài,… Tuy nhiên bạn không cần phải lo lắng về điều đó, chúng tôi sẽ giới thiệu chúng trong hướng dẫn này.

Khi tín hiệu clock của bộ vi xử lý cao thì có một vấn đề mà chúng ta gặp phải. Bo mạch chủ, nơi mà bộ vi xử lý được cài đặt không thể làm việc bằng cách sử dụng cùng tín hiệu clock. Nếu xem bo mạch chủ, bạn sẽ thấy một số đường và rãnh. Các đường và rãnh này là những mạch in nối một số mạch của máy tính. Vấn đề ở đây là với tốc độ clock cao, các dây mạch in này sẽ bắt đầu làm việc như anten, chính vì vậy tính hiệu, thay vì đến vị trí cần đến ở phía cuối đầu dây lại biến mất, được truyền đi như các sóng vô tuyến.

[You must be registered and logged in to see this image.]

Hình 3: Mạch in bên trên bo mạch chủ có thể làm việc như các anten

External Clock

Vì vậy các nhà sản xuất CPU đã bắt đầu sử dụng một khái niệm mới, khái niệm được gọi là nhân xung clock, ứng dụng này bắt đầu được sử dụng trong bộ vi xử lý 486DX2. Với cơ chế này (được sử dụng trong tất cả các CPU ngày nay), CPU có một clock ngoài (external clock) được sử dụng khi truyền tải dữ liệu vào ra bộ nhớ RAM (sử dụng north bridge chip) và một clock trong cao hơn.

Để đưa ra một ví dụ thực, trong số 3.4 GHz Pentium 4 thì con số “3.4 GHz” chính là clock trong của CPU, clock này đạt được bằng cách nhân 17 với clock ngoài là 200 của nó. Mô phỏng ví dụ này trong hình 4.

[You must be registered and logged in to see this image.]

Hình 4: Clock trong và ngoài trên Pentium 4 3.4 GHz.

Sự khác nhau lớn giữa clock trong và clock ngoài trên các CPU hiện đại là cách vượt qua nhược điểm từ tính như đã nói trên để tăng hiệu suất máy tính. Tiếp tục với ví dụ về Pentium 4 3.4 GHz ở trên, nó phải giảm tốc độ của nó đi 17 lần khi thực hiện đọc dữ liệu từ bộ nhớ RAM! Trong suốt quá trình này, nó làm việc như một CPU với tốc độ 200MHz.

Một số kỹ thuật được sử dụng để tối thiểu hóa ảnh hưởng của sự khác nhau clock này. Một trong số chúng là sử dụng cache nhớ bên trong CPU. Phương pháp khác là truyền tải nhiều khối dữ liệu trên mỗi một chu kỳ clock. Các bộ vi xử lý của hai hãng Intel và AMD đều sử dụng tính năng này, tuy nhiên trong khi CPU của AMD truyền tải hai dữ liệu trên một chu kỳ clock thì các CPU của Intel truyền tải 4 dữ liệu trên mỗi chu kỳ.

[You must be registered and logged in to see this image.]

Hình 5: Truyền tải nhiều dữ liệu trên mỗi chu kỳ clock

Chính vì điều đó nên các CPU của AMD được liệt vào loại có tốc độ gấp hai clock ngoài thực. Ví dụ, một CPU của AMD với external clock là 200MHz được liệt vào CPU có clock ngoài là 400MHz. Điều tương tự cũng được áp dụng đối với các CPU của Intel, với external clock là 200MHz thì CPU của nó sẽ có tốc độ clock ngoài là 800Mhz.

Kỹ thuật truyền tải hai dữ liệu trên mỗi một chu kỳ clock được gọi là DDR (Dual Data Rate), còn kỹ thuật truyền tải 4 dữ liệu trên một chu kỳ clock được gọi là QDR (Quad Data Rate).

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn Đàn | Điện Tử Viễn Thông | Công Nghệ Thông Tin :: Chuyên nghành công nghệ thông tin :: PHẦN CỨNG MÁY TÍNH :: Bộ vi xử lý-