Làm thế nào để bộ xử lý kiểm soát tốc độ đồng hồ của họ?


12

Gần đây tôi đã bắt gặp một bộ xử lý STM với 2 bộ dao động trên mạch - tôi cho rằng một bộ cho hoạt động tốc độ cao và bộ kia cho công suất thấp.

Đối với một cái gì đó giống như bộ xử lý máy tính để bàn, nơi tốc độ đồng hồ có thể được thay đổi thành bất kỳ tần số mong muốn (theo lý do) - làm thế nào để nó thực hiện điều này?


1
Như câu trả lời của alex chỉ ra, tần số CPU máy tính để bàn hiện đại không liên tục thay đổi. Nó thường đi theo các bước 100 hoặc 133 MHz. (Liên quan: CPU x86 hiện đại quyết định khi nào thay đổi tần số, cho "turbo" trên tốc độ định mức tối đa hoặc nếu HĐH trao toàn quyền kiểm soát quản lý năng lượng cho CPU (Intel Skylake): SKL có chế độ chết vi điều khiển có nhiều bóng bán dẫn như 486 đã làm, chỉ để đưa ra quyết định tần số: Tại sao vòng lặp trễ này bắt đầu chạy nhanh hơn sau vài lần lặp mà không ngủ?
Peter Cordes

Câu trả lời:


21

Điều này được thực hiện bằng cách sử dụng một thiết bị được gọi là vòng khóa pha hoặc PLL. Đây là sơ đồ khối của PLL cơ bản:

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Bộ tạo dao động trên bo mạch chủ không chạy ở tần số xung nhịp CPU, thay vào đó nó chạy ở tần số theo thứ tự 100 MHz. Bộ tạo dao động này chỉ phục vụ như một tần số tham chiếu ổn định đã biết. Bên trong CPU, tần số xung nhịp thực tế sẽ được tạo bởi bộ dao động điều khiển bằng điện áp , hoặc VCO. VCO có thể được điều chỉnh để tạo ra tần số trên một phạm vi tương đối rộng, nhưng bản thân nó không đặc biệt ổn định hoặc chính xác - đối với một điện áp điều khiển nhất định, tần số sẽ thay đổi theo từng phần và với điện áp và nhiệt độ cung cấp. Sau đó, một vòng khóa pha phục vụ để khóa tần số đầu ra VCO thành một mối quan hệ cụ thể với tần số tham chiếu.

fPFD= =fref/D= =fobạnt/Mfobạnt= =fref*M/D

Ví dụ: giả sử tần số tham chiếu là 100 MHz, tham chiếu được chia cho 1 (D) và VCO được chia cho 30 (M). Điều này sẽ dẫn đến tần số đầu ra là 100 MHz * 30/1 = 3 GHz. Mối quan hệ này có thể được thay đổi bằng cách thay đổi cài đặt bộ chia, có thể được thực hiện trong phần mềm thông qua các thanh ghi điều khiển. Lưu ý rằng việc thay đổi tần số khi đang bay có thể không đơn giản như chỉ thay đổi các giá trị chia, tần số phải được thay đổi theo cách để đảm bảo CPU không thấy bất kỳ 'trục trặc' hoặc xung đồng hồ nào quá ngắn. Có thể cần phải sử dụng 2 PLL và chuyển đổi giữa chúng hoặc tạm thời dừng đồng hồ hoặc chuyển sang nguồn đồng hồ khác cho đến khi PLL ổn định ở tần số mới.

PLL được sử dụng ở mọi nơi để tạo ra các tần số chính xác, dễ điều chỉnh từ các tham chiếu ổn định, cố định. Thẻ Wi-Fi và bộ định tuyến Wi-Fi của bạn sử dụng chúng để chọn kênh thích hợp bằng cách tạo ra tần số được gọi là tần số dao động cục bộ, tín hiệu được sử dụng bên trong radio để đảo ngược và chuyển đổi dữ liệu đã điều chế. Đài FM của bạn rất có thể sử dụng một để kích hoạt kiểm soát phần mềm theo tần số nhận, cho phép dễ dàng gọi lại các trạm khác nhau. PLL cũng được sử dụng để tạo tín hiệu đồng hồ tần số cao được sử dụng để điều khiển các bộ nối tiếp và bộ giải mã cho Ethernet, PCI express, ATA nối tiếp, Firewire, USB, DVI, HDMI, DisplayPort và nhiều giao thức nối tiếp hiện đại khác.


7

Ngoài những câu trả lời trước ...

Micro STM của bạn gần như chắc chắn có bộ dao động thứ hai cho đồng hồ thời gian thực. Điều này cho phép đồng hồ tiếp tục chạy (tiêu thụ năng lượng tối thiểu) trong khi phần còn lại của chip và phần còn lại của mạch bị tắt nguồn. Sau đó, thiết bị có thể giữ đồng hồ và lịch hoạt động, và thông thường nó cũng có thể khởi động lại bộ xử lý chính trên bộ hẹn giờ - tất cả những thứ hữu ích cho các thiết bị nhúng.


Đồng hồ thời gian thực thường chậm hơn nhiều so với đồng hồ chính (điển hình là 32kHz) và do đó, bộ dao động đồng hồ thời gian thực và tuần hoàn kèm theo có thể có mức tiêu thụ dòng điện rất thấp.
mkeith

@mkeith Tốc độ xung nhịp thấp rất quan trọng, chắc chắn, nhưng chủ yếu là vì hầu hết tất cả các bộ xử lý đều bị tắt.
Graham

Graham, câu hỏi ban đầu là về lý do tại sao có hai dao động. Về nguyên tắc, bạn có thể tắt máy một phần chỉ với một bộ dao động và bạn sẽ tiết kiệm được rất nhiều năng lượng theo cách đó. Lý do có một bộ dao động tốc độ thấp thứ hai là bởi vì mức tiêu thụ năng lượng động tương quan tuyến tính với tần số xung nhịp. Vì vậy, mức tiêu thụ năng lượng động của mạch 32kHz sẽ thấp hơn khoảng 300 lần so với mức tiêu thụ năng lượng động của mạch 10 MHz. Theo tôi, tốc độ đồng hồ giảm là một phần quan trọng của câu trả lời.
mkeith

@mkeith Đây không phải là "hiệu trưởng" - đó chính xác là cách nó hoạt động trên mọi chip với RTC. Tất nhiên phần RTC sử dụng bộ dao động tốc độ thấp hơn để tiết kiệm tốc độ. Nhưng phần RTC không bao giờ sử dụng đồng hồ dao động nhanh hơn - đó là một mạch hoàn toàn riêng biệt trên cùng một miếng silicon; và tương tự, phần còn lại của chip không bao giờ sử dụng đồng hồ dao động chậm hơn. Bản thân RTC sử dụng ít năng lượng hơn bằng cách chạy ở tốc độ xung nhịp chậm hơn, nhưng toàn bộ phần còn lại của chip bị tắt nguồn 100% và không có dòng điện bằng 0 (tốt, nanoamp của dòng rò, nhưng đó là tất cả).
Graham

1
@mkeith Chắc chắn, và tôi đồng ý (mặc dù tần số của tinh thể RTC trong lịch sử xuất phát từ các chuyển động cơ điện thạch anh trong đồng hồ và đồng hồ, không phải từ tiết kiệm điện trong điện tử). Tôi chỉ muốn làm rõ cho OP rằng đồng hồ chậm hơn không phải là chế độ "công suất thấp" trên bộ xử lý chính - nó dành cho một thiết bị ngoại vi hoàn toàn riêng biệt.
Graham

0

rất cẩn thận !

nhập mô tả hình ảnh ở đây

CPU có các bộ tổng hợp lập trình nhị phân và PLL với VCO để điều khiển bộ đếm để nó nhân lên xung nhịp bus phía trước, đồng hồ FSB (giả sử 100 MHz).
Chế độ tiết kiệm năng lượng động này được chọn tự động khi mức sử dụng CPU thấp với trình điều khiển CPU, CPU, HĐH và BIOS phù hợp.

I7 (8cpu) của tôi tăng từ 3101 MHz lên 800 MHz và ngay lập tức bước 1100, 1300,1500 ... vv

Nếu Bios chọn x31 như trong trường hợp của tôi, thì CPU chạy ở tốc độ 100 MHz x 3100 MHz và với bộ đếm nhị phân trong CPU chọn từ x8 đến x15 để giảm công suất CPU cùng lúc vì nó điều chỉnh điện áp chip CPU trong 0,9V khu vực tất cả để bảo tồn quyền lực.

Tôi có thể hiển thị với con trỏ ở góc trên bên phải trên Win8.1 cùng với %% CPU và bộ nhớ

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.