1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ngân hàng câu hỏi thi vi xử lý

10 39 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 650,54 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu hỏi 1.4: Trong các chế độ hoạt động cơ bản của bộ vi xử lý ARM, các chế độ nào là chế độ ưu tiên Privileged mode, chế độ nào là chế độ không ưu tiên Unprivileged mode, các chế độ n

Trang 1

KHOA: Kỹ thuật điện tử 1

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

1 Ngân hàng câu hỏi thi

● Câu hỏi loại 1 điểm

Câu hỏi 1.1:

Kể tên 3 loại bus thường thấy trong một hệ vi xử lý? Nêu tóm tắt chức năng của từng loại bus này ?

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 các vi xử lý ARM7 thực hiện các tập lệnh nào?

Câu hỏi 1.3:

a) Các bộ vi xử lý ARM thuộc kiến trúc CISC hay RISC?

b) Bộ vi xử lý ARM có tổng cộng bao nhiêu thanh ghi, mỗi thanh ghi có chiều dài bao nhiêu bit?

Câu hỏi 1.4:

Trong các chế độ hoạt động cơ bản của bộ vi xử lý ARM, các chế độ nào là chế độ ưu tiên (Privileged mode), chế độ nào là chế độ không ưu tiên (Unprivileged mode), các chế

độ nào là chế độ ngoại lệ (Exception mode), các chế độ nào không phải là chế độ ngoại lệ?

Câu hỏi 1.5:

a) Trong bộ vi xử lý ARM, chế độ người dùng (User mode) có bao nhiêu thanh ghi? Kể tên các thanh ghi dùng trong chế độ này?

b) Mỗi chế độ hoạt động cơ bản của bộ vi xử lý ARM đều có một tập con các thanh ghi riêng có thể truy cập (đúng hay sai)?

Câu hỏi 1.6:

a) Chế độ hệ thống (System mode) và chế độ người dùng (User mode) của bộ vi xử lý ARM

sử dụng cùng tập thanh ghi (đúng hay sai)?

b) Trong thanh ghi trạng thái chương trình của bộ 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 thanh ghi trạng thái chương trình của bộ vi xử lý ARM, các bit từ 31-28 có chức năng gì? Các bít từ 7-0 có chức năng gì?

Trang 2

Câu hỏi 1.8:

Việc xử lý ngoại lệ (Exception) trong vi xử lý ARM được điều khiển thông qua việc sử dụng một vùng bộ nhớ gọi là bảng Vector Hãy vẽ bảng vector này cùng với các địa chỉ?

Câu hỏi 1.9:

a) Trong vi xử lý ARM, tại sao các truy cập bộ nhớ bắt buộc phải căn chỉnh (align) kích thước truy cập một cách phù hợp?

b) Ngoại lệ (Exception) nào được sử dụng để phát hiện các truy cập dữ liệu không được căn 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ợ các loại hệ thống nhớ Endian nào? Mô

tả sự khác nhau của các loại này? Chế độ mặc định của vi xử lý ARM7 là loại Endian nào?

Câu hỏi 1.11:

a) Trong bộ vi xử lý ARM, các thanh ghi nào nằm trong nhóm “thấp” (Low group), các thanh ghi nào nằm trong nhóm “cao” (High group) trong tập lệnh Thumb?

b) Trong bộ vi xử lý ARM, tất cả các lệnh Thumb buộc phải căn 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) và trạng thái (state) nào?

b) Trong thanh ghi trạng thái chương trình, nếu bit T=1 thì lõi ARM hoạt động ở chế độ nào?

Câu hỏi 1.13:

Nêu các đặc điểm của tập lệnh Thumb?

Câu hỏi 1.14:

Thumb là tập lệnh bao nhiêu bit? Nêu 2 ưu điểm chính của tập lệnh Thumb so với tập lệnh ARM?

Câu hỏi 1.15:

Nêu các đặc điểm của tập lệnh ARM?

Câu hỏi 1.16:

Để chuyển giữa trạng thái ARM và Thumb ta cần phải sử dụng lệnh nào? Viết cú pháp của lệnh khi muốn chuyển trạng thái của vi xử lý từ ARM sang Thumb và ngược lại?

