CHƯƠNG 4 MỨC VI LẬP TRÌNH
lượt xem 7
download
Chương trình mã máy đang thực hiện chiếm 3 vùng nhớ khác nhau trong bộ nhớ: vùng lệnh, vùng dữ liệu, vùng ngăn xếp Vùng lệnh: chứa các lệnh của chương trình, do Thanh ghi bộ đếm chương trình quản lý. Vùng dữ liệu: chứa dữ liệu, do thanh ghi con trỏ dữ liệu quản lý Vùng ngăn xếp: chứa địa chỉ CTC, ngắt, phục vụ thực hiện rẽ nhánh, do thanh ghi con trỏ ngăn xếp quản lý
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CHƯƠNG 4 MỨC VI LẬP TRÌNH
- CHƯƠNG 4 MỨC VI LẬP TRÌNH BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 1 /87
- THANH GHI Chức năng và đặc điểm: Tập hợp các thanh ghi nằm trong BXL Chứa các thông tin tạm thời phục vụ cho hoạt động ở thời điểm hiện tại của BXL Như là mức đầu tiên của hệ thống nhớ Tùy thuộc vào BXL cụ thể Số lượng thanh ghi nhiều → tăng hiệu năng của BXL Có hai loại thanh ghi Các thanh ghi lập trình được Các thanh ghi không lập trình được BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 2 /87
- THANH GHI Một số thanh ghi điển hình thanh ghi địa chỉ Các Bộ đếm chương trình (Program Counter) Con trỏ dữ liệu (Data Pointer) Con trỏ ngăn xếp (Stack Pointer) Thanh ghi cơ sở và thanh ghi ch ỉ s ố (Base Register & Index Register) thanh ghi dữ liệu Các Thanh ghi trạng thái (thanh ghi cờ) BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 3 /87
- THANH GHI Thanh ghi địa chỉ Chương trình mã máy đang thực hiện chiếm 3 vùng nhớ khác nhau trong bộ nhớ: vùng lệnh, vùng dữ liệu, vùng ngăn xếp Vùng lệnh: chứa các lệnh của chương trình, do Thanh ghi bộ đếm chương trình quản lý. Vùng dữ liệu: chứa dữ liệu, do thanh ghi con tr ỏ d ữ li ệu quản lý Vùng ngăn xếp: chứa địa chỉ CTC, ngắt, ph ục vụ th ực hiện rẽ nhánh, do thanh ghi con tr ỏ ngăn x ếp qu ản lý BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 4 /87
- THANH GHI Bộ đếm chương trình gọi là con trỏ lệnh IP (Instruction Pointer), Còn quản lý địa chỉ vùng lệnh Giữ địa chỉ của lệnh tiếp theo sẽ được nhận vào Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 5 /87
- THANH GHI Minh họa bộ đếm chương trình . . . Lệnh Lệnh Lệnh Lệnh sẽ được PC nhận vào Lệnh kế tiếp Lệnh Lệnh . . . BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 6 /87
- THANH GHI Thanh ghi con trỏ dữ liệu Chứa địa chỉ của ngăn nhớ dữ liệu mà BXL cần truy nhập ... Dữ liệu Dữ liệu Dữ liệu DP DL cần đọc/ghi Dữ liệu Dữ liệu . . . BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 7 /87
- THANH GHI Con trỏ ngăn xếp xếp (Stack): Ngăn Là vùng nhớ có cấu trúc LIFO Đáy ngăn xếp là một ngăn nh ớ xác định Đỉnh ngăn xếp có thể bị thay đổi trỏ ngăn xếp SP: Con SP trỏ vào ngăn nhớ đỉnh ngăn xếp Cất thêm thông tin vào ngăn x ếp → SP giảm Lấy thông tin từ ngăn xếp → SP tăng Khi ngăn xếp rỗng → SP trỏ vào đáy BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 8 /87
- THANH GHI CÊt vµo SP Đỉnh Stack ChiÒu LÊy r a t¨ng cña ®Þa chØ Đáy Stack BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA 9 /87
- THANH GHI Thanh ghi cơ sở và thanh ghi chỉ số ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở Thanh (ngăn nhớ gốc tương đối), còn gọi: địa chỉ đoạn (segment) Thanh ghi chỉ số: chứa độ lệch của địa chỉ giữa ngăn nhớ mà BXL cần truy nhập so với ngăn nhớ cơ sở, còn gọi: địa chỉ offset 10 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- . . . Thanh ghi cơ sở Ngăn nhớ cơ sở Gốc tương đối Thanh ghi chỉ số ch ng lệ ả Kho Ng/nhớ cần truy nhập . . . 11 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- Các thanh ghi dữ liệu Chứa các dữ liệu tạm thời hoặc kết quả trung gian Cần có nhiều thanh ghi dữ liệu Các thanh ghi số nguyên: 8, 16, 32, 64, ... Bit Các thanh ghi số thực (dấu phẩy động) 12 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- Thanh ghi trạng thái gọi là thanh ghi cờ (Flag Register) Còn Chứa các thông tin trạng thái của BXL Các cờ phép toán: báo hiệu trạng thái của phép toán Các cờ điều khiển: biểu thị trạng thái điều khiển c ủa BXL 13 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- Minh họa thanh ghi trạng thái x x x x OF DF IF TF SF ZF X AF X PF X CF • OF (Overflow - tràn): OF = 1 xác định tràn số học, xảy ra khi kết quả vượt ra ngoài ph ạm vi biểu diễn. • DF (Direction- hướng): xác định hướng chuyển chuỗi, DF = 1 khi CPU làm việc với chuỗi Cờ theo thứ tự từ phải sang trái và ngược lại. • IF (Interrupt - ngắt): cho phépuhay ển m các ngắt có mặt nạ. điề khi cấ Cờ trạng thái • TF (Trap - bẫy): đặt CPU vào chế độ từng bước, dùng cho các chương trình g ỡ rối (debugger). • SF (Sign - dấu): dùng để chỉ các kết quả số học là số dương (SF = 0) hay âm (SF = 1). • ZF (Zero): = 1 nếu kết quả của phép toán trước là 0. • AF (Auxiliary – nhớ phụ): dùng trong các số thập phân để chỉ nhớ từ nửa byte thấp hay mượn từ nửa byte cao. • PF (Parity): PF = 1 nếu kết quả của phép toán là có tổng số bit 1 là chẵn (dùng để ki ểm tra lỗi truyền dữ liệu) •CF (Carry): CF = 1 nếu có nhớ hay mượn từ bit cao nhất của kết quả. Cờ này cũng dùng cho các lệnh quay. 14 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- 4.2.1 Đường dữ liệu Đường dữ liệu là một phần của CPU, nó có chứa ALU, các đầu vào và đầu ra. Thí dụ trên hình vẽ: 16 thanh ghi 16 bit giống nhau tạo nên một bộ nhớ tạm chỉ truy cập được ở mức vi chương trình. Thanh ghi đưa nội dung ra: bus A, bus B hoặc đồng thời cả 2 bus. Nạp vào thanh ghi: từ bus C. ALU (16 bit) có thể thực hiện 4 chức năng: A+B, A AND B, A và not A A F0 và F1 định chức năng sẽ được ALU thực hiện. ALU sinh ra hai bit trạng thái dựa trên kết quả ra hiện thời của nó: N có giá trị 1 khi kết quả ra là âm Z có giá trị 1 khi kết quả ra bằng 0 (Zê-rô). 15 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- 4.2.1 Đường dữ liệu (Data path) Shifter có thể dịch: trái, phải, không dịch. Có thể thực hiện dịch trái hai bit một giá trị ghi trong thanh ghi R, bằng cách tính R+R trong ALU, sau đó dịch kết quả (tổng) một bit nữa sang trái bằng thanh ghi dịch. A latch và B latch: được nạp từ bus A và bus B để cho phép có thể thay đổi nội dung các thanh ghi đã nạp giá trị vào ALU. Các tín hiệu L0 và L1 điều khiển việc nạp giá trị trên bus A và bus B vào các thanh ghi chốt. 16 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- 4.2.1 Đường dữ liệu (Data path) MAR: thanh ghi địa chỉ ô nhớ cần thao tác Có thể được nạp từ thanh ghi chốt B song song với một thao tác của ALU. M0 điều khiển việc nạp của MAR. MBR: thanh ghi đệm (dữ liệu) đọc/ghi bộ nhớ. Được nạp giá trị từ đầu ra của thanh ghi dịch, giá trị này cũng có thể đồng thời được chứa vào một trong các thanh ghi của bộ nhớ tạm. M1 điều khiển việc nạp của MBR từ đầu ra của thanh ghi dịch M2 và M3 điều khiển việc đọc và ghi bộ nhớ. AMUX: bộ dồn kênh để chọn dữ liệu đưa vào ALU từ A latch hay từ MBR A0 điều khiển AMUX. 17 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- 4.4.2 Thí dụ về một vi chương trình Các thanh ghi: PC, AC và SP IR: Thanh ghi lệnh. TIR (Temporary IR): chứa tạm thời bản sao của IR dùng để giải mã vĩ chỉ thị. 0, 1, -1: các hằng số được chỉ ra trên thanh ghi AMASK ( 0000.1111.1111.1111b): làm mặt nạ để tách các bit của trường địa chỉ khỏi các bit của trường opcode trong chỉ thị MAC-1. SMASK ( 0000.0000.1111.1111b): làm mặt nạ để tách địa chỉ offset 8 bit trong các chỉ thị INSP và DESP. Sáu thanh ghi còn lại (A, B, C, D, E, F) không được gán trước các chức năng, có thể được sử dụng theo ý của người lập vi chương trình. 18 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- 4.2.2 Vi chỉ thị - microinstruction Các tín hiệu để điều khiển đường dữ liệu gồm 9 nhóm: 16 tín hiệu để điều khiển việc nạp cho bus A từ bộ nhớ tạm (có 16 thanh ghi). 16 tín hiệu để điều khiển việc nạp cho bus B từ bộ nhớ tạm. 16 tín hiệu để điều khiển việc nạp cho bộ nhớ tạm từ bus C. 2 tín hiệu để điều khiển 2 thanh ghi ch ốt A và B. 2 tín hiệu để điều khiển chức năng ALU. 2 tín hiệu để điều khiển bộ dịch. 4 tín hiệu để điều khiển MAR và MBR. 2 tín hiệu để chỉ rõ thao tác đối với bộ nhớ (R/W). 1 tín hiệu để điều khiển Amux. Tổng số tín hiệu: 61 19 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
- ... 4.2.2 Vi chỉ thị - microinstruction Có thể điều khiển đường dl bằng 61 tín hiệu Thực hiện một chu kỳ của đường dữ liệu: Một chu kỳ bao gồm việc mở cổng cho các giá trị trong bộ nhớ tạm đi vào bus A và bus B, chốt chúng lại trong hai thanh ghi chốt bus A latch và B latch Cho các giá trị từ các thanh ghi chốt chạy qua ALU và shifter Cuối cùng là việc chứa các kết quả vào trong bộ nhớ tạm hoặc vào MBR. Ngoài ra MAR cũng có thể được nạp, sau đó một chu kỳ bộ nhớ sẽ bắt đầu. 20 / BỘ MÔN KỸ THUẬT MÁY TÍNH – KHOA
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Phần cứng điện tử, kỹ thuật sửa chữa máy tính - Chương 4
14 p | 422 | 229
-
Phần mềm thiết kế tự động 3D SolidWorks ( Nguyễn Anh Cường ) - Chương 7
0 p | 407 | 93
-
Hướng dẫn sử dụng solidwork 2004 - Phần 4 hỗ trợ thiết kế khuôn mẫu (mold design) - chương 19
10 p | 257 | 80
-
Giáo trình lắp ráp, cài đặt máy vi tính - Bài 4
2 p | 161 | 48
-
LTHDT Bài 02. Cú pháp Java cơ bản
50 p | 183 | 45
-
Lập trình hướng đối tượng C++ - Chương 4
8 p | 135 | 42
-
Cấu trúc Máy tính và Lập trình Assembly - Chương 4
37 p | 105 | 21
-
Giáo trình Lắp ráp và cài đặt máy tính - Trường Cao đẳng Công Thương TP.HCM
166 p | 57 | 18
-
CHƯƠNG 4: HÀM (FUNCTION)
8 p | 123 | 15
-
Giáo trình Lập trình nâng cao (Trên ngôn ngữ Pascal) - ĐH Nông Nghiệp I - Hà Nội
207 p | 65 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 4 - Nguyễn Minh Thành
19 p | 74 | 7
-
Giáo trình Nhập môn Tin học: Phần 4 - ThS. Đào Tăng Kiệm
20 p | 52 | 7
-
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C-Chương 4: HÀM
8 p | 89 | 5
-
Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 4 - ThS. Hoàng Mạnh Hà
21 p | 68 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn