Trắc nghiệm Kiến trúc máy tính Bài 20: NGÔN NGỮ LẬP TRÌNH VÀ CHƯƠNG TRÌNH DỊCH

Làm bài thi

Mục Lục

Trắc nghiệm Kiến trúc máy tính Bài 20: NGÔN NGỮ LẬP TRÌNH VÀ CHƯƠNG TRÌNH DỊCH là một trong những đề thi thuộc Chương 4: BỘ XỬ LÝ TRUNG TÂM CPU trong học phần Kiến trúc máy tính chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần mở đầu đóng vai trò nền tảng, giúp sinh viên hiểu được các khái niệm cơ bản cũng như nguyên lý hoạt động của máy tính – từ phần cứng đến cách tổ chức và xử lý dữ liệu bên trong hệ thống.

Trong bài học này, người học cần nắm được các nội dung trọng tâm như: khái niệm kiến trúc máy tính, phân biệt giữa kiến trúc và tổ chức máy tính, nguyên lý hoạt động của hệ thống xử lý trung tâm (CPU), các thành phần chính trong hệ thống máy tính, cũng như những quy tắc cơ bản trong truyền dữ liệu và lưu trữ thông tin. Đây là cơ sở quan trọng để sinh viên tiếp tục nghiên cứu sâu hơn về cấu trúc phần cứng, hiệu năng hệ thống và thiết kế vi xử lý.

Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!

Trắc nghiệm Kiến trúc máy tính Bài 20: NGÔN NGỮ LẬP TRÌNH VÀ CHƯƠNG TRÌNH DỊCH

Câu 1.Ngôn ngữ máy (Machine Language) là gì?
A. Ngôn ngữ sử dụng các từ tiếng Anh dễ hiểu.
B. Ngôn ngữ chỉ dùng cho các robot công nghiệp.
C. Ngôn ngữ cấp thấp nhất mà CPU có thể hiểu và thực thi trực tiếp, được biểu diễn dưới dạng các chuỗi bit nhị phân.
D. Ngôn ngữ được dùng để viết hệ điều hành.

Câu 2.Nhược điểm chính của việc lập trình trực tiếp bằng Ngôn ngữ máy là gì?
A. Tốc độ thực thi chậm.
B. Không thể truy cập phần cứng.
C. Rất khó đọc, khó viết, khó gỡ lỗi (debugging) cho con người, dễ mắc lỗi, và phụ thuộc hoàn toàn vào kiến trúc CPU cụ thể.
D. Chỉ chạy được trên các máy tính cũ.

Câu 3.Hợp ngữ (Assembly Language) là gì?
A. Một loại ngôn ngữ máy.
B. Một loại ngôn ngữ lập trình cấp cao.
C. Ngôn ngữ lập trình cấp thấp, sử dụng các từ gợi nhớ (mnemonics) và ký hiệu để biểu diễn các lệnh máy tương ứng.
D. Ngôn ngữ dùng để thiết kế website.

Câu 4.Ưu điểm của Hợp ngữ so với Ngôn ngữ máy là gì?
A. Hoàn toàn độc lập với phần cứng.
B. Có thể thực hiện các tác vụ rất phức tạp chỉ với một lệnh.
C. Dễ đọc và dễ viết hơn cho con người, cho phép kiểm soát sát sao phần cứng.
D. Không cần chương trình dịch.

Câu 5.Nhược điểm của Hợp ngữ là gì?
A. Tốc độ thực thi chậm.
B. Chỉ chạy được trên một loại máy tính.
C. Vẫn phụ thuộc vào kiến trúc CPU cụ thể.
D. Cần có trình hợp dịch để chuyển sang ngôn ngữ máy.
E. Cả C và D đều đúng. (Đáp án E là hợp lý nhất, nhấn mạnh cả sự phụ thuộc phần cứng và cần dịch)

Câu 6.Ngôn ngữ lập trình cấp cao (High-level Language) là gì?
A. Ngôn ngữ chỉ dùng cho các chuyên gia.
B. Ngôn ngữ chỉ bao gồm các ký hiệu đặc biệt.
C. Ngôn ngữ gần gũi với ngôn ngữ tự nhiên và ký hiệu toán học của con người, trừu tượng hóa nhiều chi tiết phần cứng.
D. Ngôn ngữ chỉ có thể thực thi trực tiếp bởi CPU.

