VI XỬ LÝ Câu 1: Anh (chị) hãy trình bày cấu trúc tổng quát của hệ vi xử lý, nêu rõ chức năng của từng khối thành phần. Giới thiệu về hệ vi xử lý : •Hệ VXL thường bao gồm: CPU (Central Processing Unit): Bộ xử lý trung tâm có nhiệm vụ tính toán và điều khiển + ALU (Arithmetic and Logic Unit): khối tính toán + CU (Control Unit): khối điều khiển Bộ nhớ (Memory): lưu trữ dữ liệu (data) và lệnh (instruction) cho CPU xử lý + Bộ nhớ ROM: lưu lệnh và dữ liệu của hệ thống + Bộ nhớ RAM: lưu lệnh và dữ liệu của hệ thống và của người dùng Các thiết bị vào (Inputs): Tiếp nhận dữ liệu và thông tin điều khiển, chuyển cho CPU xử lý Các thiết bị ra (Outputs): + Kết xuất thông tin ra (màn hình, giấy, ...) + Lưu trữ thông tin lâu dài (đĩa từ, đĩa quang, ....) Câu 2: Anh (chị) hãy trình bày cấu trúc tổng quát của bộ vi xử lý, nêu rõ chức năng của từng khối thành phần. Giới thiệu về vi xử lý :
VI XỬ LÝ Câu 1: Anh (chị) trình bày cấu trúc tổng quát hệ vi xử lý, nêu rõ chức khối thành phần Giới thiệu hệ vi xử lý : •Hệ VXL thường bao gồm: - CPU (Central Processing Unit): Bộ xử lý trung tâm có nhiệm vụ tính toán điều khiển + ALU (Arithmetic and Logic Unit): khối tính toán + CU (Control Unit): khối điều khiển - Bộ nhớ (Memory): lưu trữ liệu (data) lệnh (instruction) cho CPU xử lý + Bộ nhớ ROM: lưu lệnh liệu hệ thống + Bộ nhớ RAM: lưu lệnh liệu hệ thống người dùng - Các thiết bị vào (Inputs): Tiếp nhận liệu thông tin điều khiển, chuyển cho CPU xử lý - Các thiết bị (Outputs): + Kết xuất thông tin (màn hình, giấy, ) + Lưu trữ thông tin lâu dài (đĩa từ, đĩa quang, ) Câu 2: Anh (chị) trình bày cấu trúc tổng quát vi xử lý, nêu rõ chức khối thành phần Giới thiệu vi xử lý : 11 • Đơn vị điều khiển CU: Chức đơn vị điều khiển CU đọc giải mã lệnh chương trình từ nhớ -Điều khiển nhận lệnh từ nhớ đưa vào ghi lệnh - Tăng nội dung PC để trỏ sang lệnh - Giải mã lệnh nhận để xác định thao tác mà lệnh yêu cầu - Phát tín hiệu điều khiển thực lệnh - Nhận tín hiệu yêu cầu từ bus hệ thống đáp ứng với yêu cầu • Đơn vị số học lô-gíc ALU: ALU thực tất thao tác xử lý liệu bên vi xử lý phép toán lô-gíc, số học - Logic: AND, OR, XOR, NOT, phép dịch bit -Số học: cộng, trừ, nhân, chia, tăng, giảm,đảo dấu • Các ghi: lưu giữ thông tin tạm thời phục vụ cho hoạt động CPU -Thanh ghi lệnh: lưu mã lệnh thực -Thanh ghi địa nhớ: chứa địa liệu Vi xử lý sử dụng địa trỏ trực tiếp tới nhớ Nội dung ô nhớ có địa liệu trao đổi xử lý 22 -Thanh ghi tổng: gọi ghi tích lũy (accumulator) Thanh ghi có kích thước 8, 16, 32 64 bít thường dùng thể lưu kết tính toán đơn vị xử lý số học lô-gíc ALU Thanh ghi dùng để trao đổi liệu với thiết bị vào/ra •Bus liệu : Chức : -Vận chuyển lệnh từ nhớ đến CPU -vận chuyển liệu ALU ghi (THÊM) -• Vi xử lý (microprocessor): - Là vi mạch kiểu VLSI (Very Large Scale Integrated Circuit) - Có thể lập trình • Chức tính VXL: - Tính toán - Vận chuyển liệu • VXL thực chức thông qua thực lệnh chương trình: - Thực phép toán: số học, logic, dịch, quay,… - Kết nối trao đổi liệu với thiết bị bên thông qua cổng vào • Phân loại VXL dựa chức năng: - Vi xử lý đa chức (general-purpose microprocessors): + Chứa tất thành phần phục vụ tính toán điều khiển + Không bao gồm nhớ cổng vào - Vi điều khiển (microcontrollers): + Chứa tất thành phần phục vụ tính toán điều khiển + Có bao gồm nhớ cổng vào + Tất thành phần vi điều khiển tích hợp chíp đơn • Thực lệnh vi xử lý: - Vi xử lý thực tác vụ dựa dẫn (instructions), hay gọi lệnh - Một tập hợp lệnh xếp theo trật tự > chương trình - Chương trình thường lưu ổ đĩa Chương trình nạp vào nhớ kích hoạt Vi xử lý đọc thực lệnh chương trình nhớ 33 - Quá trình thực lệnh: + Đọc lệnh + Giải mã lệnh + Thực lệnh + Lưu kết lệnh (nếu có) Câu 3: Anh (chị) trình bày cấu trúc tổng quát thông số đặc trưng vi điều khiển 8051 Cấu trúc tổng quát - CPU (Central Processing Unit): đơn vị điều khiển trung tâm - Bộ nhớ chương trình ROM bao gồm Kbyte - Bộ nhớ liệu RAM bao gồm 128 byte - Bốn cổng xuất nhập - Hai định thời/bộ đếm 16 bit thực chức định thời đếm kiện - Bộ giao diện nối tiếp (cổng nối tiếp) - Khối điều khiển ngắt với hai nguồn ngắt - Bộ chia tần số 44 * Các thông số đặc trưng: 128 byte RAM, 4K byte ROM chip, định thời, cổng nối tiếp cổng (đều rộng bit) vào tất đặt chip có 40 chân Câu 4: Anh (chị) trình bày cấu trúc tổng quát thông số đặc trưng vi xử lý 8086 -Bên vi xử lý 8086 bao gồm khối chính: + Khối thực lệnh (EU- Execution Unit) nơi giả mã thi hành lệnh + Giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin 8086 với linh kiện bên -Sau tìm hiều cấu tạo bên khối • Khối thực lệnh (EU) 55 - - Khối thực lệnh (EU- Execution Unit) nơi giả mã thi hành lệnh EU bao gồm: Bộ xử lý số học logic(ALU - Arithmatic Logiccal Unit) nơi thưc lệnh số học lệnh logic Các ghi đa năng: Có chứa ghi đa 16 bit, ghi chứa loại liệu, nhiên số công việc, ghi lại có chức đặc biệt riêng mà ghi khác không thực + Thanh ghi AX: ghi chứa, kết thao tác thường chứa Nếu kết bit ghi AL sử dụng + Thanh ghi BX: ghi sở, thương chứa địa sở bảng sử dụng lệnh XLAT + Thanh ghi CX: ghi đếm, thường chứa số lần lặp lại trường hợp dùng lênh LÔP, CL thường chứa số lần quay hay dịch bít ghi + Thanh ghi DX: ghi liệu, thường sử dụng với ghi AX để thực phép nhân hay chia số 16 bit DX sử dụng để chứa địa cổng lệnh vào/ra liệu trực tiếp Thanh ghi cờ F đoạn ghi đặc biệt gọi đoạn ghi cờ hay đoạn ghi trạng thái Mỗi bit đoạn ghi dùng để phản ánh trạng thái định kết phép toán ALU thực trạng thái hoạt động CPU Đoạn ghi cờ có 16 bit dùng hết bit làm bit cờ Các bit cờ chia thành hai loại: * Các cờ trạng thái: có cờ trạng thái C, P, A, Z, S O Các cờ trạng thái thiết lập xóa sau hầu hết lệnh toán học logic + C (Carry): cờ nhớ; + P (Parity): cờ chẵn lẻ; + A (Auxiliary): cờ nhớ phụ; + Z (Zero): cờ rỗng, 66 + S (Sign): cờ dấu; + O (Overflow): cờ tràn, * Các cờ điều khiển: có cờ T, I, D Các cờ thiết lập xóa thông qua lệnh để điều khiển chế độ làm việc vi xử lý + T (Trap): cờ bẫy, + I (Interrupt): cờ ngắt; + D (Direction): cờ hướng - Có đoạn ghi trỏ (IP, BP, SP) đoạn ghi số (SI, DI) Các đoạn ghi ngầm định sử dụng làm đoạn ghi lệch cho đoạn tương ứng: + IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source Index): DI (Destinaton Index) Bảng tóm tắt kết hợp ngầm định đoạn ghi đoạn đoạn ghi lệch: Đoạn ghi đoạn Đoạn ghi lệch Địa CS IP Địa lệnh thực DS BX, DI, SI Địa đoạn liệu SS SP BP Địa đoạn ngăn xếp ES DI Địa chuỗi đích - Khối điều khiển (CU- Control unit) Có nhiệm vụ tạo tín hiệu điều khiển phận bên bên CPU • Khối giao tiếp bus (BIU) Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin 8086 với linh kiện bên BIU gồm : - Một cộng để tạo địa vật lý 20 bit từ ghi 16 bit - Bốn ghi đoạn 16 bit gồm CS, DS, SS ES để giúp 8086 truy cập tới đoạn nhớ + Thanh ghi đoạn mã CS (Code Segment), + Thanh ghi đoạn liệu DS (Data Segment) + Thanh ghi đoạn liệu phụ ES (Extra Segment) + Thanh ghi đoạn ngăn xếp SS (Stack Segment) 77 Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp 8086 với thiết bị bên • Các thông số đặc trưng: có 40 chân Vi xử lý 8086 thiết kế để hoạt động hai chế độ, tùy thuộc vào mức điện áp đặt chân số 33 (chân MN/MX): - Chế độ tối thiểu (chế độ MIN) đươc thiết lập điện áp chân số 33 mức 5V chế độ tong hệ thống có 8086 vi mạch nhớ , vi mạch ghép nối vào -Chế độ tối đa (chế độ MAX) thiết lập điện áp chân số 33 mức 0V, chế độ áp dụng cho hệ thống đa xử lý, đồng xử lý (8086 đồng xử lý toán học 8087) • Các chân mang thông tin địa -Vi xử lý 8086 có 20 đường địa từ A0 đến A19 tong 16 đường dây địa thấp từ A0 đến A15 ghép kênh liệu từ D0 đến D15 chân từ AD0 đến AD15 ; đường dây địa cao từ A16 đến A19 ghép kênh với tín hiệu trạng thái từ S3 đến S6 chân A16/S3 đến A19/S6 Các chân mang thông tin liệu • - • - - Vi xử ly 8086 có 16 đường dây liệu từ Do đến D15 ghép kênh với 16 đường địa thấp từ D0 đến D15 Khi hoạt động chu kỳ bus liệu đường dây mang thong tin liệu, liệu đọc hay vào nhớ Các chân tín hiệu trang thái Bốn đường dây địa cao từ A16 đến A19 8086 ghép kênh , trường hợp ghép kênh với tín hiệu trạng thái từ S3 đén S6 Các bít trang thái đưa thời điểm với liệu truyền chân AD0 đén AD15 READY: Tín hiệu báo cho CPU biết tình trạng sẵn sàng thiết bị ngoại vi hay nhớ Khi READY = CPU thực đọc/ghi liệu mà chèn thêm chu kỳ đợi Khi thiết bị ngoại vi hay nhớ cótốc độ chậm, chúng đưa tin hiệu READY = để báo cho CPU biết mà chờ chúng Lúc CPU tự 88 kéo dài thời gian thực đọc/ghi cách chèn thêm chu kỳ đợi • - - - - Các chân tín hiệu điều khiển ALE: [I] Address Latch Enable Xung cho phép chốt địa Khi ALE = có nghĩa chân ghép kênh AD có địa thiết bị vào/ra ônhớ Khi CPU chấp nhận treo chân không trạng thái trở kháng cao mà ALE = : [O] Data bus Enable Kích hoạt đệm bus liệu : Chọn nhớ (= 0) thiếtbị vào/ra (= 1) làm việc với CPU Khi bus địa có địa chỉtương ứng thiết bị Chân trạng thái trở kháng cao CPU chấp nhận treo :[O] Data Transmit/Receive Tín hiệu cho biết bus liệu vận chuyển liệu vào CPU hay khỏi CPU Tín hiệu dùng để điều khiển đệm chiều bus liệu : Dùng để báo truy cập cao hay băng thấp nhớ :[O] Read signal Xung cho phép đọc Khi RD = bus liệu nhận liệu từ nhớ thiết bị ngoại vi Chân trạng thái trở kháng caokhi CPU chấp nhận treo Các chân tín hiệu ngắt: • - - - INTR: [I] Interrupt request Tín hiệu yêu cầu ngắt che Khi có yêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = CPU kết thúc lệnh làm dở, sau vào chu kỳ chấp nhận ngắt đưa bên tín hiệu INTA = :[I] Tín hiệu chân kiểm tra lệnh WAIT Khi CPU thực lệnh WAIT mà lúc tín hiệu TEST = chờ tín hiệu TEST = thực lệnh NMI: [I] None-Maskable Interrupt Tín hiệu yêu cầu ngắt không che Tín hiệu không bị khống chế cờ IF CPU nhận biết tác động sườn lên xung yêu cầu ngắt Nhận yêu cầu ngắt (NMI = 1) CPU kết thúc lệnh đạng làm dở,sau chuyển sang thực chương trình phục vụ ngắt kiểu INT2 99 - RESET: Dùng để thiết lập lại phần cứng cho CPU Chuyển RESET xuống mức logic dùng để khởi tạo ghi nội vi xử lý khởi tạo chương trình phục vụ thiết lập hệ thống Câu 5: Anh (chị) trình bày đặc điểm kiến trúc vi xử lý với tập lệnh rút gon RISC (Reduced Instruction Set Computer) Nếu ưu nhược điểm kiến trúc vi xử lý RISC so với kiến trúc vi xử lý với tập lệnh phức tạp CISC(Complex Instruction Set Computer) Đặc điểm RISC Các lệnh đơn giản: Kiến trúc CISC sử dụng rộng rãi lệnh phức tạp câu lệnh giúp giảm phức tạp ngữ nghĩa Tuy nhiên, thực tế, trình biên dịch bỏ qua lệnh Vì lý này, kiến trúc RISC sử dụng lệnh đơn giản với độ dài cố định lệnh kết hợp load/store với số học Ít kiểu liệu: kiến trúc CISC hỗ trợ loạt cấu trúc liệu từ đơn giản phức tạp Tuy nhiên, liệu thực nghiệm cho thấy cấu trúc liệu phức tạp sử dụng RISC hỗ trợ vài kiểu liệu đơn giản cách hiệu kiểu liệu kết hợp/phức tạp tổng hợp từ chúng Các chế độ định địa (addressing mode) đơn giản: thiết kế CISC cung cấp số lượng lớn chế độ đánhđịa để hỗ trợ cấu trúc liệu phức tạp để cung cấp linh hoạt để truy cập toán hạng Tuy nhiên dẫn đến vấn đề thời gian thực thi lệnh độ dài lệnh biến thiên Điều dẫn đến việc giải mã lệnh định thời không hiệu Thiết kế RISC dùng chế độ định địa đơn giản lệnh có chiều dài cố định để tạo điều kiện cho việc xử lý song song (pipelining) Chế độ định địa nhớ gián tiếp không cung cấp Các ghi mục đích chung giống nhau: thiết kế RISC cho phép ghi dùng ngữ cảnh nào, đơn giản hóa thiết kế trình biên dịch Kiến trúc Harvard: thiết kế RISC thường sử dụng mô hình nhớ Harvard, dòng lệnh luồng liệu tách * Ưu điểm: 10 10 Câu 8: Anh (chị) trình bày loại ngắt vi xử lý 8086 trình xử lý CPU có yêu cầu ngắt - Các loại ngắt 8086: Trong hệ vi xử lý 8086 xếp nguyên nhân gây ngắt CPU vào nhóm sau: − Nhóm ngắt cứng: yêu cầu ngắt CPU tín hiệu đến từ chân INTR NMI Ngắt cứng INTR yêu cầu ngắt che Các lệnh CLI STI có ảnh hưởng trực tiếp tới trạng thái cờ IF vi xử lý, tức ảnh hưởng tới việc CPU có nhận biết yêu cầu ngắt chân tín hiệu hay không Yêu cầu ngắt chân INTR có kiểu ngắt N nằm khoảng 0-FFH Kiểu ngắt phải đưa vào bus liệu để CPU đọc có xung chu kỳ trả lời chấp nhận ngắt Các ngắt NMI ngắt không che được, tức không chịu ảnh hưởng cờ ngắt − Nhóm ngắt mềm: CPU thực lệnh ngắt dạng INT N, N số hiệu (kiểu) ngắt nằm khoảng 00-FFH (0-255) − Nhóm tượng ngoại lệ: ngắt lỗi nảy sinh trình hoạt động CPU phép chia cho 0, xảy tràn tính toán - Quá trình xử lí CPU có yêu cầu ngắt: Khi có yêu cầu ngắt kiểu N gửi đến CPU yêu cầu phép, CPU thực công việc sau: SP SP-2, [SP] FR, [SP] ô nhớ SP (chỉ đỉnh ngắn xếp, cất ghi cờ vào đỉnh ngăn xếp) IF 0, TF 0 (cấm ngắt khác tác động vào CPU, cho CPU chạy chế độ bình thường) SP SP-2, [SP] CS (chỉ đỉnh ngăn xếp, cất phần địa đoạn địa trở vào đỉnh ngăn xếp) SP SP-2, [SP] IP 16 16 (chỉ đỉnh ngăn xếp, cất phần địa lệch địa trờ vào đỉnh ngăn xếp) [N*4] IP, [N*4+2] CS (lấy lệnh địa chương trình phục vụ ngắt kiểu N tương ứng bảng vectơ ngắt) Tại cuối chương trình phục vụ ngắt, gặp lệnh IRET [SP] IP, SP SP+2 [SP] CS, SP SP+2 [SP] FR, SP SP+2 (bộ vi xử lý quay lại chương trình địa trở với giá trị cũ ghi cờ lấy từ ngăn xếp) * Về mặt cấu trúc chương trình, có ngắt xảy chương trình tạm dừng việc thực lưu ghi cần thiết ghi cờ vào ngăn xếp Sau trỏ lệnh CPU trỏ tới đoạn mã chương trình phục vụ ngắt Khi chương trình phục vụ ngắt kết thúc, CPU khôi phục lại trạng thái ghi chương trình đặt trỏ lệnh vị trí bị ngừng phục vụ ngắt Câu 9: Anh (chị) trình bày đặc điểm việc phân kênh tách thông tin vi xử lý 8086 Cho ví dụ minh họa việc tách tín hiệu địa vi xử lý 8086 có sử dụng chốt tín hiệu 74LS373 Để hạn chế số lượng chân cho tín hiệu vi mạch CPU, người ta hạn chế số chân vi mạch cách dồn kênh nhiều tín hiệu chân Các chân AD0 – AD16 8086 dồn kênh để đưa bên thông tin địa liệu Khi nhận tín hiệu bên vi mạch, cần phải tiến hành tách tín hiệu để tái tạo lại tín hiệu gốc cho bus độc lập (bus địa bus liệu) Đối với chân dồn địa chỉ/trạng thái phải làm tương tự Để hỗ trợ cho việc tách thông tin, CPU đưa thêm xung ALE cho ALE mức cao có tác dụng báo cho bên biết lúc thông tin địa chân dồn kênh có giá trị Xung ALE dùng để mở mạch chốt tách thông tin địa bị dồn kênh 17 17 Ví dụ: Bus địa - ALE = - Sử dụng 74LS373 để tách chốt địa + Đầu vào: AD0-AD15 ALE + Đầu ra: AD0-AD15 Câu 10: Anh (chị) cho biết cần thiết việc giải mã địa cho nhớ phối ghép vi xử lý 8086 với nhớ Trình bày cấu tạo chức chân giải mã 74LS273 Mỗi mạch nhớ nối ghép với CPU cần phải CPU tham chiếu xác thực thao tác ghi/đọc Điều có nghĩa mạch nhớ phải gán cho vùng riêng biệt có địa xác định nằm không gian địa tổng thể nhớ Việc gán địa cụ thể cho mạch nhớ thực nhờ xung chọn vi mạch lấy từ mạch giải mã địa Vì mạch có nhiều thiết bị I/O nhớ, cần phải có mạch giải mã địa để tạo tín hiệu chọn địa - Cấu tạo chức chân giải mã 74LS273 18 18 IC 74LS273 IC số tích hợp bỏi flip-flop loại D lắp theo kiểu đồng xung đồng hồ chân clear IC gồm có 20 chân đó: + Chân 20 nối với Vcc nằm dải 4,75 đến 5,25 Volt + Chân 10 nối với Mass + Chân chân Clear (MR) + Chân 11 chân xung đồng hồ (CP) + Các chân 3, 4, 7, 8, 13, 14, 17, 18 chân tín hiệu vào nối với dây tín hiệu đa hợp Vi Xử Lý + Các chân 2, 5, 6, 9, 12, 15, 16, 19 chân tín hiệu địa tách Do tích hợp FF_D nên IC tách đương địa đa hợp cua 8086 Vì mạch cần IC 74LS273 để tách hết 16 đường địa 8086 Câu 11: Anh (chị) cho biết cần thiết việc giải mã địa cho nhớ phối ghép vi xử lý 8086 với nhớ Trình bày cấu tạo chức chân giải mã 74LS138 - Sơ đồ cấu tạo bên chức chân IC 74LS138 19 19 + chân G2A, G2B G1: chân cho phép IC hoạt động, chân G2A G2B tích cực mức logic chân G1 tích cực mức logic + chân A, B, C tương ứng với chân số 1,2 IC: chân điều khiển cho phép chọn đầu mức thấp chi tiết cách điều khiển đầu ghi bảng thật + chân 15, 14, 13, 12, 11, 10, 9, tương ứng với đầu từ Y0 đến Y7, đầu tích cực mức logic thấp 0V - Để IC giải mã bit đầu vào chân G1 cần đưa lên mức logic chân G2 chuyển xuống mức logic thấp - Cơ chế giải mã bit đầu tương ứng sau: bít C, B ,A nhận giá trị tương ứng: + 000: đầu Y0 mức logic thấp, đầu lại đề mức logic cao + 001: đầu Y1 mức logic thấp, đầu lại đề mức logic cao + 010: đầu Y2 mức logic thấp, đầu lại đề mức logic cao + 011: đầu Y3 mức logic thấp, đầu lại đề mức logic cao + 100: đầu Y4 mức logic thấp, đầu lại đề mức logic cao 20 20 + 101: đầu Y5 mức logic thấp, đầu lại đề mức logic cao + 110: đầu Y6 mức logic thấp, đầu lại đề mức logic cao + 111: đầu Y7 mức logic thấp, đầu lại đề mức logic cao Câu 12: Anh (chị) trình bày đặc điểm tập lệnh vi điều khiển 8051, cho ví dụ minh họa - Tập lệnh 8051 tối ưu hoá cho ứng dụng điều khiển 8bit - Có nhiều kiểu định địa - Tập lệnh hỗ trợ biến 1-bit cho phép quản lí bit trực tiếp hệ logic điều khiển có yêu cầu xử lý bit - Cũng vi xử lý 8-bit, lệnh 8051 có opcode 8bit, số lệnh lên đến 256 lệnh (thực tế có 255 lệnh, lệnh không định nghĩa) Ngoài opcode, số lệnh có thêm byte cho liệu địa Tập lệnh có 139 lệnh byte, 92 lệnh byte 24 lệnh byte - Chia làm nhóm lệnh: +Nhóm lệnh số học Vd: ADD A, 30h SUB A, 00h MUL AB DIV AB +Nhóm lệnh Logic Vd: ANL A, R0 ;lệnh nhân logic XRL A,RO ;lệnh cộng đảo logic +Nhóm lệnh di chuyển liệu Vd: Lệnh MOV: MOV A, R0 ;còn có lệnh MOVC MOVX Lệnh cắt nội dung nhớ trực tiếp vào ngăn xếp: PUSH direct Lệnh lấy lieu từ ngăn xếp trả ô nhớ trực tiếp: POP direct +Nhóm lệnh xử lí bit Vd: Xoá bit: CLR bit Lệnh đặt bit: SETB bit Lệnh bù bit: CPL bit +Nhóm lệnh rẽ nhánh Vd: Lệnh gọi CTC: ACALL addr11 Lệnh trở từ CTC: RET Lệnh nhảy có điều kiện không điều kiện 21 21 -Lí thuyết bổ sung Kiến trúc RISC CISC • Tập lệnh phức hợp (CISC) tập lệnh giảm thiểu (RISC) - CISC (Complex Instruction Set Computers) + Hỗ trợ tập lệnh phong phú -> giảm lượng mã chương trình + Tập lệnh lớn -> khó tối ưu hoá cho chương trình dịch + Các lệnh có độ dài thời gian thực khác -> giảm hiệu chế ống lệnh (pipeline) - RISC (Reduced Instruction Set Computers) + Tập lệnh tối thiểu: số lượng lệnh, chế độ đ/c khuôn dạng lệnh thời gian thực + Tăng hiệu chế ống lệnh (pipeline) + Dễ tối ưu hoá chương trình dịch + Chương trình thường dài, cần nhiều nhớ tăng thời gian truy cập nhớ • Phân loại tập lệnh vi xử lý họ CISC - Vận chuyển DL - Số học nguyên logic - Dịch quay - Chuyển điều khiển - Xử lý bit - Điều khiển hệ thống - Thao tác dấu phảy động - Các lệnh đơn vị chức đặc biệt • Các đặc trưng vi xử lý kiểu RISC: Thiết kế vi xử lý RISC sử dụng điều khiển cứng (hardwared control), không sử dụng vi mã Tất lệnh RISC có định dạng cố định việc sử dụng vi mã không cần thiết Vi xử lý RISC xử lý hầu hết lệnh chu kỳ Tập lệnh vi xử lý RISC chủ yếu sử dụng lệnh với ghi, lệnh nạp lưu Tất lệnh số học lô-gíc sử dụng ghi, lệnh nạp lưu dùng để truy nhập nhớ Các lệnh có số định dạng cố định chế độ địa Vi xử lý RISC có số ghi dùng chung 22 22 Vi xử lý RISC xử lý vài lệnh đồng thời thường áp dụng kỹ thuật đường ống (pipeline) *So sánh CISC RISC: -Khác với vi xử lý RISC, vi xử lý CISC bao gồm số lượng lớn lệnh nhiều chế độ địa chỉ, lệnh chế độ địa sử dụng Ngược lại với RISC có lệnh nạp lưu thao tác với nhớ, hầu hết lệnh vi xử lý CISC truy nhập nhớ Do tập lệnh phức tạp, CISC cần đơn vị điều khiển phức tạp vi chương trình Trong đó, RISC sử dụng điều khiển kết nối cứng nên nhanh Kiến trúc CISC khó triển khai kỹ thuật đường ống -Ưu điểm CISC chương trình phức tạp cần vài lệnh với vài chu trình nạp RISC cần số lượng lớn lệnh để thực nhiệm vụ Tuy nhiên, RISC cải thiện hiệu đáng kể nhờ xung nhịp nhanh hơn, kỹ thuật đường ống hiệu tối ưu hóa trình biên dịch Hiện nay, vi xử lý CISC sử dụng phương pháp lai, với lệnh đơn giản CISC sử dụng cách tiếp cận RISC để thực thi xen kẽ (kỹ thuật đường ống) với câu lệnh phức tạp sử dụng vi chương trình để đảm bảo tính tương thích - RISC chiếm ưu chiến công nghệ, CISC chiếm ưu chiến thương mại CISC nhiều hạn chế mặt kỹ thuật công nghệ Đối với công nghệ tại, triển khai RISC nhanh CISC cải thiện cách thêm nhiều transistor Kiến trúc von-Neumann • Kiến trúc máy tính von-Neumann: Kiến trúc von- Neumann nhà toán học John von-Neumann đưa vào năm 1945 báo cáo máy tính EDVAC • Các đặc điểm kiến trúc máy tính von-Neumann: - Một nhớ dùng để lưu trữ liệu (data) lệnh (instructions) - Dữ liệu lệnh lưu trữ phần riêng nhớ - Bộ nhớ đánh địa theo vùng, không phụ thuộc vào loại liệu mà lưu trữ - Quá trình thực lệnh diễn Kiến trúc Harvard • Bộ nhớ chia thành phần riêng: 23 23 - Bộ nhớ lưu chương trình - Bộ nhớ lưu liệu • CPU sử dụng hệ thống bus để giao tiếp với nhớ: - Hệ thống bus giao tiếp với nhớ lưu chương trình - Hệ thống bus giao tiếp với nhớ lưu liệu • Nhận xét: - Kiến trúc Harvard phức tạp kiến trúc von-Neumann - Kiến trúc Harvard nhanh kiến trúc von-Neumann CPU giao tiếp đồng thời với nhớ chương trình liệu, thích hợp với chế ống lệnh xử lý song song Câu 1: Giả thiết cho ghi AX vi xử lý 8086 giá trị xác định Anh (chị) sử dụng ngôn ngữ lập trình hợp ngữ để viết chương trình chuyển đổi giá trị hai ghi AH AL Model Small Stack 100 Data Code MAIN Proc Mov AX,@Data Mov DS,AX Mov ES,AX XCHG AH,AL Mov AH,4CH Int 21h Main Endp End Main Câu 2: Giả thiết cho nội dung ghi vi xử lý 8086 sau: AX=94B3H; BX=5AE4H; CX= A4B7H; DX= EA8DH Hãy cho biết kết phép toán sau nội dung cờ CF,OF,ZF sau phép toán a ADD AX,BX b SUB BX,CX c ADD CL,DL d OR BH,AL Giải 24 24 Các lênh NOT, AND, OR, XOR ảnh hưởng đến cờ Z, S P Lệnh ADD, SUB ảnh hưởng đến tất cờ MOV, XCHG không ảnh hưởng đến cờ Trong phép cộng số dấu, tượng tràn xảy kết nhận có dấu khác với dấu số hạng Phép trừ số khác dấu phép cộng số dấu tượng tràn có dấu xra kqủa nhận có dấu khác với dấu số bị trừ CF=1: Tràn không dấu ; OF=1: Tràn có dấu Cách xác định cờ: − C CF (Carry Flag): cờ nhớ CF = có nhớ mượn từ bít có nghĩa lớn 25 25 MSB (Most Significant Bit) − P PF (Parity Flag): cờ chẵn lẻ PF phản ánh tính chẵn lẻ tổng số bít có kết Cờ PF =1 tổng số bít kết lẻ (odd parity) PF=0 tổng số bít kết chẵn (even parity) − A AF (Auxiliary Carry Flag): cờ nhớ phụ có ý nghĩa ta làm việc với số BCD (Binary Coded Decimal) AF = có nhớ mượn từ số BCD thấp (4 bít thấp) sang số BCD cao (4 bít cao) − Z ZF (Zero Flag): cờ rỗng ZF =1 kết = ZF =0 kết 0 − S SF (sign flag): cờ dấu SF = kết âm SF = kết không âm − O OF (Overflow Flag): cò tràn OF = kết số bù vượt qua giới hạn biểu diễn dành cho Câu 3: Giả thiết vi xử lý 8086 xử lý tập lệnh có nội dung sau: MOVE AH, ABh MOVE AL, CDh ADD BH, AH MOVE SI, 1010h MOVE DS, 1200h MOVE [ACDEh], AX 26 26 a Anh (chị) xác định giá trị ghi BH giá trị ghi cờ AF,SF,PF,ZF b Anh (chị) xác định giá trị ghi AX ô nhớ, xác định địa vật lý ô nhớ [ACDEh] a BH=ABh AF=0 ; SF=0 ; PF=0 ; ZF=0 b AX=ABCDh Địa vật lý ô nhớ [ACDEh] = 1200h x 10h + 1010h = 13010h Câu 4: Giả thiết vi xử lý 8086 xử lý tập lệnh có nội dung sau: MOVE BH, A0h MOVE BL, 12h MOVE AH, BH MOVE SI, 1001h MOVE DS, AB00h MOVE [ACDEh], BX a Anh (chị) xác định giá trị ghi BX ô nhớ, xác định địa vật lý ô nhớ b Giả sử mã tác vụ lênh MOV 100010, anh (chị) xác định lệnh mã máy tương ứng với lệnh: MOVE AH, BH a BX=A012h Địa vật lý ô nhớ = AB00h x 10h + 1001h = AC001h b Kết dạng mã máy tương ứng với lệnh MOVE AH,BH là: 10001000 11100111 = 88E7 Câu 5: Kết nối vi mạch nhớ RAM có dung lượng 1k x 4bits với vi xử lý 8086 địa 00000h Anh (chị) xây dựng mạch giải mã địa có sử dụng giải mã 74LS138 - Vì mạch có dung lượng nhớ (1K x4bit) = 210 x 4bit Tương ứng vi mạch cần 10 đường địa từ A0- A9 đường liệu từ D0 – D3 27 27 - Modul nhớ cần xây dựng có dung lượng ( 8K x4bit) = 213 x4bit Và đường liệu từ D0- D7 => Ta cần vi mạch ( 1K x4bit) để xây dựng thành module ( 8K x4) Bảng địa đầu - cuối: RAM RAM RAM RAM RAM RAM RAM RAM A19A18A A15A14A A11A10A A7A6A5 A3A2A1 Địa A4 A0 17A16 13A12 9A8 0000 000 0000 0000 0000 0 0 0000 000 0011 1111 1111 0 F F 0000 000 0100 0000 0000 0 0 0000 000 0111 1111 1111 0 F F 0000 000 1000 0000 0000 0 0 0000 000 1011 1111 1111 0 B F F 0000 000 1100 0000 0000 0 C 0 0000 000 1111 1111 1111 0 F F F 0000 000 0000 0000 0000 0 0000 000 0011 1111 1111 F F 0000 000 0100 0000 0000 0 0000 000 0111 1111 1111 F F 0000 000 1000 0000 0000 0 0000 000 1011 1111 1111 B F F 0000 0001 1100 0000 0000 C 0 28 28 0000 0001 1111 1111 1111 F F F Từ A0 – A9 10 đường địa Từ A10- A19 đưa vào mạch giải mã dùng 74LS138 • Mạch ghép nối nhớ sau: 29 29 30 30 ... trưng vi xử lý kiểu RISC: Thiết kế vi xử lý RISC sử dụng điều khiển cứng (hardwared control), không sử dụng vi mã Tất lệnh RISC có định dạng cố định vi c sử dụng vi mã không cần thiết Vi xử lý... bày đặc điểm vi c phân kênh tách thông tin vi xử lý 8086 Cho ví dụ minh họa vi c tách tín hiệu địa vi xử lý 8086 có sử dụng chốt tín hiệu 74LS373 Để hạn chế số lượng chân cho tín hiệu vi mạch CPU,... cứng cho CPU Chuyển RESET xu ng mức logic dùng để khởi tạo ghi nội vi xử lý khởi tạo chương trình phục vụ thiết lập hệ thống Câu 5: Anh (chị) trình bày đặc điểm kiến trúc vi xử lý với tập lệnh rút