Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 90 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
90
Dung lượng
1,16 MB
Nội dung
HỆ THỐNG MÁY TÍNH VÀ NGƠN NGỮ C CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 CHƯƠNG 4: MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.2 Một ví dụ mơ hình von Neumann: LC-3 4.3 Quá trình xử lý lệnh 4.4 Thay đổi trình xử lý lệnh 4.5 Khái niệm ISA LC-3 4.6 Nhóm lệnh thi hành 4.7 Nhóm lệnh di chuyển liệu 4.8 Nhóm lệnh điều khiển 4.9 Ba cấu trúc lệnh LC-3 4.10 Một ví dụ CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần Vào năm 1946, John von Neumann đưa mơ hình máy tính để xử lý chương trình máy tính gồm năm phận bản: - nhớ (memory) - đơn vị xử lý (processing unit) - thiết bị nhập (input) - thiết bị xuất (output) - đơn vị điều khiển (control unit) Chương trình máy tính chứa nhớ máy tính Việc điều khiển thứ tự lệnh cần thực đơn vị điều khiển đảm trách CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.1 Bộ nhớ (Memory) Tổng quát, với số bit địa k, biểu diễn 2k phần tử nhớ Với kiến trúc tập lệnh máy tính LC-3, có khơng gian địa 216, phần tử dài 16 bit CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.1 Bộ nhớ (Memory) Có hai thao tác truy xuất nhớ đọc ghi Đọc thông tin ô nhớ: - Đặt địa nhớ vào ghi địa nhớ MAR (Memory Address Register) - Tín hiệu Read tích cực - Sau thời gian, thơng tin từ nhớ có địa đặt vào ghi liệu nhớ MDR (Memory Data Register) CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.1 Bộ nhớ (Memory) Lưu giá trị vào ô nhớ: - Ghi địa ô nhớ vào ghi MAR giá trị cần lưu vào ghi MDR - Tín hiệu Write Enable tích cực - Khi đó, thơng tin ghi MDR ghi vào ô nhớ có địa ghi MAR CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.1 Bộ nhớ (Memory) CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.2 Đơn vị xử lý (Processing Unit) Đơn vị xử lý phận thực máy tính xử lý thơng tin (chia, bậc hai, … ) Theo mơ hình von Neumann phận xử lý đơn vị số học luận lý ALU (Arithmetic Logic Unit) thực phép tính số học cộng, trừ, thao tác logic AND, OR, NOT Các thao tác mà ALU LC-3 thực ADD, AND, NOT CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.1 Các thành phần 4.1.2 Đơn vị xử lý (Processing Unit) Kích thước toán hạng ALU xử lý thường xem chiều dài từ máy máy tính Mỗi tốn hạng xem từ Trong LC-3, ALU xử lý tốn hạng 16 bit Chúng ta nói LC-3 có chiều dài từ 16 bit (32 bit Intel Pentium 64 bit SUN SPARC-V9 Intel Core i3.) CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.3 Hai phương pháp điều khiển lặp Chúng ta dùng thuật ngữ lặp (loop) để mô tả chuỗi lệnh cần thực thi lặp lặp lại theo chế điều khiển Mỗi thân vịng lặp thực ta gọi lặp lại (iteration) vòng lặp CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.3 Hai phương pháp điều khiển lặp Trong ví dụ mục trên, phương pháp biến đếm sử dụng Nếu biết xác số lần lặp n lần, đơn giản cần gán cho biến đếm trị n, sau lần lặp, cần giảm biến đếm kiểm tra xem có hay chưa Nếu chưa 0, đặt trị cho ghi PC địa lệnh đầu thân vòng lặp, tiếp tục lặp lại CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.3 Hai phương pháp điều khiển lặp Phương pháp thứ hai dùng trị canh (sentinel) Cách đặc biệt hiệu khơng biết trước có lặp lại cần phải thực Thơng thường q trình lặp dãy kiện cần xử lý, cần thêm vào dãy kiện kiện kiểm tra giá trị mà biết trước hay theo quy ước không xuất kiện gốc Nếu việc kiểm tra xảy ra, tức việc lặp kết thúc Giá trị gọi trị canh CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.4 Ví dụ Giả sử cần cộng trị nguyên dương từ ô nhớ x3100 tới x310B Khi dùng trị âm để làm trị canh Giả sử trị canh chứa ô nhớ x310C -1 CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.4 Ví dụ CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.5 Lệnh JMP Lệnh JMP nạp ghi PC trị ghi xác định bời bit [8:6] lệnh Nếu lệnh JMP nằm địa x4000, R2 chứa trị x6600, PC chứa x4000, lệnh JMP x4000 thực thi, làm cho lệnh lệnh x6600 Vì ghi dài 16 bit, mã hóa địa cho nhớ 64K ISA LC-3, nên lệnh JMP khơng có giới hạn cho lệnh kế cần thực thi CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.8 Nhóm lệnh điều khiển 4.8.6 Lệnh TRAP Lệnh TRAP (opcode = 1111) cho phép lấy liệu vào xuất liệu khỏi máy tính có định dạng sau Lệnh thay đổi trị ghi PC, làm tới vị trí nhớ mà phần hệ điều hành để hệ điều hành thực tác vụ nhân danh chương trình thực thi Theo kiểu nói ngơn ngữ hệ điều hành, nói lệnh TRAP gọi dịch vụ hệ điều hành (service call) Các bit [7:0] lệnh TRAP tạo nên trapvector bit, xác định dịch vụ cần gọi mà chương trình muốn hệ điều hành thực CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 • • • 4.8 Nhóm lệnh điều khiển 4.8.6 Lệnh TRAP Một số dịch vụ cần biết để sử dụng : Nhập ký tự từ bàn phím: trapvector = x23 Xuất ký tự hình: trapvector = x21 Kết thúc chương trình: trapvector = x25 Khi hệ điều hành hồn tất dịch vụ, đếm chương trình PC đặt trở lại địa lệnh sau lệnh TRAP chương trình thực thi, chương trình tiếp tục chạy Đây khả thực giao tiếp LC-3 hệ điều hành chương trình thực thi CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.9 Ba cấu trúc lệnh LC-3 4.9.1 Ba cấu trúc lập trình có cấu trúc Trong lập trình có ba cấu trúc lệnh để thực tác vụ cần thiết, cấu trúc (sequential), điều kiện (conditional), lặp (iterative) Hình 4.16 trình bày ba cấu trúc triển khai tác vụ cần thực thi (task) CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.9 Ba cấu trúc lệnh LC-3 4.9.1 Ba cấu trúc lập trình có cấu trúc CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.9 Ba cấu trúc lệnh LC-3 4.9.2 Ba cấu trúc LC-3 CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.10 Một ví dụ Đếm số lần xuất ký tự xác định trước (được nhập từ bàn phím) mảng ký tự (file) cho trước Sau hiển thị số lần xuất hình(chấp nhận số lần xuất tối đa ký tự 9) CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.10 Một ví dụ CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.10 Một ví dụ CHƯƠNG MƠ HÌNH VON NEUMANN VÀ KIẾN TRÚC TẬP LỆNH LC-3 4.10 Một ví dụ