Câu 7.Ưu điểm chính của Ngôn ngữ lập trình cấp cao là gì?
A. Tốc độ thực thi nhanh hơn ngôn ngữ máy.
B. Dễ học, dễ viết, dễ gỡ lỗi, và có tính di động (portability) cao hơn giữa các nền tảng phần cứng khác nhau.
C. Cho phép truy cập trực tiếp vào các thanh ghi CPU.
D. Không cần chương trình dịch.

Câu 8.Nhược điểm của Ngôn ngữ lập trình cấp cao là gì?
A. Khó viết chương trình đơn giản.
B. Cần chương trình dịch (biên dịch hoặc thông dịch) để chuyển sang ngôn ngữ máy; đôi khi chương trình thực thi kém hiệu quả hơn so với viết trực tiếp bằng hợp ngữ (nếu không tối ưu tốt).
C. Chỉ chạy được trên một số hệ điều hành nhất định.
D. Không thể sử dụng thư viện bên ngoài.

Câu 9.Trình biên dịch (Compiler) là loại chương trình dịch thực hiện chức năng gì?
A. Thực thi từng dòng lệnh của chương trình nguồn.
B. Dịch TOÀN BỘ chương trình nguồn sang chương trình đích (ngôn ngữ máy hoặc mã trung gian) trước khi thực thi.
C. Chuyển đổi ngôn ngữ máy sang hợp ngữ.
D. Kết nối các thiết bị ngoại vi.

Câu 10.Đặc điểm của Trình thông dịch (Interpreter) là gì?
A. Tạo ra một file thực thi hoàn chỉnh.
B. Quá trình dịch và thực thi tách biệt hoàn toàn.
C. Dịch và thực thi từng câu lệnh của chương trình nguồn tại thời điểm chạy.
D. Chỉ kiểm tra lỗi cú pháp.

Câu 11.So với Trình biên dịch, Trình thông dịch thường có ưu điểm gì?
A. Tốc độ thực thi nhanh hơn.
B. Quá trình phát triển và gỡ lỗi ban đầu thường nhanh hơn (do phản hồi ngay lập tức).
C. Chương trình đích được tối ưu hóa tốt hơn.
D. Bảo vệ mã nguồn tốt hơn.

Câu 12.So với Trình thông dịch, Trình biên dịch thường có ưu điểm gì?
A. Tiêu thụ ít bộ nhớ hơn khi chạy.
B. Dễ dàng sửa đổi chương trình khi đang chạy.
C. Chương trình đích sau khi biên dịch thường chạy nhanh hơn và không cần chương trình dịch khi thực thi.
D. Hỗ trợ nhiều ngôn ngữ lập trình hơn.

Câu 13.Ngôn ngữ C, C++, Java (mã bytecode), Pascal thường được xử lý chủ yếu bằng loại chương trình dịch nào?
A. Chỉ thông dịch.
B. Biên dịch.
C. Hợp dịch.
D. Cả thông dịch và biên dịch tùy môi trường (ví dụ: Java).

Câu 14.Ngôn ngữ Python, JavaScript, Ruby thường được xử lý chủ yếu bằng loại chương trình dịch nào?
A. Chỉ biên dịch.
B. Thông dịch.
C. Hợp dịch.
D. Chỉ chạy trực tiếp trên phần cứng.

Câu 15.Quá trình dịch từ ngôn ngữ cấp cao sang ngôn ngữ máy thường bao gồm các pha chính nào?
A. Chỉ phân tích cú pháp.
B. Chỉ phát sinh mã.
C. Phân tích (Từ vựng, Cú pháp, Ngữ nghĩa), Tạo mã trung gian, Tối ưu hóa, Phát sinh mã đích.
D. Chỉ chạy chương trình.

