Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
532,73 KB
Nội dung
Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 1 1 Nguyễn Thị Mỹ Dung – Khoa CNTT Chương II Chương II : Ki : Ki ế ế n tr n tr ú ú c ph c ph ầ ầ n m n m ề ề m b m b ộ ộ x x ử ử lý lý Số tiết: 10 Nội dung: I. Tổ chức chung của hệ thống MTĐT II. Kiến trúc máy tính III. Các kiểu định vị cơ bản IV. Tập lệnh V. Kiểu toán hạng và chiều dài của toán hạng VI. Tác vụ mà lệnh thực hiện VII. Khái niệm về kiến trúc RISC và CISC VIII. Quan hệ ngôn ngữ cấp cao và ngôn ngữ máy. 2 Nguyễn Thị Mỹ Dung – Khoa CNTT I. T I. T ổ ổ ch ch ứ ứ c chung c c chung c ủ ủ a m a m ộ ộ t h t h ệ ệ th th ố ố ng MT ng MT 1/ Các thành phần cơ bản - Bộ xử lý trung tâm (CPU). - Bộ nhớ trong. - Các bộ phận nhập/ xuất. Các thành phần cơ bản được nối kết với nhau qua hệ thống bus (bus điều khiển, bus dữ liệu, bus địa chỉ). Cấu trúc của một hệ máy tính đơn giản 3 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c th c th à à nh ph nh ph ầ ầ n cơ b n cơ b ả ả n (tt) n (tt) a/ Bộ xử lý trung tâm Gồm các bộ phận: - Đơn vị điều khiển (CU):điều khiển hoạt động của máy tính theo chương trình đã định sẵn. - Đơn vị số học và logic (ALU): thực hiện các phép tính số học và logic trên các dữ liệu cụ thể. - Tập thanh ghi (RF): lưu trữ các thông tin tạm thời phục vụ cho hoạt động của CPU. - Đơn vị ghép nối (BIU): kết nối và trao đổi thông tin giữa bus bên trong và bus bên ngoài. 4 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c th c th à à nh ph nh ph ầ ầ n cơ b n cơ b ả ả n (tt) n (tt) b/ Bộ nhớ trong - Chứa các thông tin mà CPU có thể trao đổi trực tiếp. - Tốc độ truy cập nhanh, dung lượng nhỏ. - Sử dụng bộ nhớ bán dẫn: ROM, RAM - Có 2 loại bộ nhớ trong: bộ nhớ chính, bộ nhớ cache (bộ nhớ đệm nhanh). - Bộ nhớ trong tổ chức thành các ô nhớ được đánh địa chỉ. Mỗi ô nhớ thông thường là 1 byte. Nội dung ô nhớ có thể thay đổi, còn địa chỉ thì cố định. Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 2 5 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c th c th à à nh ph nh ph ầ ầ n cơ b n cơ b ả ả n (tt) n (tt) c/ Các bộ phận nhập/ xuất - Trao đổi thông tin giữa máy tính với người sử dụng hoặc giữa các máy tính trong cùng hệ thống mạng. - Các thành phần chính: bàn phím, màn hình, chuột, máy quét, máy in, các ổ đĩa, modem,… 6 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c th c th à à nh ph nh ph ầ ầ n cơ b n cơ b ả ả n (tt) n (tt) d/ Giao diện bus (BIU) Các thiết bị ngoại vi trao đổi với CPU và bộ nhớ qua các mạch ghép nối vào/ra (các giao diện). Các mạch này cho phép nối các bộ phận độc lập nhằm làm cho chúng có thể tương thích và truyền thông tin được với nhau, cũng như dễ sửa chữa, dễ thay thế. Các thiết bị phần cứng của hệ thống máy tính kết nối với nhau thông qua hệ thống bus: Hệ thống bus bao gồm: 7 Nguyễn Thị Mỹ Dung – Khoa CNTT Qu Qu á á tr tr ì ì nh ho nh ho ạ ạ t đ t đ ộ ộ ng (tt) ng (tt) - Bus bộ xử lý (gồm: bus điều khiển, bus địa chỉ, bus dữ liệu): thường được dùng để truyền dữ liệu giữa bộ xử lý và bus hệ thống hoặc giữa bộ xử lý với cache ngoại. Bus này có tốc độ nhanh nên không bị nghẽn. - Bus bộ nhớ: trao đổi thông tin giữa CPU với bộ nhớ chính. Thông tin truyền trên bus này chậm hơn nhiều so với thông tin trên bus bộ xử lý. - Bus vào/ra (bus mở rộng): trao đổi thông tin giữa bộ nhớ với các thiết bị ngoại vi. 8 Nguyễn Thị Mỹ Dung – Khoa CNTT Sơ đ Sơ đ ồ ồ ch ch ứ ứ c năng c năng Sơ đồ khối chức năng của một hệ thống máy tính GHÉP NỐI RA BỘ NHỚ CHÍNH RAM ROM THIẾT BỊ VÀO Bàn phím Chuột Máy quét Ổ đĩa CPU GHÉP NỐI VÀO Các thiết bị ngoại vi THIẾT BỊ RA Màn hình Máy in Máy vẽ ổ đĩa Bus hệ thống Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 3 9 Nguyễn Thị Mỹ Dung – Khoa CNTT Sơ đ Sơ đ ồ ồ ho ho ạ ạ t đ t đ ộ ộ ng ng Sơ đồ khối của một máy tính với thiết bị ngoại vi 10 Nguyễn Thị Mỹ Dung – Khoa CNTT T T ổ ổ ch ch ứ ứ c chung (tt) c chung (tt) 2. Quá trình hoạt động của máy tính Chương trình trong máy tính gồm một tập hợp các lệnh được sắp xếp theo một trật tự nhất định. Khi chạy chương trình CPU sẽ đọc lần lượt từng lệnh một. Quá trình hoạt động theo kiểu tuần tự như thế gọi là máy tính kiểu Von Neumann. Trong thực tế, CPU thực hiện theo một chu kỳ: lấy lệnh – giải mã – thực thi lệnh. Quá trình đọc lệnh gồm một chuỗi thao tác: Nhập dữ liệu Xử lý dữ liệu Xuất thông tin 11 Nguyễn Thị Mỹ Dung – Khoa CNTT Qu Qu á á tr tr ì ì nh ho nh ho ạ ạ t đ t đ ộ ộ ng (tt) ng (tt) 1. Lấy lệnh kế tiếp từ bộ nhớ vào thanh ghi lệnh IR. 2. Chuyển nội dung bộ đếm chương trình (PC) tới địa chỉ lệnh kế tiếp. 3. Xác định loại lệnh vừa lấy. 4. Nếu lệnh sử dụng dữ liệu trong bộ nhớ, xác định nơi chứa dữ liệu. 5. Tìm nạp dữ liệu vào thanh ghi trong CPU (nếu có). 6. Thực thi lệnh. 7. Lưu các kết quả vào nơi thích hợp. 8. Trở lại bước 1 để bắt đầu lệnh kế tiếp 12 Nguyễn Thị Mỹ Dung – Khoa CNTT II. Ki II. Ki ế ế n tr n tr ú ú c m c m á á y t y t í í nh nh Kiến trúc máy tính bao gồm: - Kiến trúc phần mềm bao gồm: tập lệnh, dạng các lệnh và các kiểu định vị. - Tổ chức của máy tính: liên quan đến cấu trúc bên trong của bộ xử lý, cấu trúc bus, các cấp bộ nhớ,… - Lắp đặt phần cứng: lắp ráp một máy tính dùng các linh kiện điện tử và các bộ phận phần cứng cần thiết (không trình bày phần này trong môn học). Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 4 13 Nguyễn Thị Mỹ Dung – Khoa CNTT III. C III. C á á c ki c ki ể ể u đ u đ ị ị nh v nh v ị ị cơ b cơ b ả ả n n 1/ Các kiểu định vị - Là cách thức thâm nhập các toán hạng nghĩa là cách tính địa chỉ của toán hạng đối với toán hạng bộ nhớ. Các toán hạng khác xác định các toán hạng nằm trong các thanh ghi. - Có hai kiểu sắp xếp địa chỉ trong bộ nhớ: biểu diễn từ trái sang phải và từ trên xuống dưới (Big- endian); biểu diễn từ phải sang trái và từ duới lên trên (Little-endian). 14 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c ki c ki ể ể u đ u đ ị ị nh v nh v ị ị cơ b cơ b ả ả n (tt) n (tt) 2/ Các kiểu thi hành một lệnh - Một lệnh mã máy bao gồm một mã tác vụ và các toán hạng. - Vị trí của toán hạng có 3 kiểu cơ bản: ngăn xếp, thanh ghi tích luỹ và thanh ghi đa dụng. Hay nói cách khác là những kiến trúc phần mềm gồm: kiến trúc ngăn xếp, kiến trúc thanh ghi tích luỹ và kiến trúc thanh ghi đa dụng. - Hiện tại các nhà sản xuất máy tính có khuynh hướng dùng kiến trúc phần mềm thanh ghi đa dụng vì: + Việc thâm nhập các thanh ghi đa dụng nhanh hơn thâm nhập bộ nhớ trong. + Các chương trình dịch dùng các thanh ghi đa dụng có hiệu quả hơn. 15 Nguyễn Thị Mỹ Dung – Khoa CNTT B B ả ả ng so s ng so s á á nh gi nh gi ữ ữ a c a c á á c ki c ki ể ể u đ u đ ị ị nh v nh v ị ị 16 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c ki c ki ể ể u đ u đ ị ị nh v nh v ị ị cơ b cơ b ả ả n (tt) n (tt) 3/ Kiểu kiến trúc thanh ghi đa dụng Ưu điểm: - Việc tạo các mã máy đơn giản. - Chiều dài mã máy cố định. - Ít thâm nhập bộ nhớ. Nhược điểm: - Số lượng thanh ghi bị giới hạn. - Việc các thanh ghi có cùng độ dài dẫn đến không hiệu quả trong xử lý chuỗi cũng như các lệnh có cấu trúc. - Khó khăn trong việc lưu và phục hồi các trạng thái khi có các lời gọi thủ tục hay chuyển đổi ngữ cảnh. Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 5 17 Nguyễn Thị Mỹ Dung – Khoa CNTT Ki Ki ế ế n tr n tr ú ú c thanh ghi đa d c thanh ghi đa d ụ ụ ng (tt) ng (tt) Một số kiểu định vị cho kiến trúc thanh ghi đa dụng: - Thanh ghi - Tức thì - Trực tiếp - Gián tiếp (thanh ghi hoặc bộ nhớ hoặc thanh ghi + Độ dời hoặc thanh ghi + thanh ghi hoặc Reg nền + Reg chỉ số + độ dời ) - Tự tăng - Tự giảm 18 Nguyễn Thị Mỹ Dung – Khoa CNTT IV. T IV. T ậ ậ p l p l ệ ệ nh nh 1. Lệnh máy trong máy tính đa năng 2. Các định dạng lệnh 3. Phân loại các lệnh 4. Các thanh ghi và lệnh máy của VXL 80x86 5. Các chế độ địa chỉ của VXL họ 80x86 19 Nguyễn Thị Mỹ Dung – Khoa CNTT 1. L 1. L ệ ệ nh m nh m á á y bên trong m y bên trong m á á y t y t í í nh đa năng nh đa năng Mỗi máy tính có đặc điểm lệnh riêng của nó. - Mã lệnh: là một nhóm các bit, cho máy tính thực hiện một thao tác nào đó (cộng, trừ, nhân, chia, dịch bit,…) - Toán hạng: mỗi toán hạng có địa chỉ nhất định, toán hạng có thể là thanh ghi hay bộ nhớ (toán hạng tức thì, toán hạng bộ nhớ, địa chỉ trực tiếp, địa chỉ gián tiếp). 20 Nguyễn Thị Mỹ Dung – Khoa CNTT 2. C 2. C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh nh - Dạng lệnh không có địa chỉ Mã toán - Dạng lệnh có 1 địa chỉ Mã toán Địa chỉ (toán hạng) - Dạng lệnh có 2 địa chỉ Mã toán Địa chỉ 1 Địa chỉ 2 Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 6 21 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (2) nh (2) Các lệnh thường được thiết kế theo tiêu chuẩn: - Lệnh càng ngắn càng tốt: lệnh ngắn sẽ chiếm ít không gian. Lệnh ngắn cho phép bộ xử lý truyền được nhiều lệnh hơn trong một đơn vị thời gian. - Cần đủ không gian trong lệnh để diễn tả tất cả các thao tác mong muốn. - Số bít trong trường địa chỉ cần được xem xét lựa chọn. Mô tả định dạng lệnh của 80x86 22 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (3) nh (3) 0/8/16 Data 0/8/16 Disp 3 R/M 32116 RegModwdOpcode - Opcode : số bit thay đổi tuỳ theo từng lệnh D (0 hoặc 1): + d=1 toán hạng đến là toán hạng thanh ghi còn toán hạng nguồn có thể là toán hạng thanh ghi hay toán hạng bộ nhớ tuỳ theo vùng MOD, trường hợp này vùng reg dùng cho toán hạng đến. + d=0 toán hạng đến là toán hạng bộ nhớ còn toán hạng nguồn có thể là toán hạng thanh ghi hay toán hạng bộ nhớ tuỳ theo vùng MOD, vùng reg dùng cho toán hạng nguồn. 23 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (4) nh (4) - W (0 hoặc 1): w=1 là từ; w=0 là byte - Reg: xác định thanh ghi nào được dùng trong câu lệnh. - Mod: Xác định kiểu toán hạng còn lại. + Mod = 00 nếu R/M = 110 thì toán hạng bộ nhớ trực tiếp được dùng trong câu lệnh; nếu R/M khác 110 thì toán hạng bộ nhớ gián tiếp không có độ dời. + Mod = 01: toán hạng bộ nhớ gián tiếp có thêm độ dời 8bit được dùng. + Mod = 10: toán hạng bộ nhớ gián tiếp có thêm độ dời 16bit được dùng. + Mod = 11: cả 2 toán hạng nguồn và đích đều là toán hạng thanh ghi. 24 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (5) nh (5) Bảng mã hoá vùng Reg, Mod, R/M (Tham khảo tài liệu KTMT trang 214 – 215) - Vùng Disp: những byte này biểu thị offset hoặc độ dời (8bit hay 16 bit) trong toán hạng bộ nhớ - Vùng Data: biểu thị giá trị trực hằng (8 bit hay 16 bit) dùng trong câu lệnh. Chú ý: để xác định mã máy tương ứng với dạng lệnh gợi nhớ phải tham khảo tài liệu để định Opcode của lệnh (tham khảo tài liệu Microsoft Macro Assembler 5.0). Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 7 25 Nguyễn Thị Mỹ Dung – Khoa CNTT Đ Đ ị ị nh d nh d ạ ạ ng đ ng đ ố ố i v i v ớ ớ i l i l ệ ệ nh MOV dest, source nh MOV dest, source - Toán hạng thanh ghi với toán hạng bộ nhớ hay thanh ghi. 100010 d w mod reg r/m disp (0 hay 2 byte) - Toán hạng trực hằng với thanh ghi 1011 w reg data (1 hay 2 byte) - Toán hạng trực hằng với toán hạng bộ nhớ 1100011 w mod 000 r/m disp (0 hay 2 byte) data (1 hay 2 byte) - Toán hạng thanh ghi tích lũy với toán hạng bộ nhớ trực tiếp 101000 d w disp (2 byte) 26 Nguyễn Thị Mỹ Dung – Khoa CNTT Đ Đ ị ị nh d nh d ạ ạ ng đ ng đ ố ố i v i v ớ ớ i l i l ệ ệ nh MOV (2) nh MOV (2) - Toán hạng thanh ghi đoạn với toán hạng bộ nhớ 100011 d 0 mod sreg r/m disp (0 hay 2 byte) Chú ý: Nếu một toán hạng bộ nhớ có ghi rõ thanh ghi đoạn trong câu lệnh, thì ta phải thêm 1 byte biểu thị thanh ghi đoạn ở trước mã máy. 27 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (6) nh (6) Ví dụ: Mã hoá lệnh: a) MOV CL, [BX]; b) MOV 0F3H[SI], CL Chuyển mã máy (nhị phân) a) MOV CL, [BX] 1 0 0 0 1 0 1 0 00 001 111 __: mã lệnh; đỏ: chuyển tới thanh ghi; Xanh: chuyển 1 bit; vàng: ô nhớ có địa chỉ DS:BX Tím: các bít mã CL; 28 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c đ c đ ị ị nh d nh d ạ ạ ng l ng l ệ ệ nh (7) nh (7) b) MOV 0F3H[SI], CL 1 0 0 0 1 0 0 0 01 001 100 11110011 __: mã lệnh; đỏ: chuyển từ thanh ghi; Xanh: chuyển 1 bit; vàng: ô nhớ có địa chỉ DS:SI Tím: các bít mã CL; trắng: d8 = F3H Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 8 29 Nguyễn Thị Mỹ Dung – Khoa CNTT 3. Phân lo 3. Phân lo ạ ạ i c i c á á c l c l ệ ệ nh nh a/ Các lệnh di chuyển dữ liệu Sao chép dữ liệu từ nơi này đến nơi khác. Sao chép dữ liệu có thể tạo ra một đối tượng mới có mẫu bít giống mẫu ban đầu. Dữ liệu được lưu trữ nhiều nơi khác nhau tuỳ vào cách các từ được truy xuất thường là ở bộ nhớ hoặc ở thanh ghi hoặc ở ngăn xếp. Việc di chuyển dữ liệu được thực hiện cho đến khi có dấu hiệu kết thúc vùng dữ liệu được tìm thấy trong chính dữ liệu. 30 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c l c l ệ ệ nh di chuy nh di chuy ể ể n d n d ữ ữ li li ệ ệ u (2) u (2) MOV Dest, Source ; di chuyển số liệu từ Source Dest ; Source có thể là Reg, Mem, Immed ; Dest có thể là Reg, Mem Chức năng: chuyển nội dung toán hạng source vào toán hạng dest. Chiều dài dữ liệu có thể là 8 bit hay 16 bit. TH1: chuyển dữ liệu giữa hai thanh ghi MOV AL, AH MOV BX, SI 31 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (2) u (2) TH2: Chuyển dữ liệu giữa thanh ghi và bộ nhớ VD: MOV [BX], AL MOV DS:[150h], AL MOV ES:[SI], DL MOV AL, [BX] MOV AH, DS:[10h] MOV [BX], AX MOV Word PTR [SI], AX MOV CS:[SI+BX], DX 32 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (3) u (3) TH3: chuyển dữ liệu giữa trực hằng và thanh ghi, bộ nhớ. VD: MOV AL, 0B5h MOV BH, 10001000b MOV [BX], 10 MOV AX, B800h MOV [SI], 2000 MOV word ptr [BX],5AB7h Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 9 33 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (4) u (4) TH4: chuyển dữ liệu giữa thanh ghi đoạn và thanh ghi, bộ nhớ. VD: MOV DS, AX MOV ES, [BX+SI] MOV AX, CS MOV [BX + DI], ES 34 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (5) u (5) Chú ý: - Lệnh Mov không ảnh hưởng đến thanh ghi cờ hiệu. - Không thể chuyển đổi dữ liệu trực tiếp giữa 2 toán hạng bộ nhớ với nhau, muốn chuyển ta phải dùng 1 thanh ghi trung gian. VD: Chuyển dữ liệu 16bit từ mem1 vào mem2 MOV AX, mem1 MOV mem2, AX 35 Nguyễn Thị Mỹ Dung – Khoa CNTT Ch Ch ú ú ý (2) ý (2) - Không thể chuyển trực tiếp một trực hằng vào một thanh ghi đoạn, muốn chuyển ta phải dùng một thanh ghi trung gian. VD: Chuyển giá trị B800h vào thanh ghi DS, ta phải dùng thanh ghi trung gian 16bit. MOV AX, 0B800h MOV DS, AX - Không thể chuyển trực tiếp giữa hai thanh ghi đoạn. - Không thể dùng thanh ghi đoạn CS làm toán hạng dest trong lệnh MOV. 36 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (6) u (6) PUSH source ; Chức năng: dùng để cất một trực hằng hay nội dung một thanh ghi 16bit hay nội dung toán hạng 16bit vào Stack. Lệnh PUSH làm giảm thanh ghi con trỏ ngăn xếp (SP) xuống 2 đơn vị và chuyển nội dung 16bit của toán hạng nguồn vào trên đỉnh Stack. Đỉnh Stack được xác định bởi cặp thanh ghi SS:SP. Ví dụ: PUSH 31 PUSH CS PUSH SP PUSH [BX + SI] Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 10 37 Nguyễn Thị Mỹ Dung – Khoa CNTT Nh Nh ó ó m l m l ệ ệ nh di chuy nh di chuy ể ể n s n s ố ố li li ệ ệ u (7) u (7) POP dest Chức năng: Ngược với lệnh PUSH, POP dùng để lấy dữ liệu 16bit đang nằm trên đỉnh Stack. Lệnh POP tăng thanh ghi SP 2 đơn vị để chỉ đến đỉnh mới của Stack. VD: POP SI POP CS POP SP POP [BX + SI] 38 Nguyễn Thị Mỹ Dung – Khoa CNTT Phân lo Phân lo ạ ạ i l i l ệ ệ nh (2) nh (2) b/ Các lệnh tính toán 2 ngôi Là những thao tác kết hợp 2 toán hạng để sinh ra một kết quả. Một số các phép toán thông dụng: cộng, trừ, nhân, chia trên các số nguyên. Ngoài ra còn có các phép toán logic như: AND, OR, XOR cho kết quả là TRUE hoặc FALSE. 39 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c l c l ệ ệ nh t nh t í í nh to nh to á á n (2) n (2) Nhóm lệnh xử lý phép cộng - ADD dest, source Toán hạng source có thể: Reg, Mem, Immed Toán hạng dest có thể: Reg, Mem + TH1: cộng giữa thanh ghi, thanh ghi, bộ nhớ - Cộng giữa 2 thanh ghi VD: ADD AL, AH ADD AX, BX - Cộng thanh ghi và bộ nhớ VD: ADD [BX], AX 40 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c l c l ệ ệ nh t nh t í í nh to nh to á á n (3) n (3) + TH2: cộng giữa trực hằng và thanh ghi hay bộ nhớ VD: ADD AL, B5h ADD BYTE PTR DS:[150h], 10h ADD AX, B800h ADD WORD PTR [BX], 5AB7h Chú ý: - Không thể cộng trực tiếp thanh ghi đoạn - Lệnh ADD ảnh hưởng đến 6 cờ AF, CF, OF, PF, SF, ZF (tham khảo chi tiết trong TLTK) [...]... ngôn ngữ máy: một bộ biên dịch (Compiler) chuyển đổi ngôn ngữ cấp cao (độc lập với kiến trúc phần mềm) sang dạng hợp ngữ (phụ thuộc kiến trúc phần mềm) Mô tả quá trình chuyển đổi từ ngôn ngữ cấp cao sang ngôn ngữ máy Nguyễn Thị Mỹ Dung – Khoa CNTT 81 Nguyễn Thị Mỹ Dung – Khoa CNTT 83 Chương 2: Kiến trúc phần mềm bộ xử lý Nguyễn Thị Mỹ Dung – Khoa CNTT 82 21 ... vào thanh ghi bộ đếm chương trình Lab2: SUB BX, AX MOV B, BX Lab3: MOV AH, 4Ch INT 21h Lab3 SUB AX, BX MOV A, AX JMP SHORT Lab3 Nguyễn Thị Mỹ Dung – Khoa CNTT Chương 2: Kiến trúc phần mềm bộ xử lý JG: JL: JE: JA: JB: … Ví dụ: 63 Nguyễn Thị Mỹ Dung – Khoa CNTT 64 16 Kiến trúc máy tính & Hợp ngữ Các lệnh gọi thủ tục (2) lệ gọ thủ Phân loại lệnh (6) loạ lệ Các lệnh gọi thủ tục CALL . những kiến trúc phần mềm gồm: kiến trúc ngăn xếp, kiến trúc thanh ghi tích luỹ và kiến trúc thanh ghi đa dụng. - Hiện tại các nhà sản xuất máy tính có khuynh hướng dùng kiến trúc phần mềm thanh. Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 1 1 Nguyễn Thị Mỹ Dung – Khoa CNTT Chương II Chương II : Ki : Ki ế ế n tr n tr ú ú c. AL Kiến trúc máy tính & Hợp ngữ Chương 2: Kiến trúc phần mềm bộ xử lý 12 45 Nguyễn Thị Mỹ Dung – Khoa CNTT C C á á c l c l ệ ệ nh t nh t í í nh to nh to á á n (8) n (8) Nhóm lệnh xử lý