Câu hỏi 1.17:

a) Nêu ưu điểm chính của tập lệnh ARM so với tập lệnh Thumb?

b) Lệnh MOVNES R1,R4,ASL #3 thực hiện cái gì?

Câu hỏi 1.18:

Nêu các giai đoạn (stage) trong đường ống (pipeline) của họ ARM7? Giải thích chức năng của mỗi giai đoạn?

Câu hỏi 1.19:

Mô tả sơ lược cấu trúc của vi điều khiển 8051? Vẽ sơ lược sơ đồ chân của 8051

Trang 3

Vi điều khiển 8051 hỗ trợ các chế độ đánh địa chỉ nào? Cho ví dụ ứng với mỗi kiểu đó

Câu hỏi 1.22:

Viết chương trình cho vi điều khiển 8051 để sao chép giá trị 20H vào ngăn nhớ RAM tại địa chỉ 30H đến 34H bằng cách sử dụng chế độ đánh địa chỉ trực tiếp

Câu hỏi 1.23:

Viết chương trình cho vi điều khiển 8051 để sao chép giá trị 20H vào ngăn nhớ RAM tại địa chỉ 30H đến 32H bằng cách sử dụng chế độ đánh địa chỉ gián tiếp thanh ghi

Câu hỏi 1.24:

Viết chương trình cho vi điều khiển 8051 để sao chép giá trị 20H vào ngăn nhớ RAM tại địa chỉ 30H đến 36H bằng cách sử dụng vòng lặp và chế độ đánh địa chỉ gián tiếp thanh 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% trên bit 2 của cổng 1 Giả sử đã có hàm tạo trễ là 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% trên bit 0 của cổng 1 Giả sử đã có hàm tạo trễ là DELAY

Câu hỏi 1.27:

Mô tả thanh ghi TMOD của vi điều khiển 8051 và chức năng các bit của thanh ghi?

Câu hỏi 1.28:

Mô tả thanh ghi TCON của vi điều khiển 8051 và chức năng các bit của thanh ghi?

Câu hỏi 1.29:

Trình bày các bước lập trình ở chế độ Mode 1 cho bộ đếm trong vi điều khiển 8051?

Câu hỏi 1.30:

Trình bày các bước lập trình ở chế độ Mode 2 cho bộ đếm trong vi điều khiển 8051?

Câu hỏi 1.31:

Với tần số XTAL của vi điều khiển 8051 là 11.0592MHz, hãy tìm giá trị TH1 cần thiết

để có tốc độ baud sau :

Câu hỏi 1.32:

Trình bày các bước lập trình vi điều khiển 8051 để truyền dữ liệu nối tiếp ?

Câu hỏi 1.33:

Trình bày các bước lập trình vi điều khiển 8051 để nhận dữ liệu nối tiếp ?

Câu hỏi 1.34:

Trình bày các loại ngắt của vi điều khiển 8051 và các cờ ngắt tương tứng?

Câu hỏi 1.35:

Mô tả thanh ghi cho phép ngắt IE trong vi điều khiển 8051 và chức năng các bit của thanh ghi?

Trang 4

Câu hỏi 1.36:

Tìm giá trị của thanh ghi IE của vi điều khiển 8051 trong các trường hợp sau đây :

a Cho phép ngắt cổng nối tiếp, ngắt Timer1 và ngắt phần cứng ngoài 0

b Cho phép ngắt cổng nối tiếp, ngắt Timer2 và ngắt phần cứng ngoài 1

c Cho phép ngắt Time0 và ngắt phần cứng ngoài 0

d Cấm tất cả các loại ngắt

● Câu hỏi loại 2 điểm

Câu hỏi 2.1:

Vẽ sơ đồ khối tổng quát của một hệ vi xử lý? Nêu tóm tắt chức năng của các khối chính trong sơ đồ?

Câu hỏi 2.2:

a Nêu sự khác nhau giữa bộ vi xử lý CISC và RISC? Cho ví dụ minh họa?

b Trong vi xử lý ARM, các thanh ghi nào dùng để lưu bộ đếm chương trình (PC) và thanh ghi kết nối (Link Register)? Thanh ghi r13 thường được dùng để lưu cái gì?

Câu hỏi 2.3:

Bộ vi xử lý ARM có bao nhiêu chế độ hoạt động cơ bản? Kể tên và mô tả tóm tắt mỗi chế độ? Chế độ nào truy cập vào ít thanh ghi nhất (nêu số liệu để so sánh)?

Câu hỏi 2.4:

a Khi có một ngoại lệ (Exception) xảy ra, lõi ARM thực thi các công việc gì?

b Để trở về sau khi thực thi xong một ngoại lệ (Exception), bộ xử lý ngoại lệ cần thực thi các công việc gì?

Câu hỏi 2.5:

Mô tả hoạt động của các lệnh sau trong vi xử lý ARM:

B <Nhãn>

BL <Chương trình con>

BX <thanh ghi>

Câu hỏi 2.6:

a Các thành phần của lõi vi xử lý ARM7? Vẽ hình minh họa

b Nêu các đặc điểm của họ ARM7TDMI? Ý nghĩa của các từ viết tắt T, D, M, I trong ký hiệu?

Câu hỏi 2.7:

a Kể tên các nhóm tín hiệu chính trong lõi ARM7TDMI?

b Tại sao kỹ thuật đường ống (pipeline) lại được sử dụng trong các họ vi xử lý? Họ ARM7 sử dụng pipeline mấy giai đoạn (stage)? Bộ đếm chương trình (PC) trỏ tới lệnh đang được tìm kiếm hay lệnh đang được thực thi?

Câu hỏi 2.8:

a Một lệnh số học đơn giản (VD: lệnh ADD) có thể được thực hiện trong mấy chu kỳ (cycle)?

b Các loại dữ liệu nào có thể được đánh địa chỉ trong bộ nhớ?

c Nêu các ưu điểm của việc thực thi lệnh có điều kiện? Mô tả việc thực thi lệnh ADDNES

Trang 5

Cho R1 = 0x8234 5678, hãy mô tả hoạt động của các lệnh sau và xác định kết quả sau khi mỗi lệnh được 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 của từng lệnh trong đoạn chương trình sau đây, nêu chức năng của chương trình?

MOV R5, #10

MOV R4, #0

LOOP 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 một chương trình như sau:

AREA Program, CODE, READONLY ENTRY

Main

LDR R1, Value MVN R1,R1 STR R1, Result SWI &11

Value DCD &B231

Result DCD 0

END

a Mô tả hoạt động của từng lệnh trong chương trình (giữa Main và END)

b Nêu chức năng của chương trình và xác định kết quả sau khi thực hiện chương trình?

Trang 6

Câu hỏi 2.12:

a Sử dụng các lệnh hợp ngữ ARM để viết lại đoạn mã nguồn C dưới đây:

b Các lệnh xử lý dữ liệu thường được chia thành các nhóm nào? Mỗi nhóm cho 2 ví dụ minh họa?

Câu hỏi 2.13:

Trong 8051, giả sử cổng P0 được nối tới một cảm biến nhiệt độ Hãy viết chương trình hợp ngữ đọc và so sánh với mức nhiệt độ chuẩn là 100oC Kết quả so sánh được xử lý như sau:

Nếu T = 100 thì A = 100 Nếu T < 100 thì R1 = T Nếu T > 100 thì R2 = T

Câu hỏi 2.14:

Viết chương trình hợp ngữ lấy 10 byte trong RAM nội của 8051 có địa chỉ bắt đầu là

30H và ghi ra RAM ngoài ở địa chỉ bắt đầu là 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 1 LED đơn tại chân P2.0 nhấp nháy với tần số 1000Hz, thời gian nghỉ bằng thời gian sáng, sử dụng bộ định thời Timer0 ở chế độ 1 (không dùng ngắt) Biết tần số của thạch anh được sử dụng là 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 trên chân P2.1 bằng

bộ định thời Timer1 ở chế độ 1 (không dùng ngắt) Xung có tần số 4000Hz và độ rộng xung bằng 50% chu kỳ của xung Biết tần số của thạch anh được sử dụng là 12MHz

