Tôi biết đây là một câu hỏi rất phổ biến. Nhưng tôi có một góc nhìn khác trong tâm trí. Tôi sẽ chỉ cố gắng nói rõ ở đây.
Từ những gì tôi biết, mọi lệnh mà CPU thực thi, đều bằng ngôn ngữ máy và tất cả CPU có thể làm là thực hiện một số thao tác số học nhờ ALU và các bóng bán dẫn của nó (nếu chúng ta đi ở cấp độ phần cứng).
Tuy nhiên điều này dễ gõ hơn là hiểu nó. Vì vậy, nếu tất cả CPU thực hiện thêm, trừ, v.v., thì chương trình JAVA nói như thế nào là in Hello World, được thực hiện với các phép toán số học này?
Ý tôi là làm thế nào chương trình này được chuyển đổi thành một cái gì đó chỉ là một bổ sung cho CPU?
PS Nếu câu hỏi này không áp dụng cho trang web này thì tôi xin lỗi.
-----Phần hai-----
Được chứ. Cảm ơn tất cả đã trả lời nhanh và với sự nhiệt tình này. Tôi nghĩ tốt hơn là sửa đổi câu hỏi của mình một chút hơn là đi và bình luận cho tất cả các câu trả lời và hỏi lại họ.
Vì vậy, đây là.
Đầu tiên, tất cả đã trả lời cụ thể ví dụ wrt của Hello World. Đây là lỗi của tôi. Tôi nên giữ cái chung này. Ví dụ Hello world đưa ra câu hỏi về các thiết bị đầu ra và cách xử lý của nó không chỉ giới hạn ở CPU, mà được đưa ra một cách chính xác trong câu trả lời của bạn.
Ngoài ra, nhiều bạn đã thông báo rằng CPU không chỉ bổ sung. Tôi đồng ý với điều đó. Tôi chỉ không viết nó và giả sử nó theo mọi cách. Từ những gì tôi hiểu, đây là quá trình:
đọc hướng dẫn từ bộ nhớ (sử dụng dữ liệu và địa chỉ bus và công cụ truy cập chương trình)
- lưu trữ dữ liệu trong thanh ghi bên trong CPU
- Bây giờ ALU thực hiện các phép toán số học, tất nhiên sau khi giải mã lệnh hoặc nhảy nếu nó giống như lệnh nếu
- Và sau đó liên lạc với các tài nguyên khác nếu cần như với thiết bị đầu ra, v.v. Các quy trình vượt quá điều này là tầm thường bây giờ.
Vì vậy, trong bước 3, nơi CPU giải mã một lệnh và quyết định thực hiện một phép toán số học (ở đây chúng tôi giả định rằng không có thao tác nào khác được thực hiện như nhảy lệnh hiện tại .. vì vậy, hầu hết các thao tác số học đều được thực hiện. ) Đây là nơi hình dung của tôi kết thúc. Làm thế nào một lệnh từ chương trình của tôi chỉ là một hoạt động số học cho CPU. Nó thực hiện thao tác số học và hướng dẫn đó phục vụ mục đích của nó.
Tôi hy vọng tôi làm cho mình rõ ràng thời gian này.
PS Tôi đang đưa ra một giả định lớn ở đây rằng ALU không bị hạn chế đối với hoạt động số học thực tế mà chúng tôi thực hiện trong các chương trình của mình, thay vào đó, nó thực hiện tất cả các hướng dẫn, hiện ở dạng nhị phân, bằng cách thêm hoặc bớt vv chúng để mang lại kết quả rằng chúng có nghĩa đến năng suất. Nếu tôi sai ở đây hơn câu trả lời dưới đây trả lời đúng câu hỏi của tôi.