- Kiểu kiến trúc GPR (General Purpose Register): Sử dụng thanh ghi đa năng để lưu các toán hạng và kết quả tính toán. Ví dụ như kiến trúc x86. - Kiểu kiến trúc thanh ghi đa dụng: Mỗi thanh ghi có chức năng riêng, không dùng chung. Ví dụ như kiến trúc ARM. 2. Địa chỉ bộ nhớ - Địa chỉ vật lý: Chỉ vị trí thực tế của byte trong bộ nhớ vật lý. - Địa chỉ ảo: Địa chỉ do hệ điều hành ánh xạ từ không gian người dùng sang không gian vật lý. - Địa chỉ tuyến tính/không tuyến tính: Địa chỉ tuyến tính liên tục, địa chỉ không tuyến tính có thể bị gián đoạn. 3. Mã hóa tập lệnh - Các tiêu chuẩn thiết kế dạng thức lệnh: Định dạng, số lượng và chức năng của các trường trong lệnh. - Opcode mở rộng: Mở rộng khả năng biểu diễn các lệnh. - Các chế độ lập địa chỉ: Tương đối, tuyệt đối, kết hợp. 4. Các nhóm lệnh - Nhóm lệnh cơ sở: gán giá trị, nhảy điều kiện. - Nhóm lệnh tính toán số học: cộng, trừ, nhân, chia. - Nhóm lệnh logic: AND, OR, NOT, XOR. - Nhóm lệnh dịch, quay: dịch bit, dịch byte, xoay bit. - Nhóm lệnh có điều kiện và nhảy: nhảy điều kiện, so sánh. 5. Ví dụ chương trình Assembly đơn giản asm SECTION .text GLOBAL main main: MOV EAX, 25 ; gán 25 vào thanh ghi EAX ADD EAX, 35 ; cộng EAX với 35 SUB EAX, 10 ; trừ EAX cho 10 MOV EBX, EAX ; chuyển kết quả vào EBX cmp EBX, 0 ; so sánh EBX với 0 jg label1 ; nhảy nếu EBX lớn hơn 0 jmp label2 ; nhảy tới label2 label1: ; thực hiện các câu lệnh ở đây nếu điều kiện đúng label2: ; kết thúc chương trình 6. Cấu trúc lệnh CISC và RISC - CISC: Tập lệnh phong phú, nhiều chức năng phức tạp. Ví dụ x86. - RISC: Tập lệnh đơn giản, các lệnh cơ bản. Ví dụ ARM. 7. Kết luận - Tập lệnh và địa chỉ là hai khái niệm cơ bản của kiến trúc máy tính. - Hiểu rõ về chúng giúp lập trình viên tối ưu hóa code và tận dụng tốt phần cứng.