Khác biệt giữa bản sửa đổi của “Ngôn ngữ máy”

Nội dung được xóa Nội dung được thêm vào
n sửa chính tả, replaced: Thí dụ → Ví dụ (2) using AWB
Dòng 10:
Một tập chỉ thị có thể có độ dài chỉ thị thống nhất hay biến động. Cách các bit được sắp xếp thay đổi rất lớn giữa các kiến trúc khác nhau hay các loại chỉ thị khác nhau. Hầu hết các chỉ thị có một hay nhiều vùng mã vận hành để phân biệt các chỉ thị cơ sở (như tính toán hay nhảy) và các chỉ thị thực (như cộng hay so sánh), và các vùng khác biểu diễn loại toán hạng, phương thức biểu diễn địa chỉ, các chỉ số địa chỉ hay các giá trị thực (các toán hạng hằng được chứa trong chỉ thị như vậy được gọi là ''giá trị tức thời).''
 
Không phải tất cả các máy tính hay chỉ thị đơn lẻ đều có toán hạng hiện (rõ ràng). Một máy tính thanh chứa có sự kết hợp giữa toán hạng trái và kết quả tính toán lưu trong một thanh chứa ẩn đối với hầu hết các chỉ thị đại số. Một số kiến trúc khác (như 8086 hay x86) có phiên bản sử dụng thanh chứa của các chỉ thị thông dụng, và thanh chứa được xem như là một trong những thanh ghi tổng quát nhất của chỉ thị dài. Trong khi đó, một máy tính ngăn xếp lại lưu hầu hết các toán hạng trong một ngăn xếp ẩn. Những chỉ thị chuyên biệt cũng thường thiếu toán tử hiện (ví dụ, vi xử lí ID trong kiến trúc x86 ghi giá trị vào bốn thanh ghi địa điểm ẩn). Sự khác biệt giữa toán tử hiện và ẩn cho phép sử dụng nhiều hơn hằng số có phạm vi rộng, 'uốn nắn' các thanh ghi liên tục (lưu giá trị hằng số khác đè lên giá trị đã có của thanh ghi) và rất nhiều ưu điểm vượt trội khác.
 
== Chương trình ==
Dòng 18:
 
== Hợp ngữ ==
[[Hợp ngữ]], một phiên bản gần hơn với ngôn ngữ tự nhiên của ngôn ngữ máy, sử dụng những kí hiệu dễ nhớ để thể hiện các chỉ thị mã máy, thay vì sử dụng trực tiếp các chuỗi nhị phân. Thí dụ, trên vi xử lí Zilog Z80, mã nhị phân <code>00000101</code> , dùng để giảm giá trị của thanh ghi <code>B</code> của vi xử lí, được viết bằng hợp ngữ như sau <code>DEC B</code>.
 
== Thí dụ ==
[[MIPS|Kiến trúc MIPS]] là một ví dụ điển hình cho ngôn ngữ máy có chỉ thị dài 32 bits. Những chỉ thị này được tạo bởi những vùng toán tử, dài nhất là 6 bits. Chỉ thị loại J (J-type) và loại I (I-type) được đặc trưng hoàn toàn bởi toán tử. Chỉ thị loại R (R-type) thì có thêm vùng ''hàm'' để quyết định toán tử chính xác. Những vùng được sử dụng trong các loại này gồm:
6 5 5 5 5 6 bits
Dòng 52:
Kiến trúc Harvard là kiến trúc máy tính có các bộ nhớ riêng lẻ và các đường tín hiệu cho mã (chỉ thị) và dữ liệu. Ngày nay, phần lớn vi xử lý được cài đặt như là những đường tín hiệu để cải thiện hiệu năng (thật ra là kiến trúc Modified Harvard), nhờ đó chúng có thể hỗ trợ các thao tác như tải chương trình từ ổ cứng giống như dữ liệu và thực thi nó. Kiến trúc Harvard trái ngược hoàn toàn so với kiến trúc Von Neumann: dữ liệu và mã được lưu vào cùng bộ nhớ, và vi xử lý đọc chúng giúp máy tính thực thi các lệnh.
 
Nhìn dưới góc độ của một tiến trình, ''không gian chứa mã'' là một phần không gian địa chỉ của tiến trình lưu trữ các mã đang thực thi. Trong các hệ thống đa nhiệm, nơi này gồm có các đoạn mã của chương trình và (thường xuyên) các thư viện được chia sẻ. Trong môi trường đa luồng ,các luồng khác nhau của một tiến trình chia sẻ không gian chứa mã cùng với không gian chứa dữ liệu, nhờ đó giảm được phí tổn của việc chuyển ngữ cảnh khá nhiều so với việc chuyển tiến trình.
 
== Khả năng đọc hiểu ngôn ngữ máy của con người ==
Dòng 71:
* {{cite book
|first = J. Glenn|last = Brookshear|title = Computer Science: An Overview|publisher = Addison Wesley|isbn = 0-321-38701-5}}
* [http://humanmachinecode.vervex.ca/ Human Machine Code, June 2015 Edition]

[[Thể loại:Ngôn ngữ máy| ]]
[[Thể loại:Kiến trúc máy tính]]
[[Thể loại:Hợp ngữ]]