HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA: Kỹ thuật điện tử Mẫu NGÂN HÀNG CÂU HỎI THI TỰ LUẬN Tên học phần: Kỹ thuật vi xử lý Mã học phần: ELE 1317 Ngành đào tạo : Điện – Điện tử Trình độ đào tạo: Đại học Ngân hàng câu hỏi thi ● Câu hỏi loại điểm Câu hỏi 1.1: Kể tên loại bus thường thấy hệ vi xử lý? Nêu tóm tắt chức loại bus ? Câu hỏi 1.2: a) Họ vi xử lý ARM7 thuộc kiến trúc nào? b) Phần lớn vi xử lý ARM7 thực tập lệnh nào? Câu hỏi 1.3: a) Các vi xử lý ARM thuộc kiến trúc CISC hay RISC? b) Bộ vi xử lý ARM có tổng cộng ghi, ghi có chiều dài bit? Câu hỏi 1.4: Trong chế độ hoạt động vi xử lý ARM, chế độ chế độ ưu tiên (Privileged mode), chế độ chế độ không ưu tiên (Unprivileged mode), chế độ chế độ ngoại lệ (Exception mode), chế độ chế độ ngoại lệ? Câu hỏi 1.5: a) Trong vi xử lý ARM, chế độ người dùng (User mode) có ghi? Kể tên ghi dùng chế độ này? b) Mỗi chế độ hoạt động vi xử lý ARM có tập ghi riêng truy cập (đúng hay sai)? Câu hỏi 1.6: a) Chế độ hệ thống (System mode) chế độ người dùng (User mode) vi xử lý ARM sử dụng tập ghi (đúng hay sai)? b) Trong ghi trạng thái chương trình vi xử lý ARM, bit I=1 có ý nghĩa gì, bit F=1 có ý nghĩa gì? Câu hỏi 1.7: Trong ghi trạng thái chương trình vi xử lý ARM, bit từ 31-28 có chức gì? Các bít từ 7-0 có chức gì? Câu hỏi 1.8: Việc xử lý ngoại lệ (Exception) vi xử lý ARM điều khiển thông qua việc sử dụng vùng nhớ gọi bảng Vector Hãy vẽ bảng vector với địa chỉ? Câu hỏi 1.9: a) Trong vi xử lý ARM, truy cập nhớ bắt buộc phải chỉnh (align) kích thước truy cập cách phù hợp? b) Ngoại lệ (Exception) sử dụng để phát truy cập liệu không chỉnh bất hợp lệ? Câu hỏi 1.10: Endian có ý nghĩa gì? Bộ vi xử lý ARM7 hỗ trợ loại hệ thống nhớ Endian nào? Mô tả khác loại này? Chế độ mặc định vi xử lý ARM7 loại Endian nào? Câu hỏi 1.11: a) Trong vi xử lý ARM, ghi nằm nhóm “thấp” (Low group), ghi nằm nhóm “cao” (High group) tập lệnh Thumb? b) Trong vi xử lý ARM, tất lệnh Thumb buộc phải chỉnh (align) theo biên giới (boundary) nào? Câu hỏi 1.12: a) Khi có reset lõi ARM chế độ (mode) trạng thái (state) nào? b) Trong ghi trạng thái chương trình, bit T=1 lõi ARM hoạt động chế độ nào? Câu hỏi 1.13: Nêu đặc điểm tập lệnh Thumb? Câu hỏi 1.14: Thumb tập lệnh bit? Nêu ưu điểm tập lệnh Thumb so với tập lệnh ARM? Câu hỏi 1.15: Nêu đặc điểm tập lệnh ARM? Câu hỏi 1.16: Để chuyển trạng thái ARM Thumb ta cần phải sử dụng lệnh nào? Viết cú pháp lệnh muốn chuyển trạng thái vi xử lý từ ARM sang Thumb ngược lại? Câu hỏi 1.17: a) Nêu ưu điểm tập lệnh ARM so với tập lệnh Thumb? b) Lệnh MOVNES R1,R4,ASL #3 thực gì? Câu hỏi 1.18: Nêu giai đoạn (stage) đường ống (pipeline) họ ARM7? Giải thích chức giai đoạn? Câu hỏi 1.19: Mô tả sơ lược cấu trúc vi điều khiển 8051? Vẽ sơ lược sơ đồ chân 8051 Câu hỏi 1.20: Mô tả tổ chức nhớ vi điều khiển 8051? Câu hỏi 1.21: Vi điều khiển 8051 hỗ trợ chế độ đánh địa nào? Cho ví dụ ứng với kiểu Câu hỏi 1.22: Viết chương trình cho vi điều khiển 8051 để chép giá trị 20H vào ngăn nhớ RAM địa 30H đến 34H cách sử dụng chế độ đánh địa trực tiếp Câu hỏi 1.23: Viết chương trình cho vi điều khiển 8051 để chép giá trị 20H vào ngăn nhớ RAM địa 30H đến 32H cách sử dụng chế độ đánh địa gián tiếp ghi Câu hỏi 1.24: Viết chương trình cho vi điều khiển 8051 để chép giá trị 20H vào ngăn nhớ RAM địa 30H đến 36H cách sử dụng vòng lặp chế độ đánh địa gián tiếp ghi Câu hỏi 1.25: Viết đoạn chương trình cho vi điều khiển 8051 để tạo chuỗi xung vuông với độ đầy xung 50% bit cổng Giả sử có hàm tạo trễ DELAY Câu hỏi 1.26: Viết đoạn chương trình cho vi điều khiển 8051 để tạo chuỗi xung vuông với độ đầy xung 75% bit cổng Giả sử có hàm tạo trễ DELAY Câu hỏi 1.27: Mô tả ghi TMOD vi điều khiển 8051 chức bit ghi? Câu hỏi 1.28: Mô tả ghi TCON vi điều khiển 8051 chức bit ghi? Câu hỏi 1.29: Trình bày bước lập trình chế độ Mode cho đếm vi điều khiển 8051? Câu hỏi 1.30: Trình bày bước lập trình chế độ Mode cho đếm vi điều khiển 8051? Câu hỏi 1.31: Với tần số XTAL vi điều khiển 8051 11.0592MHz, tìm giá trị TH1 cần thiết để có tốc độ baud sau : a 9600 Câu hỏi 1.32: b 4800 c 2400 Trình bày bước lập trình vi điều khiển 8051 để truyền liệu nối tiếp ? Câu hỏi 1.33: Trình bày bước lập trình vi điều khiển 8051 để nhận liệu nối tiếp ? Câu hỏi 1.34: Trình bày loại ngắt vi điều khiển 8051 cờ ngắt tương tứng? Câu hỏi 1.35: Mô tả ghi cho phép ngắt IE vi điều khiển 8051 chức bit ghi? Câu hỏi 1.36: Tìm giá trị ghi IE vi điều khiển 8051 trường hợp sau : a b c d Cho phép ngắt cổng nối tiếp, ngắt Timer1 ngắt phần cứng Cho phép ngắt cổng nối tiếp, ngắt Timer2 ngắt phần cứng Cho phép ngắt Time0 ngắt phần cứng Cấm tất loại ngắt ● Câu hỏi loại điểm Câu hỏi 2.1: Vẽ sơ đồ khối tổng quát hệ vi xử lý? Nêu tóm tắt chức khối sơ đồ? Câu hỏi 2.2: a Nêu khác vi xử lý CISC RISC? Cho ví dụ minh họa? b Trong vi xử lý ARM, ghi dùng để lưu đếm chương trình (PC) ghi kết nối (Link Register)? Thanh ghi r13 thường dùng để lưu gì? Câu hỏi 2.3: Bộ vi xử lý ARM có chế độ hoạt động bản? Kể tên mơ tả tóm tắt chế độ? Chế độ truy cập vào ghi (nêu số liệu để so sánh)? Câu hỏi 2.4: a Khi có ngoại lệ (Exception) xảy ra, lõi ARM thực thi cơng việc gì? b Để trở sau thực thi xong ngoại lệ (Exception), xử lý ngoại lệ cần thực thi cơng việc gì? Câu hỏi 2.5: Mô tả hoạt động lệnh sau vi xử lý ARM: B BL BX Câu hỏi 2.6: a Các thành phần lõi vi xử lý ARM7? Vẽ hình minh họa b Nêu đặc điểm họ ARM7TDMI? Ý nghĩa từ viết tắt T, D, M, I ký hiệu? Câu hỏi 2.7: a Kể tên nhóm tín hiệu lõi ARM7TDMI? b Tại kỹ thuật đường ống (pipeline) lại sử dụng họ vi xử lý? Họ ARM7 sử dụng pipeline giai đoạn (stage)? Bộ đếm chương trình (PC) trỏ tới lệnh tìm kiếm hay lệnh thực thi? Câu hỏi 2.8: a Một lệnh số học đơn giản (VD: lệnh ADD) thực chu kỳ (cycle)? b Các loại liệu đánh địa nhớ? c Nêu ưu điểm việc thực thi lệnh có điều kiện? Mơ tả việc thực thi lệnh ADDNES r1, r0, r2? Câu hỏi 2.9: Cho R1 = 0x8234 5678, mô tả hoạt động lệnh sau xác định kết sau lệnh thực thi: MOV R0, R1, LSL #2 MOV R2, R1, ASR #1 MOV R3, R1, LSR #3 MOV R4, R1, ROR #2 Câu hỏi 2.10: Mô tả hoạt động lệnh đoạn chương trình sau đây, nêu chức chương trình? LOOP MOV R5, #10 MOV R4, #0 LDR R0, [R6], #4 LDR R1, [R7], #4 MLA R4, R0, R1, R4 SUBS R5, R5, #1 BNE LOOP Câu hỏi 2.11: Cho chương trình sau: TTL Vidu1 AREA Program, CODE, READONLY ENTRY Main LDR R1, Value MVN R1,R1 STR R1, Result SWI &11 Value DCD &B231 Result DCD END a Mô tả hoạt động lệnh chương trình (giữa Main END) b Nêu chức chương trình xác định kết sau thực chương trình? Câu hỏi 2.12: a Sử dụng lệnh hợp ngữ ARM để viết lại đoạn mã nguồn C đây: Mã nguồn C if (r0 == 0) { r1 = r1 - 1; } else { r2 = r2 + 1; } b Các lệnh xử lý liệu thường chia thành nhóm nào? Mỗi nhóm cho ví dụ minh họa? Câu hỏi 2.13: Trong 8051, giả sử cổng P0 nối tới cảm biến nhiệt độ Hãy viết chương trình hợp ngữ đọc so sánh với mức nhiệt độ chuẩn 100oC Kết so sánh xử lý sau: Nếu T = 100 A = 100 Nếu T < 100 R1 = T Nếu T > 100 R2 = T Câu hỏi 2.14: Viết chương trình hợp ngữ lấy 10 byte RAM nội 8051 có địa bắt đầu 30H ghi RAM địa bắt đầu 2000H Câu hỏi 2.15: Viết chương trình hợp ngữ cho vi điều khiển 8051 điều kiển LED đơn chân P2.0 nhấp nháy với tần số 1000Hz, thời gian nghỉ thời gian sáng, sử dụng định thời Timer0 chế độ (không dùng ngắt) Biết tần số thạch anh sử dụng 12MHz Câu hỏi 2.16: Viết chương trình hợp ngữ cho vi điều khiển 8051 tạo xung vuông chân P2.1 định thời Timer1 chế độ (khơng dùng ngắt) Xung có tần số 4000Hz độ rộng xung 50% chu kỳ xung Biết tần số thạch anh sử dụng 12MHz Câu hỏi 2.17: 8051 P2 Display P3.4 Giả sử xung đồng hồ cấp tới chân P3.4 vi điều khiển 8051 Màn hình hiển thị nối với 8051 cổng P2 để đếm số xung Hãy viết chương trình hợp ngữ cho đếm Timer0 chế độ để đếm xung hiển thị trạng thái số đếm TL0 cổng P2 Câu hỏi 2.18: Hãy viết chương trình hợp ngữ cho vi điều khiển 8051 để truyền nối tiếp liên tục chữ “PTIT” với tốc độ 9600 baud Thanh ghi điều khiển SCON làm việc chế độ Câu hỏi 2.19: Viết chương trình hợp ngữ cho vi điều khiển 8051 để phát chuỗi mã ASCII kết thúc ký tự null (mã ASCII 00H) cổng nối tiếp P2 (không gửi ký tự null) Giả sử chuỗi mã ASCII nằm RAM bắt đầu địa 3000H Chế độ truyền UART bit, tốc độ 2400 baud, tần số dao động thạch là 12MHz Câu hỏi 2.20: Hãy viết chương trình hợp ngữ cho vi điều khiển 8051 để nhận byte liệu nối tiếp liên tục với tốc độ 9600 baud Dữ liệu sau gửi cổng P2 Thanh ghi điều khiển SCON làm việc chế độ Câu hỏi 2.21: Viết chương trình hợp ngữ cho vi điều khiển 8051 để nhận chuỗi mã ASCII kết thúc ký tự CR (mã ASCII 13H) từ cổng nối tiếp P1 (không nhận ký tự CR) Chuỗi mã nhận cất vào RAM nội địa 40H Chế độ truyền UART bit, tốc độ 2400 baud, tần số dao động thạch là 12MHz Câu hỏi 2.22: Viết chương trình hợp ngữ cho vi điều khiển 8051 điều kiển LED đơn chân P2.0 nhấp nháy với tần số 2000Hz, thời gian nghỉ thời gian sáng, sử dụng ngắt Timer0 chế độ Biết tần số thạch anh sử dụng 12MHz Câu hỏi 2.23: Viết chương trình hợp ngữ cho vi điều khiển 8051 tạo xung vuông chân P2.1 ngắt Timer1 chế độ Xung có tần số 1000Hz độ rộng xung 50% chu kỳ xung Biết tần số thạch anh sử dụng 12MHz Câu hỏi 2.24: 8051 Vcc P1.1 tới LED INT0 Giả sử chân INT0 vi điều khiển 8051 nối đến cơng tắc bình thường mức cao Viết chương trình hợp ngữ sử dụng ngắt phần cứng ngồi INT0 để cơng tắc chuyển xuống mức thấp đèn LED nối với chân P1.1 bật sáng Khi công tắc chuyển lên mức cao đèn LED tắt ● Câu hỏi loại điểm Câu hỏi 3.1: Viết chương trình hợp ngữ ARM thực việc trừ hai số 32 bit: số thứ trừ số thứ hai, kết lưu vào ô nhớ chứa số thứ Đầu vào: Số thứ = 28C3E123, Đầu ra: Số thứ = 1254AB02 Số thứ = kết phép trừ Xác định kết phép trừ? Câu hỏi 3.2: Viết chương trình hợp ngữ ARM thực việc xác định số nhỏ số sau: Số thứ = 23456781 Số thứ hai = 2B123A49 Kết lưu vào biến Result Câu hỏi 3.3: Viết chương trình hợp ngữ ARM thực việc cộng hai số 64 bit Số thứ = 18A3E156, Số thứ hai = 215CAB48 Kết lưu vào biến Result Xác định kết phép cộng? Câu hỏi 3.4: Viết chương trình hợp ngữ ARM thực việc tìm số lớn số không dấu sau Hãy lưu số lớn số vào biến Result Đầu vào: Số thứ = 3219AB11 Đầu ra: Số thứ hai = 2598CB46 Số thứ ba = 7248EA06 Result = số lớn Câu hỏi 3.5: Cho chương trình sau: TTL Vidu2 AREA Program, CODE, READONLY ENTRY Main LDR R0, = Data1 EOR R1, R1, R1 LDR R2, Length LDR R3, [R0] Loop ADD R1, R1, R3 ADD R0, R0, #4 SUBS R2, R2, #0x1 BNE Loop STR R1, Result SWI &11 AREA Data1, DATA Table DCW &0B1A ALIGN DCW &23C4 ALIGN DCW &15E7 ALIGN TablEnd DCD AREA Data2, DATA Length DCW (TablEnd - Table) / ALIGN Result DCW END a) Mô tả hoạt động lệnh chương trình (giữa Main END) b) Nêu chức chương trình xác định kết sau thực chương trình? Câu hỏi 3.6: Viết chương trình hợp ngữ ARM thực hiện: Nhân hai số 32 bit cho kết số 64 bit, lưu kết vào hai ghi R6, R7, ghi R7 chứa byte thấp kết Câu hỏi 3.7: Viết chương trình hợp ngữ cho vi điều khiển 8051 tính tổng hai số 16 bit Biết số đặt nhớ RAM Cụ thể, số thứ đặt hai nhớ có địa 40H, 41H (40H chứa byte thấp, 41H chứa byte cao) Số thứ hai đặt hai nhớ có địa 42H, 43H Kết tìm (tổng) để nhớ RAM byte : 44H, 45H, 46H Câu hỏi 3.8: Viết chương trình hợp ngữ cho vi điều khiển 8051 tính tổng hai số 16 bit Biết số đặt nhớ RAM Cụ thể, số thứ đặt hai ô nhớ có địa 30H, 31H (30H chứa byte thấp, 31H chứa byte cao) Số thứ hai đặt hai nhớ có địa 32H, 33H Kết tìm (tổng) để nhớ RAM byte : 34H, 35H, 36H Câu hỏi 3.9: Viết chương trình hợp ngữ cho vi điều khiển 8051 để lấy giá trị x cổng P1 gửi giá trị x2 tới cổng P2 cách liên tục Câu hỏi 3.10: Viết chương trình hợp ngữ cho vi điều khiển 8051 để kiểm tra khối liệu RAM ngồi có chiều dài 100 byte địa 2000H xem có giá trị chẵn lẻ Số giá trị chẵn lẻ lưu tương ứng ô nhớ 30H 31H Câu hỏi 3.11: Viết chương trình hợp ngữ cho vi điều khiển 8051 để kiểm tra khối liệu RAM ngồi có chiều dài 200 byte địa 1000H xem có byte giá trị 0, dương âm Kết lưu vào ô nhớ RAM nội sau: - Ô nhớ 40H : chứa số byte - Ô nhớ 41H : chứa số byte dương - Ô nhớ 42H : chứa số byte âm Câu hỏi 3.12: Viết chương trình hợp ngữ cho vi điều khiển 8051 để kiểm tra khối liệu RAM ngồi có chiều dài 200 byte địa 1000H xem có giá trị Kết (số byte có giá trị 0) lưu vào nhớ có địa 2000H RAM ngồi Ghi chú: Ký hiệu (mã) câu hỏi được quy định X.Y Trong đó : + X tương đương số điểm câu hỏi (X chạy từ đến 5) + Y là câu hỏi thứ Y (Y chạy từ trở đi) Đề xuất các phương án tổ hợp câu hỏi thi thành các đề thi (Nếu thấy cần thiết) : Đề thi tổ hợp sau : 03 Câu điểm 02 Câu điểm 01 Câu điểm Tổng điểm : 10 điểm Tổng thời gian : 90 phút Hướng dẫn cần thiết khác: Khi chọn câu điểm : Chọn câu khoảng từ đến 18 câu khoảng từ 19 đến 36 ngược lại Khi chọn câu điểm : Chọn câu khoảng từ đến 12 câu khoảng từ 12 đến 24 Ngân hàng câu hỏi thi này đã được thông qua môn và nhóm cán giảng dạy học phần Hà Nội, ngày tháng … năm 2013 Trưởng khoa Trưởng môn Giảng viên chủ trì biên soạn TS Đặng Hồi Bắc TS Đặng Hoài Bắc TS Vũ Hữu Tiến Ths Trần Thị Thục Linh 10 ... các đề thi (Nếu thấy cần thi? ?́t) : Đề thi tổ hợp sau : 03 Câu điểm 02 Câu điểm 01 Câu điểm Tổng điểm : 10 điểm Tổng thời gian : 90 phút Hướng dẫn cần thi? ?́t khác: Khi chọn câu điểm... Khi chọn câu điểm : Chọn câu khoảng từ đến 18 câu khoảng từ 19 đến 36 ngược lại Khi chọn câu điểm : Chọn câu khoảng từ đến 12 câu khoảng từ 12 đến 24 Ngân hàng câu hỏi thi này đã được thông... (mã) câu hỏi được quy định X.Y Trong đó : + X tương đương số điểm câu hỏi (X chạy từ đến 5) + Y là câu hỏi thứ Y (Y chạy từ trở đi) Đề xuất các phương án tổ hợp câu hỏi thi