Danh mục

Bài giảng Kiến trúc máy tính: Chương II

Số trang: 31      Loại file: pptx      Dung lượng: 1.81 MB      Lượt xem: 25      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 8,000 VND Tải xuống file đầy đủ (31 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Kiến trúc máy tính - Chương II: Kiến trúc tập lệnh 1, trình bày các nội dung cơ bản: xem lại cách thực thi một chương trình, phân loại lệnh trong MIPS, truy cập bộ nhớ trong MIPS, chi tiết về các toán tử(Add, sub, etc), chi tiết về các lệnh chuyển đổi dữ liệu (load, store ), chi tiết về các lệnh điều khiển (Jump, branch if equal…).
Nội dung trích xuất từ tài liệu:
Bài giảng Kiến trúc máy tính: Chương IIKiến trúc tập lệnh1Nội dung¡ Xem lại cách thực thi một chương trình¡ Phân loại lệnh trong MIPS¡ Truy cập bộ nhớ trong MIPS¡ Chi tiết về các toán tử – Add, sub, etc.¡ Chi tiết về các lệnh chuyển đổi dữ liệu – Load, store…¡ Chi tiết về các lệnh điều khiển – Jump, branch if equal…Thực thi lệnhTodaywe’regoingtolearnthedetails!Thực thi chương trìnhBộ xử lý thực thi chương trìnhnhư thế nào?1. Tải lệnh2. Tìm ra toán tử được sửdụng3. Tìm ra dữ liệu nào đượcsử dụng4. Thực hiện tính toán5. Tìm lệnh tiếp theoLặp lại quá trình …Bài giảng nhấn mạnh sự thực thi trong bộ xử lý MIPSVí dụ: Tập lệnh MIPSĐịnh dạng trường lệnh 3 toán hạng : Complex operationmany instructions withtemporary values.Phân loại tập lệnhToán tử– Số học (add, multiply, subtract, divide, …)– Logic (and, or, not, xor, …)Dịch chuyển dữ liệu– Move (register to register)– Load (memory to register)– Store (register to memory)Điều khiển dữ liệu– Branch (có điều kiện, e.g., , ==)– Jump (không điều kiện, e.g., goto)Bảng tham khảo định dạng lệnhTập thanh ghi trong MIPS Câu hỏi: Tại sao giá trị thanh ghi R0 luôn bằng 0?32 Thanh ghi đa dụng. – Kí hiệu R0…R31 hoặc $0…$31 Trả lời: Luôn cần – Các biến phải lưu trên thanh ghi. giá trị 0 trong một chương trìnhMột số trường hợp đặc biệt. Move: – R0 luôn có giá trị zero (0) adddest,src,R0 – R29 là thanh ghi con trỏ ngăn xếp – R31 được sử dụng cho thủ tục quay lại địa chỉMột số thanh ghi đặc biệt. – PC (Program Counter): Thanh ghi lệnh hiện tại – HI & LO: lưu kết quả của phép nhân – Thanh ghi dấu phẩy động – Một số thanh ghi điều khiểnTổ chức bộ nhớBộ nhớ là một mảng 1 chiều lưu trữ dữ liệu • Mỗi ô nhớ có kích thước 1 byte (8 bits) • Địa chỉ bộ nhớ trong mảngĐịa chỉ bộ nhớ được đánh chỉ số trên mảng • Máy tính 32 bits, có 232 ô nhớ (4GB) • Máy tính 64‐bit, có 264 ô nhớ (16EB) – 64-bit x86 lên tới ~48‐bits một ô nhớ (4PB). Dữ liệu: Kiểu và kích thướcCác kiểu dữ liệu trong MIPS được định nghĩa là 1 từ – Một từ gồm 32 bits = 4 bytes – 232 bytes = 230 words: addresses 0, 4, 8, …Câu hỏi: Đâu là 2 bit cuối cùng trong một địa chỉ từ ?Truynhậpalignment(Accessalignment)• Địa chỉ Alignment : Tạo trên 4 byte (word) ở đường biên (e.g., 0, 4, 8,12…) – Dữ liệu được lưu trữ ở địa chỉ byte chia hết cho kích thước• Địa chỉ Unalignment thì không (e.g., 1, 3, 7, 63)• Một số kỹ thuật hỗ trợ truy cập Unaligment (not MIPS) – Phần cứng có thể chuyển đổi thành đa truy cập định tuyến ( complex) – Phần cứng có thể dò được và có phần mềm cố định truy cập không định tuyến (slow)• Một số nhược điểm – 2 truy cập bộ nhớ cộng gộp tạo ra dữ liệu unaligned – Intel cung cấp hỗ trợ thực thi mức cao trên vào năm 2010 (Nehalem)Processorexecutionmodel¡Bộ xử lý thực thilệnh theo 2 chế Question: Whydowe careaboutin‐độ sequential và orderand atomic execution?atomic Answer: Withoutitwe couldnot understand theprogram.– Sequential:Máy tính lưu trữ chương trìnhChương trình và dữ liệu được lưu trữ trong bộ nhớ – Các lệnh phải được nạp từ bộ nhớ để thực thi – Dữ liệu phải được nạp từ bộ nhớ để tính toánVí dụ: Các chỉ thị lệnhPhép toán (Data operations)– Số học (add, multiply, subtract, divide, 1.Dataoperations:…) add/sub– Logic (and, or, not, xor, …)Dịch chuyển dữ liệu (Data transfer)– Move (register to register) 2.Datatransfers:load– Load (memory to register) word/storeword– Store (register to memory)Rẽ nhánh (Sequencing) 3.Sequencing:– Branch (conditional, e.g., , ==) Branch/jump– Jump (unconditional, e.g., goto)Chi tiết về các chỉ thị lệnh1. Program Counter (PC) lưu trữ địa chỉ lệnh.2. Các lệnh được nạp từ bộ nhớ vào thanh ghi lệnh.3. Bộ điều khiển giải mã lệnh và báo cho ALU và tệp thanh ghi phải làm gì.4. ALU thực thi lệnh và kết quả được chuyển lại tệp thanh ghi.5. Bộ điều khiển cập nhật lại giá trị của PC cho lệnh tiếp theo.Add/subexample(1of2)Add/subexample(2o ...

Tài liệu được xem nhiều: