Trang chủ > OOP - JAVA > Máy vi tính hoạt động như thế nào? (P2)

Máy vi tính hoạt động như thế nào? (P2)

Bởi vì một nửa byte được hiện hữu là con số thập lục phân, do vậy hệ đếm thập lục phân là hình thức thể hiện ngôn ngữ máy tính của một chương trình thuận tiện hơn hệ nhị phân hay thập phân. Hình bên cạnh là một ví dụ minh họa về ngôn ngữ máy tính. Ở cột bên trái là địa chỉ tương đối của khoảng cách địa chỉ của chương trình được theo sau bởi một chuỗi các lệnh (mã và dữ liệu).r

Dĩ nhiên người ta có thể viết một chương trình bằng ngôn ngữ máy tính nhưng làm theo cách này rất mất công. Tuy nhiên, trong những giai đoạn đầu của ngành khoa học vi tính các chương trình được viết theo cách này.
Chương trình dịch hợp ngữ được giới thiệu – ngôn ngữ của sự biểu diễn bằng ký hiệu ngôn ngữ máy tính đã giúp lập trình viên giải quyết được vấn đề.
Từ đó trở đi, một chương trình được viết theo cách sau:
5830 D252 5A30 D256 5030 D260 Sau đó sẽ được viết lại theo cách đơn giản và dễ hiểu hơn:

Lệnh của chương trình dịch hợp ngữ (assembler)
Mô tả
L 3, X nạp số lượng nằm trong bộ nhớ tại địa chỉ biểu thị bởi X vào thanh ghi 3
A 3, Y số lượng lưu trong bộ nhớ tại địa chỉ biểu thị bởi Y thêm vào giá trị trong thanh ghi
ST 3, Z lưu lại giá trị ghi trong thanh ghi 3 trong vị trí bộ nhớ biểu thị bởi Z

Kiểu viết này (có thể được hiểu bởi con người) tuy nhiên lại không được hiểu bởi máy tính. Các chương trình đuợc viết bằng chương trình dịch hợp ngữ (assembler) phải được dịch sang ngôn ngữ máy tính (là một chuỗi các số nhị phân). Công việc này được thực hiện bởi một chuơng trình chuyên dụng – chương trình dịch chuyên đổi ngôn ngữ lập trình, translator (cũng đuợc gọi là chương trình dịch hợp ngữ)
Dù sao đi chăng nữa, lập trình bằng assembler cũng gây nhiều phiền toái. Tệ hơn nữa nó còn khiến cho lập trình viên phải  nhớ rất nhiều các chi tiết kỹ thuật (như loại thanh ghi, số hiệu, địa chỉ bộ nhớ), yêu cầu viết rất nhiều các chỉ dẫn rất đơn giản, không cho phép họ tập trung vào logic của vấn đề (đuợc giải quyết bởi chương trình đó).
Trên thực tế, chương trình trên tính tổng hai số (được biểu thị bởi X và Y) và lưu kết quả được biểu thị bởi Z. Vậy tại sao không thể viết đơn giản thành:
Z = X + Y

Đây là ngôn ngữ lập trình cấp độ cao hơn, thống nhất các chỉ dẫn, cú pháp và ngữ nghĩa từ nhiều chỉ dẫn đơn giản của chương trình dịch hợp ngữ, che đi các chi tiết kỹ thuật. Khác với chương trình dịch hợp ngữ, những ngôn ngữ này không phụ thuộc vào CPU. Sử dụng ngôn ngữ này người ta có thể viết: Z = X + Y, không phải lo lắng về thanh ghi, địa chỉ ổ nhớ tương đối của CPU.
Tuy nhiên việc sử dụng ngôn ngữ cao cấp hơn đòi hỏi phải có những công cụ tiết bộ để chuyển đổi mã nguồn của chương trình thành các chỉ dẫn có thể hiểu được đối với CPU như: chương trình biên dịch, compiler và/hoặc thông dịch, interpreter.

  1. Chưa có phản hồi.
  1. No trackbacks yet.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: