
Tài liệu Cấu trúc máy tính & Hợp ngữ Tổng quan về hệ thống máy tính
GV: Phạm Hùng Kim Khánh Trang 4
Cấp thứ 3 thường là cấp hỗn hợp. Hầu hết các lệnh trong ngôn ngữ của cấp máy
này cũng có trong ngôn ngữ cấp 2 và đổng thời có thêm một tập lệnh mới, một tổ chức bộ
nhớ khác và khả năng chạy 2 hay nhiều chương trình song song. Các lệnh mới thêm vào
sẽ được thực thi bằng một trình thông dịch chạy trên cấp 2, gọi là hệ điều hành. Nhiều
lệnh cấp 3 được thực thi trực tiếp do vi chương trình và một số lệnh khác được thông dịch
bằng hệ điều hành (do đó, cấp này là cấp hỗn hợp).
Cấp 4 thật sự là dạng tượng trưng cho một trong các ngôn ngữ. Cấp này cung cấp
một phương pháp viết chương trình cho các cấp 1, 2, 3 dễ dàng hơn. Các chương trình
viết bằng hợp ngữ được dịch sang các ngôn ngữ của cấp 1, 2, 3 và sau đó được thông dịch
bằng các máy ảo hay thực tương ứng.
Cấp 5 bao gồm các ngôn ngữ được thiết kế cho người lập trình nhằm giải quyết
một vấn đề cụ thể. Các ngôn ngữ này được gọi là cấp cao. Một số ngôn ngữ cấp cao như
Basic, C, Cobol, Fortran, Lisp, Prolog, Pascal và các ngôn ngữ lập trình hướng đối tượng
như C++, J++, … Các chương trình viết bằng các ngôn ngữ này thường được dịch sang
cấp 3 hay 4 bằng các trình biên dịch (compiler).
1.3. Quá trình phát triển của máy nhiều cấp
Các máy tính đầu tiên trong thập niên 40 chỉ có 2 cấp: cấp máy quy ước và cấp
logic số. Các lập trình viên phải làm việc trên cấp máy quy ước và chương trình được
thực thi trên cấp logic số. Trong thập niên 50, Wikes đề xuất ý tưởng thiết kế máy tính 3
cấp. Máy tính này có một trình thông dịch cài đặt sẵn, không thay đổi, có nhiệm vụ thực
thi các chương trình trong cấp máy quy ước. Như vậy, phần cứng chỉ thực thi các vi
chương trình với số lệnh giới hạn nên các mạch điện tử cũng đơn giản hơn.
Trình dịch hợp ngữ (assembler) và các trình biên dịch cho ngôn ngữ cấp cao
(compiler) phát triển vào những năm 50 tạo điều kiện dễ dàng hơn cho lập trình viên. Tuy
nhiên, vào lúc này, lập trình viên phải tự điều hành máy. Vào những năm 60, việc tự động
hóa công việc điều hành bắt đầu được thực hiện. Một chương trình gọi là hệ điều hành
(operating system) luôn được lưu trữ bên trong máy tính. Lập trình viên cung cấp các thẻ
điều khiển và chương trình, chúng sẽ được đọc và thực thi bằng hệ điều hành.
Trong nhiều năm tiếp theo, hệ điều hành càng trở nên phức tạp. Các lệnh, tiện ích
và đặc trưng mới được thêm vào cấp máy quy ước cho đến khi xuất hiện một cấp mới.
Một số lệnh của cấp mới này giống như cấp máy quy ước nhưng một số lệnh lại hoàn toàn
khác, nhất là các lệnh xuất nhập. Vào những năm đầu thập niên 60, các nghiên cứu ở đại
học Dartmouth, MIT đã phát triển các hệ điều hành cho phép lập trình viên có thể tác
động trực tiếp lên máy tính. Trong các hệ thống này, thiết bị đầu cuối từ xa được nối với
máy tính trung tâm qua các đường điện thoại. Một lập trình viên có thể gõ chương trình
và nhận kết quả trả về tức thời ở bất cứ nơi nào có thiết bị đầu cuối. Các hệ thống này gọi
là hệ thống chia sẻ thời gian (time-sharing system).
2. Phần cứng và phần mềm (Hardware and software)
Các chương trình viết bằng ngôn ngữ máy (cấp 1) được thực thi trực tiếp bằng các
mạch điện tử của máy tính, không có trình thông dịch và biên dịch nào can thiệp vào. Các
mạch điện tử cùng với bộ nhớ và các thành phần xuất / nhập tạo nên phần cứng máy tính.