Một đánh dấu CPU là gì?


37

Câu hỏi:

  • Làm thế nào một đánh dấu CPU được tính toán và nó đại diện cho cái gì?
  • Có phải một đơn ticktương đương 10 milisecondsnhư vậy nếu một số luồng được báo cáo không được gọi là ( 5 * 10 ticks = 500 ticks) có nghĩa là CPU có thể quá bận để lên lịch cho các luồng đã nói ở trên không hoạt động ?

1
bạn có thể đặt "CPU tick" trong ngữ cảnh - có thể cắt và dán đoạn của nguồn của cụm từ. Tôi lo ngại rằng có thể có sự nhầm lẫn giữa một trong nhiều câu trả lời có thể.
Mick

Câu trả lời:


31

Một đánh dấu là một đơn vị tùy ý để đo thời gian hệ thống nội bộ. Thường có một bộ đếm hệ điều hành nội bộ cho bọ ve; thời gian và ngày hiện tại được sử dụng bởi các chức năng khác nhau của HĐH được lấy từ bộ đếm đó.

Bao nhiêu mili giây mà một dấu tích đại diện phụ thuộc vào HĐH và thậm chí có thể khác nhau giữa các lần cài đặt. Sử dụng các cơ chế của HĐH để chuyển đổi tích tắc thành giây.

Về lý do tại sao một luồng báo cáo nó không được gọi: Điều đó sẽ phụ thuộc vào việc luồng có bị chặn ở đâu đó không (chờ, I / O, v.v.). Nếu nó không bị chặn, thì có, bộ lập lịch của HĐH sẽ quyết định khi nào nó chạy, có thể là một thời gian dài nếu hệ thống bận.

Chỉnh sửa:

Lưu ý rằng, có lẽ không may, một số tác giả cũng sử dụng tick làm từ đồng nghĩa cho chu kỳ xung nhịp của bộ xử lý (ví dụ văn bản này ). Tôi tin rằng việc sử dụng này ít phổ biến hơn, nhưng vẫn, tốt nhất để tìm hiểu đầu tiên những gì mọi người đang nói về.


Vì vậy, CPU yêu cầu một số lượng đồng hồ cố định để thực hiện mỗi lệnh?
Aaron

1
@aaron: không, thời gian thực hiện lệnh được ràng buộc với một số chu kỳ bộ xử lý nhất định. được cung cấp một hệ điều hành cụ thể trên một CPU cụ thể chạy ở tần số cụ thể, bạn có thể tính toán có bao nhiêu tích tắc mà một lệnh cụ thể cần thực hiện, nhưng phép tính đó không nhất thiết hợp lệ đối với bất kỳ sự kết hợp nào giữa OS / CPU / tần số / lệnh.
quixote quixote

1
@Aaron: Không, tick và chu kỳ bộ xử lý là hai khái niệm khác nhau. Chiều dài chu kỳ của bộ xử lý được xác định bởi phần cứng (tần số CPU); tick được HĐH sản xuất và sử dụng bất kỳ độ dài nào mà HĐH (hoặc nhà thiết kế của nó) cho là phù hợp.
sleske

Không sử dụng datetime.ticks () làm thước đo, nó được cố tình cố định theo thiết kế, để thể hiện ngày và thời gian của đối tượng đó. Nó phụ thuộc vào thời gian, trong khi tick phần cứng không phụ thuộc vào thời gian. Đó là đặt tên xấu trên phần của khung.
đảo ngược

1
@sleske Hmmm Tôi thấy sự khác biệt. 'tick' từng là từ đồng nghĩa với các chu kỳ CPU, cũng như một thuật ngữ cho "một lượng thời gian không đổi độc lập với tốc độ xung nhịp của CPU". Cùng một thuật ngữ với hai ý nghĩa. Có đúng không?
đảo ngược

3

Chỉnh sửa: Lấy từ Phần cứng PC trong một Nutshell :

"Đồng hồ bộ xử lý điều phối tất cả các hoạt động của CPU và bộ nhớ bằng cách định kỳ tạo tín hiệu tham chiếu thời gian gọi là chu kỳ đồng hồ hoặc đánh dấu . Tần số đồng hồ được chỉ định bằng gigahertz (GHz), chỉ định hàng tỷ tick mỗi giây. Tốc độ đồng hồ xác định cách thực hiện các lệnh nhanh. Một số hướng dẫn yêu cầu một đánh dấu, một số khác đánh dấu và một số bộ xử lý thực hiện nhiều hướng dẫn trong một tích tắc. "


Thời gian giữa các lần đánh dấu được xác định bởi tốc độ đồng hồ của bạn và phải mất từ ​​một đến nhiều lần đánh dấu tùy thuộc vào OP được thực hiện. Ví dụ, CPU lớp 286 cần 20 tick để nhân hai số.

Nếu bạn cần bộ tính giờ hiệu suất cao, thì tôi không nghĩ bạn có thể dựa vào số lượng bọ không đổi trên tất cả các hệ thống.

Bộ lập lịch CPU có thể đã trì hoãn luồng, đặc biệt nếu có một luồng khác có mức ưu tiên cao hơn. Vì vậy, có, CPU có thể đã quá bận rộn.


4
-1 Bạn đang nhầm lẫn tick và chu kỳ xử lý. tickstrên hệ thống Unix thường xảy ra 60 hoặc 100 lần mỗi giây và không bị ràng buộc với tốc độ Proc.
sleske

1
Tôi đang nói về ve phần cứng. CPU 1hz xử lý 1 tick (chu kỳ) mỗi giây, 200Hz có thể xử lý 200 chu kỳ mỗi giây, 2GHz hai tỷ chu kỳ / giây. CPU của bạn càng nhanh, bạn càng nhận được nhiều chu kỳ / giây.
đảo ngược

2
Ah, tôi thấy, một số tác giả sử dụng ticknhư một từ đồng nghĩa cho processor cycle. Tuy nhiên, tôi chủ yếu thấy tickđược sử dụng như được giải thích trong câu trả lời của tôi ở trên. Nhưng tôi đoán thuật ngữ khác nhau, như thường lệ :-(. Tôi đã chỉnh sửa câu trả lời của mình.
sleske
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.