Câu hỏi 2.17:

8051

P3.4

Display P2

Giả sử xung đồng hồ ngoài được cấp tới chân P3.4 của vi điều khiển 8051 Màn hình hiển thị được nối với 8051 tại cổng P2 để đếm số xung Hãy viết chương trình hợp ngữ cho

bộ đếm Timer0 ở chế độ 2 để đếm các xung và hiển thị trạng thái của số đếm TL0 trên cổng P2

if (r0 == 0) {

r1 = r1 - 1;

} else { r2 = r2 + 1;

}

Mã nguồn C

Trang 7

“PTIT” với tốc độ 9600 baud Thanh ghi điều khiển SCON làm việc ở chế độ 1

Câu hỏi 2.19:

Viết chương trình hợp ngữ cho vi điều khiển 8051 để phát một chuỗi mã ASCII kết thúc bằng ký tự null (mã ASCII là 00H) ra cổng nối tiếp P2 (không gửi ký tự null) Giả sử chuỗi mã ASCII nằm trong RAM ngoài bắt đầu tại địa chỉ 3000H Chế độ truyền UART 8

bit, tốc độ 2400 baud, tần số dao động của thạch là 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 các byte dữ liệu nối tiếp liên tục với tốc độ 9600 baud Dữ liệu sau đó được gửi ra cổng P2 Thanh ghi điều khiển SCON làm việc ở chế độ 1

Câu hỏi 2.21:

Viết chương trình hợp ngữ cho vi điều khiển 8051 để nhận một chuỗi mã ASCII kết thúc bằng ký tự CR (mã ASCII là 13H) từ cổng nối tiếp P1 (không nhận ký tự CR) Chuỗi

mã nhận được cất vào RAM nội bắt đầu từ địa chỉ 40H Chế độ truyền UART 8 bit, tốc độ

2400 baud, tần số dao động của thạch là 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 1 LED đơn tại chân P2.0 nhấp nháy với tần số 2000Hz, thời gian nghỉ bằng thời gian sáng, sử dụng ngắt Timer0 ở chế độ 1 Biết tần số của thạch anh được sử dụng là 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 trên chân P2.1 bằng ngắt Timer1 ở chế độ 1 Xung có tần số 1000Hz và độ rộng xung bằng 50% chu kỳ của xung Biết tần số của thạch anh được sử dụng là 12MHz

Câu hỏi 2.24:

8051

INT0

P1.1

Vcc

tới LED

Giả sử chân INT0 của vi điều khiển 8051 được 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 ngoài INT0 để khi công tắc chuyển xuống mức thấp thì đèn LED nối với chân P1.1 được bật sáng Khi công tắc chuyển lên

mức cao thì đèn LED tắt

● Câu hỏi loại 3 điểm

Câu hỏi 3.1:

Viết chương trình hợp ngữ ARM thực hiện việc trừ hai số 32 bit: số thứ nhất trừ đi số thứ hai, kết quả lưu vào ô nhớ chứa số thứ nhất

Đầu vào: Số thứ nhất = 28C3E123,

Số thứ 2 = 1254AB02

Đầu ra: Số thứ nhất = kết quả của phép trừ

Xác định kết quả của phép trừ?

Trang 8

Câu hỏi 3.2:

Viết chương trình hợp ngữ ARM thực hiện việc xác định số nào nhỏ hơn trong 2 số sau:

Số thứ nhất = 23456781

Số thứ hai = 2B123A49

Kết quả 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 hiện việc cộng hai số 64 bit

Số thứ nhất = 18A3E156,

Số thứ hai = 215CAB48

Kết quả lưu vào biến Result Xác định kết quả của phép cộng?

Câu hỏi 3.4:

Viết chương trình hợp ngữ ARM thực hiện việc tìm số lớn nhất trong 3 số không dấu sau Hãy lưu số lớn nhất trong 3 số vào biến Result

Đầu vào: Số thứ nhất = 3219AB11

Số thứ hai = 2598CB46

Số thứ ba = 7248EA06 Đầu ra: Result = số lớn nhất

Câu hỏi 3.5:

Cho một chương trình như sau:

AREA Program, CODE, READONLY ENTRY