Câu 16.Trình hợp dịch (Assembler) dùng để chuyển đổi ngôn ngữ nào sang ngôn ngữ máy?
A. Ngôn ngữ C++.
B. Ngôn ngữ Python.
C. Hợp ngữ (Assembly Language).
D. Ngôn ngữ máy (không cần dịch).

Câu 17.Chương trình liên kết (Linker) có vai trò gì trong quá trình tạo file thực thi?
A. Biên dịch mã nguồn.
B. Nạp chương trình vào bộ nhớ.
C. Kết hợp các module mã đối tượng (object files) và các thư viện cần thiết để tạo ra một file thực thi hoàn chỉnh.
D. Quản lý tiến trình chạy.

Câu 18.Chương trình nạp (Loader) có vai trò gì?
A. Dịch chương trình.
B. Liên kết các file.
C. Nạp chương trình thực thi từ bộ nhớ ngoài (ổ cứng) vào bộ nhớ chính (RAM) để CPU có thể thực thi.
D. Thực hiện các phép toán.

Câu 19.Máy ảo Java (Java Virtual Machine – JVM) là một ví dụ về môi trường thực thi sử dụng kỹ thuật nào?
A. Chỉ biên dịch.
B. Chỉ hợp dịch.
C. Kết hợp thông dịch (bytecode interpreter) và biên dịch động (Just-In-Time – JIT compilation).
D. Chỉ chạy trực tiếp ngôn ngữ máy.

Câu 20.Một chương trình viết bằng Hợp ngữ chỉ có thể chạy trực tiếp trên CPU nếu nó đã được xử lý bởi chương trình dịch nào?
A. Trình biên dịch (Compiler).
B. Trình thông dịch (Interpreter).
C. Trình hợp dịch (Assembler).
D. Chương trình liên kết (Linker).

Câu 21.Mã Bytecode (ví dụ trong Java) là gì?
A. Ngôn ngữ máy cho một CPU cụ thể.
B. Ngôn ngữ lập trình cấp cao.
C. Một dạng mã trung gian, gần với ngôn ngữ máy nhưng độc lập với kiến trúc phần cứng cụ thể, được thực thi trên máy ảo.
D. Một loại dữ liệu âm thanh.

Câu 22.Giai đoạn “Phân tích từ vựng” (Lexical Analysis) trong trình biên dịch/thông dịch có nhiệm vụ gì?
A. Kiểm tra ngữ pháp của câu lệnh.
B. Chia dòng mã nguồn thành các “từ vựng” (tokens) như từ khóa, định danh, toán tử, hằng số.
C. Kiểm tra ý nghĩa của chương trình.
D. Tạo ra mã máy.

Câu 23.Giai đoạn “Phân tích cú pháp” (Syntactic Analysis / Parsing) trong trình biên dịch/thông dịch có nhiệm vụ gì?
A. Kiểm tra ngữ nghĩa của chương trình.
B. Kiểm tra xem chuỗi các từ vựng có tuân theo cấu trúc ngữ pháp của ngôn ngữ lập trình hay không.
C. Tạo ra mã trung gian.
D. Tối ưu hóa mã.

Câu 24.Mối liên hệ giữa Kiến trúc tập lệnh (ISA) và chương trình dịch là gì?
A. Chương trình dịch không liên quan đến ISA.
B. ISA được thiết kế dựa trên chương trình dịch.
C. Chương trình dịch chỉ dịch sang một ISA duy nhất.
D. Chương trình dịch (đặc biệt là trình biên dịch) phải hiểu và tuân thủ ISA của CPU đích để tạo ra mã máy có thể thực thi được.

Câu 25.Trong kiến trúc máy tính, việc chuyển đổi từ ngôn ngữ cấp cao xuống ngôn ngữ máy cần qua nhiều bước dịch khác nhau chủ yếu là vì lý do gì?
A. Tăng tính phức tạp cho hệ thống.
B. Giảm tốc độ xử lý.
C. Giúp con người lập trình dễ dàng hơn (ở mức cao) và cho phép máy tính thực thi hiệu quả (ở mức thấp), đồng thời tạo ra tính di động cho phần mềm.
D. Tiêu thụ nhiều năng lượng hơn.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: