Hướng dẫn

Các chủ đề của một bộ xử lý là gì? sự khác biệt với hạt nhân

Mục lục:

Anonim

Trong bài viết này, chúng tôi sẽ dành một chút thời gian để giải thích các luồng của bộ xử lý hay còn gọi là các luồng trong tiếng Anh hoặc các luồng lập trình, để xác định sự khác biệt cơ bản giữa các lõi này và các lõi của bộ xử lý. Trong số những người ít chuyên gia và thậm chí là người dùng cao cấp hơn, vẫn còn khá nhiều nhầm lẫn về chủ đề này. Đó là lý do tại sao chúng tôi đã đặt ra để làm rõ các điều khoản này trong phạm vi có thể.

Khái niệm xử lý luồng này không cần thiết phải biết khi mua bộ xử lý cho người dùng bình thường. Trong hầu hết các trường hợp, tốt hơn ít hơn, điều đó gần như luôn luôn đúng. Nơi chúng ta cần biết các chủ đề là gì, trong công việc phát triển chương trình. Tùy thuộc vào cách ứng dụng được lập trình và biên dịch, nó sẽ có khả năng thực thi tối ưu hơn cho các bộ xử lý có nhiều luồng hơn lõi. Và đây là nơi chúng tôi sẽ cố gắng để giải thích.

Chỉ số nội dung

Các lõi của bộ xử lý là gì

Chúng tôi sẽ bắt đầu bằng cách giải thích các lõi của bộ xử lý của chúng tôi, vì vậy chúng tôi sẽ có kiến ​​thức trước để không bị nhầm lẫn.

Chúng tôi biết rằng bộ xử lý chịu trách nhiệm thực hiện và thực hiện các hướng dẫn của các chương trình được tải trong bộ nhớ RAM của máy tính của chúng tôi. Thực tế tất cả các hướng dẫn cần thiết để thực hiện các tác vụ thông thường trên PC của chúng tôi, điều hướng, viết, xem ảnh, v.v. Trong phần vật lý, bộ xử lý là một mạch tích hợp được tạo thành từ hàng triệu bóng bán dẫn tạo thành các cổng logic để vượt qua hoặc không truyền các bit dữ liệu dưới dạng năng lượng, mà không cần phải quảng cáo thêm.

Chà, con chip nhỏ này chứa các mô-đun khác nhau mà chúng ta có thể gọi là hạt nhân, ngoài các yếu tố khác mà chúng ta không quan tâm bây giờ. Bộ xử lý vài năm trước chỉ có một trong số các lõi này và có thể xử lý một lệnh trong mỗi chu kỳ. Các chu kỳ này được đo bằng Megahertz (MHz), càng nhiều MHz, chúng ta càng có thể thực hiện nhiều hướng dẫn mỗi giây.

Bây giờ chúng tôi không chỉ có một lõi, mà nhiều. Mỗi lõi đại diện cho một bộ xử lý con, nghĩa là, mỗi bộ vi xử lý này sẽ thực thi một trong các hướng dẫn này, do đó có thể thực thi một vài trong số chúng trong mỗi chu kỳ xung nhịp với CPU đa lõi. Nếu chúng ta có bộ xử lý 4 lõi, chúng ta có thể thực hiện đồng thời 4 lệnh thay vì chỉ một. Vì vậy, cải thiện hiệu suất là tăng gấp bốn lần. Nếu chúng ta có 6, thì 6 hướng dẫn cùng một lúc. Đây là cách bộ xử lý hiện tại mạnh hơn nhiều so với bộ xử lý cũ.

Và hãy nhớ rằng, các lõi này có mặt vật lý trong bộ xử lý của chúng tôi, nó không phải là thứ gì đó ảo hoặc được tạo bởi mã.

Xử lý chủ đề là gì?

Chủ đề, chủ đề hoặc chủ đề không phải là một phần vật lý của bộ xử lý, ít nhất là khi nói đến nhiều lõi hơn hoặc một cái gì đó tương tự.

Chúng ta có thể định nghĩa một luồng xử lý là luồng điều khiển dữ liệu của một chương trình. Nó là một phương tiện cho phép quản lý các tác vụ của bộ xử lý và các lõi khác nhau theo cách hiệu quả hơn. Nhờ các luồng, các đơn vị phân bổ tối thiểu, là các tác vụ hoặc quy trình của chương trình, có thể được chia thành các phần để tối ưu hóa thời gian chờ của mỗi lệnh trong hàng đợi quy trình. Những khối này được gọi là chủ đề hoặc chủ đề.

Nói cách khác, mỗi luồng xử lý chứa một phần của nhiệm vụ sẽ được thực hiện, một cái gì đó đơn giản để thực hiện hơn là nếu chúng ta giới thiệu nhiệm vụ hoàn chỉnh trong hạt nhân vật lý. Theo cách này , CPU có thể xử lý một số tác vụ cùng một lúc và đồng thời, trên thực tế, nó sẽ có thể thực hiện nhiều tác vụ như nó có các luồng và thường có một hoặc hai cho mỗi lõi. Trong các bộ xử lý có ví dụ 6 lõi và 12 luồng, họ sẽ có thể chia các tiến trình thành 12 nhiệm vụ khác nhau thay vì chỉ 6.

Cách làm việc này làm cho tài nguyên hệ thống được quản lý công bằng và hiệu quả hơn. Bạn biết đấy… anh ấy chia rẽ và bạn sẽ chiến thắng cả cuộc đời. Những bộ xử lý này được gọi là đa luồng. Hiện tại, điều chúng ta phải rõ ràng là bộ xử lý có 12 luồng sẽ không có 12 lõi, các lõi là thứ gì đó có nguồn gốc vật lý và các luồng có nguồn gốc logic.

Điều đó chắc chắn đã hơi trừu tượng và khó hiểu, vì vậy hãy xem nó dịch như thế nào nếu chúng ta nói về kiến ​​trúc của một chương trình trên máy tính của chúng ta.

Chương trình, quy trình và chủ đề

Chúng ta đều biết chương trình là gì, đó là một mã được lưu trữ trong máy tính của chúng ta và đó là định mệnh để thực hiện một nhiệm vụ cụ thể. Một ứng dụng là một chương trình, một trình điều khiển cũng là một chương trình và thậm chí hệ điều hành là một chương trình có khả năng thực thi các chương trình khác bên trong nó. Tất cả chúng được lưu trữ ở dạng nhị phân, vì bộ xử lý chỉ hiểu những cái và số không, hiện tại / không hiện tại.

Các quy trình của chương trình

Để chạy một chương trình, nó được tải vào bộ nhớ, RAM. Chương trình này được tải bởi các quy trình, mang mã nhị phân liên quan của nó và các tài nguyên mà nó cần để vận hành, sẽ được hệ điều hành gán một cách "thông minh".

Các tài nguyên cơ bản mà một quy trình cần là một bộ đếm chương trình và một chồng các bản ghi.

  • Bộ đếm chương trình (CP): nó được gọi là con trỏ lệnh và nó theo dõi chuỗi các lệnh đang được xử lý. Các thanh ghi: nó là một kho nằm trong bộ xử lý nơi một lệnh, địa chỉ lưu trữ hoặc bất kỳ dữ liệu nào khác có thể được lưu trữ. Ngăn xếp: đó là cấu trúc dữ liệu lưu trữ thông tin liên quan đến các phiên bản mà chương trình đã hoạt động trong máy tính.

Sau đó, mỗi chương trình được chia thành các quy trình và được lưu trữ ở một nơi nhất định trong bộ nhớ. Ngoài ra, mỗi quy trình chạy độc lập và điều này rất quan trọng để hiểu bởi vì đây là cách bộ xử lý và hệ thống có khả năng thực thi nhiều tác vụ cùng một lúc, cái mà chúng ta gọi là hệ thống đa nhiệm. Hệ thống xử lý này là thủ phạm khiến chúng ta có thể tiếp tục làm việc trên PC của mình, ngay cả khi một chương trình đã bị chặn.

Các chủ đề của một quá trình

Đây là nơi các luồng xử lý, được gọi là luồng trong hệ điều hành, xuất hiện. Một chủ đề là đơn vị thực hiện của một quá trình. Chúng ta có thể chia quá trình thành các luồng và mỗi luồng sẽ là một luồng thực thi.

Nếu một chương trình không đa luồng, các quy trình bên trong nó sẽ chỉ có một luồng, vì vậy chúng chỉ có thể được xử lý tại một thời điểm. Ngược lại, nếu chúng ta có các quy trình đa luồng, chúng có thể được chia thành nhiều phần và mỗi luồng đó chia sẻ các tài nguyên được gán cho quy trình. Vì vậy, chúng tôi đã nói rằng đa luồng là hiệu quả hơn.

Ngoài ra, mỗi luồng có ngăn xếp các bản ghi riêng để hai hoặc nhiều trong số chúng có thể được xử lý cùng một lúc, không giống như một quy trình đơn lẻ, sẽ phải được chạy cùng một lúc. Chủ đề là các nhiệm vụ đơn giản hơn cho phép bạn chạy một quy trình theo cách phân chia. Và đây về cơ bản là chức năng cuối cùng của các luồng xử lý. Càng nhiều luồng, sự phân chia các quá trình càng lớn và khối lượng tính toán đồng thời càng lớn và do đó, hiệu quả càng lớn.

Chúng tôi vẫn chưa kết thúc, chúng tôi vẫn còn câu hỏi đang chờ xử lý Điều gì xảy ra sau đó với lõi có một luồng kép ? Chúng tôi đã nói rằng mỗi hạt nhân có khả năng thực hiện một lệnh duy nhất tại một thời điểm. CPU có một thuật toán phức tạp để phân chia thời gian thực hiện theo cách hiệu quả nhất có thể, do đó gán cho mỗi tác vụ một khoảng thời gian thực hiện nhất định. Sự thay đổi giữa các nhiệm vụ quá nhanh, nó sẽ mang lại cảm giác rằng hạt nhân thực thi các nhiệm vụ song song.

Chúng ta có thể thấy những chủ đề hoặc chủ đề trong hệ thống?

Không phải là một cách quá chi tiết, nhưng vâng, chúng ta có thể thấy chúng, cả trên Windows và Mac.

Trong trường hợp của Windows, chúng tôi sẽ chỉ phải mở trình quản lý tác vụ và chuyển đến " hiệu suất ". Sau đó, chúng tôi sẽ nhấp vào liên kết theo dõi tài nguyên của Wap bên dưới. Trong cửa sổ mới này, chúng ta sẽ có mỗi quá trình được chia thành mức tiêu thụ CPU và luồng, đây sẽ là các luồng.

Trong trình giám sát hoạt động của Mac, chúng ta sẽ có các luồng được liệt kê trên màn hình chính.

Điều này kết luận bài viết của chúng tôi về các chủ đề xử lý CPU là gì. Đây chắc chắn là một chủ đề hơi phức tạp để giải thích và khá trừu tượng, đặc biệt đối với người dùng không hiểu đầy đủ về cách thức hoạt động của bộ xử lý. Nhưng trong trường hợp này, chúng tôi có một tin tốt bởi vì chúng tôi cũng có một bài viết khá hay nói về cách bộ xử lý hoạt động và toàn bộ chu trình hướng dẫn được thực hiện.

Ghé thăm bài viết của chúng tôi về:

Chúng tôi hy vọng rằng mọi thứ đã ít nhiều rõ ràng và chúng tôi đánh giá cao rằng bạn đã chọn chúng tôi để biết thêm về chủ đề này.

Hướng dẫn

Lựa chọn của người biên tập

Back to top button