Main

LDR R0, = Data1 EOR R1, R1, R1 LDR R2, Length Loop

LDR R3, [R0]

ADD R1, R1, R3 ADD R0, R0, #4 SUBS R2, R2, #0x1 BNE Loop

STR R1, Result SWI &11

Trang 9

Table DCW &0B1A

ALIGN DCW &23C4 ALIGN

DCW &15E7 ALIGN

TablEnd DCD 0

AREA Data2, DATA Length DCW (TablEnd - Table) / 4

ALIGN Result DCW 0

END a) Mô tả hoạt động của từng lệnh trong chương trình (giữa Main và END)

b) Nêu chức năng của chương trình và xác định kết quả sau khi thực hiện 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 quả là một số 64 bit, lưu kết quả vào hai thanh ghi R6, R7, trong đó thanh ghi R7 chứa 4 byte thấp của kết quả

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 của hai số 16 bit Biết các số này được đặt trong bộ nhớ RAM trong Cụ thể, số thứ nhất được đặt tại hai ô nhớ có địa chỉ 40H, 41H (40H chứa byte thấp, 41H chứa byte cao) Số thứ hai được đặt tại hai ô nhớ có địa chỉ 42H, 43H Kết quả tìm được (tổng) để trong bộ nhớ RAM trong tại 3 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 của hai số 16 bit Biết các số này được đặt trong bộ nhớ RAM trong Cụ thể, số thứ nhất được đặt tại hai ô nhớ có địa chỉ 30H, 31H (30H chứa byte thấp, 31H chứa byte cao) Số thứ hai được đặt tại hai ô nhớ có địa chỉ 32H, 33H Kết quả tìm được (tổng) để trong bộ nhớ RAM trong tại 3 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 tại cổng P1 và gửi giá trị x2 tới cổng P2 một 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 một khối dữ liệu trong RAM ngoài có chiều dài 100 byte bắt đầu từ địa chỉ 2000H xem có bao nhiêu giá trị chẵn và

lẻ Số giá trị chẵn và lẻ được lưu tương ứng trong 2 ô nhớ 30H và 31H

Câu hỏi 3.11:

Trang 10

Viết chương trình hợp ngữ cho vi điều khiển 8051 để kiểm tra một khối dữ liệu trong RAM ngoài có chiều dài 200 byte bắt đầu từ địa chỉ 1000H xem có bao nhiêu byte giá trị là

0, dương và âm Kết quả được lưu vào các ô nhớ trong RAM nội như sau:

- Ô nhớ 40H : chứa số byte bằng 0

- Ô 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 một khối dữ liệu trong RAM ngoài có chiều dài 200 byte bắt đầu từ địa chỉ 1000H xem có bao nhiêu giá trị 0 Kết quả (số byte có giá trị 0) được lưu vào ô nhớ có địa chỉ 2000H trong RAM ngoà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ừ 1 đến 5)

+ Y là câu hỏi thứ Y (Y chạy từ 1 trở đi)

2 Đề 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 được tổ hợp như sau :

 03 Câu 1 điểm

 02 Câu 2 điểm

 01 Câu 3 điểm

Tổng điểm : 10 điểm

Tổng thời gian : 90 phút

3 Hướng dẫn cần thiết khác:

 Khi chọn 3 câu 1 điểm : Chọn 2 câu trong khoảng từ 1 đến 18 và 1 câu trong khoảng từ 19 đến 36 hoặc ngược lại

 Khi chọn 2 câu 2 điểm : Chọn 1 câu trong khoảng từ 1 đến 12 và 1 câu trong khoảng từ 12 đến 24

Ngân hàng câu hỏi thi này đã được thông qua bộ môn và nhóm cán bộ giảng dạy học phần

Hà Nội, ngày tháng … năm 2013

Trưởng khoa

TS Đặng Hoài Bắc

Trưởng bộ môn

TS Đặng Hoài Bắc

Giảng viên chủ trì biên soạn

TS Vũ Hữu Tiến Ths Trần Thị Thục Linh

Ngày đăng: 15/12/2021, 13:13

TỪ KHÓA LIÊN QUAN

w