Chương I: Nhập môn kiến trúc máy tính

Chia sẻ: Truongminh Dat | Ngày: | Loại File: PDF | Số trang:15

0
187
lượt xem
62
download

Chương I: Nhập môn kiến trúc máy tính

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nguyên tắc tổ chức và phân loại MTĐT MTĐT được phân làm 2 loại (dựa vào nguyên lý hoạt động): máy tính tương tự (analog computer) và máy tính số (digital computer). Máy tính gồm 2 phần: phần cứng và phần mềm. Ngôn ngữ máy và cấp kiến trúc máy tính Ngôn ngữ cao hơn phải được chạy trên cấp ngôn ngữ thấp hơn hoặc phải được dịch sang ngôn ngữ khác có cấp thấp hơn.

Chủ đề:
Lưu

Nội dung Text: Chương I: Nhập môn kiến trúc máy tính

  1. Kiến trúc máy tính & Hợp ngữ NỘI DUNG MÔN HỌC HỌ Chương I: Nhập môn kiến trúc máy tính Chương II: Kiến trúc phần mềm bộ xử lý KIẾ TRÚ MÁ TÍ KIẾN TRÚC MÁY TÍNH Chương III: Tổ chức bộ xử lý HỢ NGỮ & HỢP NGỮ Chương IV: Các cấp bộ nhớ Chương V: Các bus máy tính Lý thuyết: 40 tiết (KTMT: 30 + HN: 10) Chương VI: Quá trình vào ra và các thiết bị ngoại vi Thực hành : 10 tiết (5t x 2) Chương VII: Hợp ngữ Khối lớp: Cao đẳng, Đại học 1 Nguyễn Thị Mỹ Dung – Khoa CNTT 2 Chương I: Nhập môn kiến trúc máy tính I: Nhậ kiế trú má tí I. Một số khái niệm và nguyên lý cơ bản Mộ số khá niệ và bả Số tiết: 10 a/ Nguyên tắc tổ chức và phân loại MTĐT Nội dung: MTĐT được phân làm 2 loại (dựa vào nguyên lý hoạt động): máy tính tương tự (analog computer) I. Một số khái niệm và nguyên lý cơ bản và máy tính số (digital computer). II. Lịch sử phát triển và ứng dụng của máy tính Máy tính gồm 2 phần: phần cứng và phần mềm III. Thông tin và mã hoá thông tin b/ Ngôn ngữ máy và cấp kiến trúc máy tính Ngôn ngữ cao hơn phải được chạy trên cấp ngôn ngữ thấp hơn hoặc phải được dịch sang ngôn ngữ khác có cấp thấp hơn. Biên dịch? Thông dịch? Nguyễn Thị Mỹ Dung – Khoa CNTT 3 Nguyễn Thị Mỹ Dung – Khoa CNTT 4 Chương 1: Nhập môn KTMT 1
  2. Kiến trúc máy tính & Hợp ngữ ngữ Ngôn ngữ máy (tt) Một số khái niệm (2) số khá niệ - Biên dịch: chuyển các lệnh từ ngôn ngữ cấp cao c/ Quan hệ giữa phần cứng và phần mềm – Tổ thành các chuỗi của cấp ngôn ngữ máy và thực hiện chức máy tính nhiều cấp các lệnh trên cấp ngôn ngữ máy. 5 Cấp ngôn ngữ bậc cao và hướng đối tượng Trình biên dịch 4 Cấp hợp ngữ - Thông dịch: một lệnh trong chương trình cấp cao sẽ Trình hợp dịch được xem như đầu vào của chương trình cấp ngôn 3 Cấp máy hệ điều hành ngữ máy và toàn bộ chương trình cấp cao sẽ thực thi Dịch một phần 2 Cấp lệnh máy lần lượt từng lệnh một. (lệnh vĩ mô) Dịch một phần 1 Cấp vi lệnh (lệnh vi mô) Các vi chương trình Cấp logic số 0 (Các mạch điện tử số) Nguyễn Thị Mỹ Dung – Khoa CNTT 5 Nguyễn Thị Mỹ Dung – Khoa CNTT 6 II. Lịch sử phát triển & ứng dụng của MT Lị sử phá triể dụ củ Lịch sử phát triển (tt) sử phá triể 1/ Lịch sử phát triển Thế hệ thứ nhất – Các máy tính dùng đèn điện tử chân không Trong quá trình phát triển của máy tính điện tử Năm 1943, tại trường ĐH Pensylvania, máy tính điện số có hàng trăm loại máy tính khác nhau và có thể đa năng đầu tiên ra đời có tên ENIAC do J. Presper và John chia thành 4 thế hệ: Mauchlay thiết kế. - Thế hệ thứ nhất (1945 – 1955) - Trọng lượng: nặng 30 tấn. - Thế hệ thứ hai (1955 – 1965) - Kích thước: dài 30,48m, cao 2,5m - Thế hệ thứ ba (1965 – 1980) - Sử dụng 18.000 đèn điện tử, 1.500 rơ-le, công suất tiêu thụ: 140KW/h. - Thế hệ thứ tư (1980 – đến nay) - Xử lý theo số thập phân, tính 5000 phép cộng / giây. - Lập trình bằng cách chuyển vị trí các chuyển mạch và cáp nối. Nguyễn Thị Mỹ Dung – Khoa CNTT 7 Nguyễn Thị Mỹ Dung – Khoa CNTT 8 Chương 1: Nhập môn KTMT 2
  3. Kiến trúc máy tính & Hợp ngữ ENIAC (tt) Thế hệ thứ nhất (tt) Thế thứ nhấ Máy tính Von Neumann – mô hình cơ bản cho hầu hết các máy tính đến ngày nay. - Năm 1947, máy tính IAS (Princeton Institute for Advanced Studies) do Von Neumann thiết kế. - Máy tính gồm 5 phần: bộ nhớ, đơn vị tính toán số học, đơn vị điều khiển chương trình, thiết bị vào và ra. - Bộ nhớ chính được đánh địa chỉ theo từng ngăn chứa và không phụ thuộc vào nội dung của nó. Bộ nhớ chính còn chứa dữ liệu và chương trình. - Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã và thực thi một cách tuần tự. Nguyễn Thị Mỹ Dung – Khoa CNTT 9 Nguyễn Thị Mỹ Dung – Khoa CNTT 10 Máy Von Neumann Lịch sử phát triển (tt) sử phá triể  Thế hệ máy tính thứ hai – Các máy tính dùng Transistor - Năm 1961, máy tính PDP -1 ra đời. Bộ nhớ 4k từ 18bit. Giá thành: 120.000 USD - Máy tính mini IBM (7090, 7094), sử dụng công nghệ thẻ đục lỗ. Bộ nhớ 32k từ 36bit. Giá thành: vài triệu USD. - Năm 1964, CDC cho ra đời máy 6600 với cơ chế xử lý song song. Các máy tính trong thế hệ này thực hiện hàng trăm nghìn phép cộng / giây. Các ngôn ngữ lập trình bậc cao cũng ra đời. Nguyễn Thị Mỹ Dung – Khoa CNTT 11 Nguyễn Thị Mỹ Dung – Khoa CNTT 12 Chương 1: Nhập môn KTMT 3
  4. Kiến trúc máy tính & Hợp ngữ Máy tính thế hệ thứ hai (tt) tí thế thứ Lịch sử phát triển (tt) sử phá triể  Thế hệ máy tính thứ ba – Các máy tính dùng vi mạch SSI, MSI và LSI Vi mạch (Integrated Circuit – IC): nhiều transistor và các phần tử khác được tích hợp trên một chip bán dẫn. Bao gồm các loại: SSI, MSI, LSI - VLSI (Very Large Scale Integration): chủ yếu dùng cho máy tính thế hệ thứ tư. Một số siêu máy tính xuất hiện trong giai đoạn này: CRAY-1, VAX. Cũng trong thời kỳ này bộ vi xử lý ra đời (microprocessor). Bộ VXL đầu tiên vào 1971: Intel 4004. Cho phép đa lập trình: một vài chương trình đang chờ nhập/ xuất thì chương trình khác có thể tính toán. Nguyễn Thị Mỹ Dung – Khoa CNTT 13 Nguyễn Thị Mỹ Dung – Khoa CNTT 14 Lịch sử phát triển (tt) sử phá triể Máy tính thế hệ thứ tư (tt) tí thế thứ  Thế hệ máy tính thứ tư – Các máy tính cá nhân và vi mạch VLSI Vi mạch có độ tích hợp rất lớn VLSI chứa vài chục, vài trăm và hơn nữa là vài triệu transistor trên một chip đơn. Thế hệ máy vi tính ra đời (xử lý văn bản, tính toán, và thực hiện các ứng dụng khác). Có thể chia làm 4 loại máy tính (dựa trên kích thước vật lý): Máy vi tính (hay máy tính cá nhân), máy tính nhỏ, máy tính lớn, các siêu máy tính. Nguyễn Thị Mỹ Dung – Khoa CNTT 15 Nguyễn Thị Mỹ Dung – Khoa CNTT 16 Chương 1: Nhập môn KTMT 4
  5. Kiến trúc máy tính & Hợp ngữ Lịch sử phát triển (tt) sử phá triể III. Thông tin và mã hóa thông tin và hó 2/ Các lĩnh vực ứng dụng của máy tính 1/ Khái niệm thông tin - Xử lý dữ liệu: thanh toán tiền lương. Thông tin gắn liền với sự hiểu biết một trạng - Xử lý số: xử lý dữ liệu dưới dạng ký hiệu, tính thái cho sẵn trong nhiều trạng thái có thể có vào một toán với số liệu cực lớn, với độ sai số cực nhỏ. Các thời điểm cho trước. máy tính này phải mạnh, bxl đắt, bộ nhớ truy cập Có 2 trạng thái có ý nghĩa: trạng thái thấp khi nhanh, thiết bị ngoại vi và bộ nhớ ngoài hiện đại. hiệu điện thế thấp hơn VL và trạng thái cao khi hiệu - Đo lường và điều khiển tự động: máy tính điện thế lớn hơn VH . được chế tạo trên một chip được lắp đặt trong các thiết bị khác. Nguyễn Thị Mỹ Dung – Khoa CNTT 17 Nguyễn Thị Mỹ Dung – Khoa CNTT 18 Mã hoá thông tin (2) hoá Mã hoá thông tin (2) hoá 2/ Khái niệm lượng thông tin 3. Các hệ đếm liên quan đến máy tính Thông tin được đo lường bằng đơn vị thông tin a/ Các hệ đếm: mà ta gọi là bit. Lượng thông tin được định nghĩa bởi Trong tin học người ta thường sử dụng các hệ đếm: công thức:  Hệ đếm nhị phân (hệ 2 – Bin) I = Log2(N) Bao gồm 2 con số: 0, 1 Trong đó : I : là lượng thông tin tính bằng bit  Hệ thập phân (hệ 10 – Dec) N : tổng số trạng thái có thể có Bao gồm 10 con số: 0, 1, 2, … , 9 Ví dụ:  Hệ bát phân (hệ 8 – Oct) Sự hiểu biết thông tin trong 8 trạng thái có thể ứng với một lượng thông tin là: Bao gồm 8 con số: 0, 1, 2, 3, 4, 5, 6, 7 I = Log2 (8) = 3bit  Hệ thập lục phân (hệ 16 – Hex) Bao gồm 16 ký hiệu: 0, 1, 2, …, 9, A, B, C, D, E, F Nguyễn Thị Mỹ Dung – Khoa CNTT 19 Nguyễn Thị Mỹ Dung – Khoa CNTT 20 Chương 1: Nhập môn KTMT 5
  6. Kiến trúc máy tính & Hợp ngữ Các hệ đếm liên quan đến máy tính (4) hệ đế đế má tí Các hệ đếm liên quan đến máy tính (5) hệ đế đế má tí b/ Biến đổi hệ đếm bất kỳ sang hệ thập phân Ví dụ: Công thức tổng quát: - Số nguyên: - Số nguyên: 110110112 = 21910 Na = n1*am-1 + n2*am-2 + ……+ nm*a0 (với a: là hệ đếm 763208 = 3195210 N= n1n2…nm) AB9216 = 4392210 - Số thực: - Số thực: N,Pa = n1*am-1 + n2*am-2 + ……+ nm*a0 + p1*a-1 1111 0001,0112 = 241,37510 + p2*a-2 + … + px*a-x (với a: là hệ đếm 123,258 = 83,32812510 N= n1n2…nm 9AFF,17516 = 39679,09106445312510 P = p1p2…px) Nguyễn Thị Mỹ Dung – Khoa CNTT 21 Nguyễn Thị Mỹ Dung – Khoa CNTT 22 Các hệ đếm liên quan đến máy tính (6) hệ đế đế má tí Các hệ đếm liên quan đến máy tính (7) hệ đế đế má tí c/ Biến đổi hệ thập phân sang hệ đếm bất kỳ - Số thực Dạng tổng quát: N,Pa = - Số nguyên + Biểu diễn phần nguyên (N) giống số nguyên. N10/a (chia đến kết quả bằng 0, lấy phần dư từ dưới lên) + Biểu diễn phần lẻ (P): với a là hệ đếm tương ứng. Lấy phần lẻ nhân cho hệ đếm giữ lại phần Ví dụ: 3710 = 1001012 nguyên. Ví dụ: 0,2510 = 0,012 = 0,28 = 0,416 d/ Biến đổi trong các hệ đếm đặc biệt Biến đổi từ hệ đếm 2 sang hệ đếm 16 Nguyễn Thị Mỹ Dung – Khoa CNTT 23 Nguyễn Thị Mỹ Dung – Khoa CNTT 24 Chương 1: Nhập môn KTMT 6
  7. Kiến trúc máy tính & Hợp ngữ Các hệ đếm liên quan đến máy tính (8) hệ đế đế má tí Các hệ đếm liên quan đến máy tính (9) hệ đế đế má tí Quy tắc: Nhị phân Thập lục Nhị phân Thập lục - Đối với số nhị phân: Gộp các chữ số nhị phân phân phân thành từng nhóm 4 số tính từ bên phải (trước dấu thập phân) đối với phần nguyên, tính từ bên trái (sau 0000 0 1000 8 dấu thập phân) đối với phần lẻ. 0001 1 1001 9 - Đối với số thập lục phân: Thay thế các ký hiệu của hệ đếm 16 thành hệ đếm 2. 0010 2 1010 A Ví dụ: A0116 = 1010000000012 0011 3 1011 B 11101011 = EB16 0100 4 1100 C A01,2 = 101000000001,00102 0101 5 1101 D 11101011,0111 = EB,716 0110 6 1110 E Bảng chuyển đổi 0111 7 1111 F Nguyễn Thị Mỹ Dung – Khoa CNTT 25 Nguyễn Thị Mỹ Dung – Khoa CNTT 26 Các hệ đếm liên quan đến máy tính (13) hệ đế đế má tí Các hệ đếm liên quan đến máy tính (14) hệ đế đế má tí Bài 2.3, 2.4, 2.5, 2.6 trang 67  68 Bài 2.5 Bài 2.3 a/ 1,510 = 1,12 a/ 1510 = 11112 b/ 4210 = 1010102 b/ 1024,0625 = 10000000000,00012 c/ 23510 = 1110 10112 d/ 409010 = 1111 1111 10102 c/ 3,141592 = 11,001001…2 e/ 4090010 = 1001 1111 1100 01002 Bài 2.6 f/ 6553010 = 1111 1111 1111 10102 a/ 1,12 = 1,510 Bài 2.4 b/ 0,0012 = 0,12510 a/ 11101102 = 11810 b/ 110112 = 2710 c/ 11011,1010102 = 27,6562510 c/ 111111101112 = 203910 d/ 111,1111112 = 7,98437510 Nguyễn Thị Mỹ Dung – Khoa CNTT 27 Nguyễn Thị Mỹ Dung – Khoa CNTT 28 Chương 1: Nhập môn KTMT 7
  8. Kiến trúc máy tính & Hợp ngữ Các phép tính số học và logic (2) phé tí số và Biểu diễn các số có dấu và không dấu (2) Biể diễ cá số và dấ 4. Biểu diễn các số có dấu và không dấu D3 D2 D1 D0 N Trong máy tính thường dùng số bù hoặc dùng 1 0 0 0 -8 trị tuyệt đổi để biểu diễn cho số âm. Trong hệ nhị phân có số bù 1 và bù 2. 1 0 0 1 -7  Cách biểu diễn hằng số bù 1 1 0 1 0 -6 Số bù của con số chính là đảo của số đó (ví dụ: 1 0 1 1 -5 Đảo 0 = 1, và ngược lại). 1 1 0 0 -4  Cách biểu diễn hằng số bù 2 Để có số bù 2 của con số nào đó, người ta lấy 1 1 0 1 -3 số bù 1 rồi cộng thêm 1. 1 1 1 0 -2 Bảng biểu diễn số âm bằng số bù 2. 1 1 1 1 -1 Nguyễn Thị Mỹ Dung – Khoa CNTT 29 Nguyễn Thị Mỹ Dung – Khoa CNTT 30 tậ Bài tập Nhận xét: Bài 2.10 trang 68 - Các cách biểu diễn dấu bằng trị tuyệt đối, a/ -4 = ? hoặc số bù 1 dẫn đến việc dùng các thuật toán phức Nhị phân 4 = 0000 0100 tạp và bất lợi vì luôn có 2 cách để biểu diễn số 0. Bù 1 = 1111 1011 - Cách biểu diễn số nguyên có dấu bằng số bù Bù 2 = 1111 1100 2 được dùng rộng rãi cho các phép tính số nguyên, có thể biểu diễn chính xác tất cả các giá trị số nguyên b/ -25 = ? và chỉ có 1 cách để biểu diễn số 0. Nó có lợi là không Nhị phân 25 = 0001 1001 cần thuật toán đặc biệt nào cho các phép tính cộng Bù 1 = 1110 0110 và tính trừ, và giúp phát hiện dễ dàng các trường hợp Bù 2 = 1110 0111 bị tràn. Nguyễn Thị Mỹ Dung – Khoa CNTT 31 Nguyễn Thị Mỹ Dung – Khoa CNTT 32 Chương 1: Nhập môn KTMT 8
  9. Kiến trúc máy tính & Hợp ngữ tậ Bài tập (2) tậ Bài tập (3) c/ -42 = ? e/ -111 = ? Nhị phân 42 = 0010 1010 Nhị phân 111 = 0110 1111 Bù 1 = 1101 0101 Bù 1 = 1001 0000 Bù 2 = 1101 0110 Bù 2 = 1001 0001 d/ -128 = ? Nhị phân 128 = 1000 0000 Bù 1 = 0111 1111 Bù 2 = 1000 0000 Nguyễn Thị Mỹ Dung – Khoa CNTT 33 Nguyễn Thị Mỹ Dung – Khoa CNTT 34 Các phép tính số học và logic (2) phé tí số và Biểu diễn dấu chấm tĩnh và dấu chấm động (2) Biể diễ dấ chấ tĩ và chấ độ 5. Biểu diễn dấu chấm tĩnh và động b/ Biểu diễn dấu chấm động theo dạng chuẩn hoá a/ Biểu diễn dấu chấm tĩnh Biểu diễn dấu chấm động theo dạng chuẩn hoá Tuỳ theo kiểu biểu diễn mà dấu chấm mang có dạng như sau: tính quy ước nằm ở một vị trí cố định được gọi là dấu N =  F10E chấm tĩnh. Trong đó: Để biểu diễn cho một số ta sử dụng một độ rộng là n bit. Trong đó bit đầu tiên dùng để biểu diễn F: là phần định trị bit dấu. Trong n-1 bit còn lại, dành một phần biểu E: là phần mũ diễn cho số nguyên, phần còn lại biểu diễn cho số lẻ.  Phần định trị  Phần mũ Nguyễn Thị Mỹ Dung – Khoa CNTT 35 Nguyễn Thị Mỹ Dung – Khoa CNTT 36 Chương 1: Nhập môn KTMT 9
  10. Kiến trúc máy tính & Hợp ngữ Biểu diễn dấu chấm tĩnh và dấu chấm động (3) Biể diễ dấ chấ tĩ và chấ độ Dấu chấm động (tt) chấ độ  Đối với số nhị phân các số được chuẩn hoá về một Nguyên tắc biểu diễn phần định trị và phần mũ dạng biểu diễn: giống như như biểu diễn dấu chấm tĩnh. Dấu thực 1.f f f…f x 2E sự của con số là do phần mũ định ra trên phần định trị. Ví dụ: biểu diễn số 13.5625 - Đổi số 13.5625 = 1101.10012 Ví dụ: 6132,789 = 0,6132789 E+04 - Chuẩn hoá: 1.1011001 x 23 0 6 1 3 2 7 8 9 0 4 - Số dương: dấu = 0 - Định trị: F = 10110012 Chú ý: hình biểu diễn trên chỉ mang tính minh hoạ. Trong máy tính, biểu diễn các con số bằng số nhị - Dấu mũ dương: dấu = 0 phân. - Số mũ: E = 310 = 00112 Biểu diễn: 0 1011 0010 0 0011 Nguyễn Thị Mỹ Dung – Khoa CNTT 37 Nguyễn Thị Mỹ Dung – Khoa CNTT 38 Dấu chấm động (tt) chấ độ Biểu diễn dấu chấm tĩnh và dấu chấm động (4) Biể diễ dấ chấ tĩ và chấ độ Chú ý: c) Biểu diễn dấu chấm động theo chuẩn IEEE-754 - Để thực hiện phép cộng (hoặc trừ) hai số dấu chấm Tổ chức IEEE định nghĩa một số dấu chấm động phải tiến hành theo các bước sau: động có cơ số ngầm định là 2, được chuẩn hóa sao cho phần định trị F nằm trong dãy 1  F < 2. Một số X + Tăng số mũ của số có số mũ nhỏ hơn bằng theo chuẩn IEEE được định nghĩa: số mũ lớn hơn. X = -1S x 2E-B x 1.F + Cộng (hoặc trừ) các phần định trị. Trong đó: + Nếu cần thiết chuẩn hoá lại. S: là bit dấu (0: dương, 1: âm) - Ví dụ: cộng 2 số thập phân: A = 0.12345 x 105 với B E: là số mũ được dịch chuyển đi B = 0.56789 x 103. A = 0.1234500 x 105 F: là phần định trị B = 0.0056789 x 105 B: xác định bằng 2n-1 (n là độ dài trường bit) 0.1291289 x 105 Nguyễn Thị Mỹ Dung – Khoa CNTT 39 Nguyễn Thị Mỹ Dung – Khoa CNTT 40 Chương 1: Nhập môn KTMT 10
  11. Kiến trúc máy tính & Hợp ngữ IEEE 754 (2) IEEE 754 (3) Loại Single Double Quadruple Ví dụ 1: Bề rộng của trường (bit) Biểu diễn số -2345.125 chính xác đơn dài 32 bit S 1 1 1 có độ dịch là 127 và phần định trị là 23 bit. E 8 11 15 -2345.12510 = -1001 0010 1001.0012 F 23 52 111 = -1. 0010 0101 0010 01 x 211 Tổng cộng 32 64 128  Số âm nên bít dấu S = 1 Bít dấu 0=+; 1= – 0=+; 1= – 0=+; 1= –  F = 0010 0101 0010 0100 0000 000 Số mũ E cực đại 255 2047 32767  E – 127 = 11  E = 13810 = 1000 10102 E cực tiểu 0 0 0 Vậy ta biểu diễn như sau: Độ dịch 127 1023 16383 1 1000 1010 0010 0101 0010 0100 0000 000 Bit dấu (S) Phần mũ (E) Phần định trị (F) Nguyễn Thị Mỹ Dung – Khoa CNTT 41 Nguyễn Thị Mỹ Dung – Khoa CNTT 42 IEEE 754 (4) tậ Bài tập (2) VD2: biểu diễn dấu chấm động chính xác đơn với 32 Bài 2.13 bit có một bit dấu, 8 bit cho phần mũ (phần mũ được biểu diễn bằng số thừa k = 127) và 23 bit cho phần lẻ 10,125 = 0,0010100010x25 của số: 372,516. 32,1 = 1,000000001x25 - Đổi số: 372,51610 = 101110100,1000010000011002  42,22510= 1,010100011 x 25 = 1,01110100100001000001100 x 28 Ta có: E – 32 = 5  E = 37 = 100101 - Số dương: S = 0 - Định trị F = 0111 0100 1000 0100 0001100 Ta có: E – 127 = 8  E = 127 + 8 = 135 1001 01 0101 0001 11 13510 = 1000 01112 Phần mũ (E) Định trị (F) 0 1000 0111 0111 0100 1000 0100 0001 100 Bit dấu (S) Phần mũ (E) Phần định trị (F) Nguyễn Thị Mỹ Dung – Khoa CNTT 43 Nguyễn Thị Mỹ Dung – Khoa CNTT 44 Chương 1: Nhập môn KTMT 11
  12. Kiến trúc máy tính & Hợp ngữ tậ Bài tập (3) Các hệ đếm liên quan đến máy tính (10) hệ đế đế má tí Bài 2.14 6. Các phép tính số học đối với số nhị phân 42,68750 Bảng cộng (OR), nhân (AND), trừ (XOR) - 0,09375 X Y X+Y X*Y X–Y = 42,59375 0 0 0 0 0 42,59375 = 101010,100110000000000000 0 1 1 0 1 = 1,01010100110000000000000 x 25 1 0 1 0 1 Ta có: E – 127 = 5  E = 132 132 = 10000100 1 1 (1)0 1 0 0 1000 0100 0101 0100 1100 0000 0000 000 Số học nhị phân bao gồm 4 phép toán cơ bản: cộng, trừ,nhân, chia. Bit dấu (S) Phần mũ (E) Phần định trị (F) Nguyễn Thị Mỹ Dung – Khoa CNTT 45 Nguyễn Thị Mỹ Dung – Khoa CNTT 46 Các phép tính số học (2) phé tí số Các phép tính số học (3) phé tí số a/ Phép cộng b) Phép trừ Phép cộng được thực hiện giống cách tính tay Trong máy tính thực hiện phép trừ bằng cách thông thường. Ví dụ: 5 + 7 cộng số bị trừ với số bù 2 của số trừ. 0101 Ví dụ 1: 1010 – 410 + 0111 1010 = 10102; 410 = 01002 (-410) = 11002 1100 1010 Ví dụ 2: + 1100 10102 10001012 (1) 0110 ; số nhớ bỏ đi + 01112 + 1010112 100012 11100002 Nguyễn Thị Mỹ Dung – Khoa CNTT 47 Nguyễn Thị Mỹ Dung – Khoa CNTT 48 Chương 1: Nhập môn KTMT 12
  13. Kiến trúc máy tính & Hợp ngữ Các phép tính số học (4) phé tí số Phép nhân (2) Phé c) Phép nhân Ví dụ1: 7x3  Phép nhân 2 số không dấu 710 = 01112 ; 310 = 00112 Giải thuật: 0000 0011 n=4 B1- Đặt bộ đếm tới n. + 0111 B2- Xóa thanh ghi 2n bit chứa tích thành phần. 0111 0011 B3- Kiểm tra bit LSB của số nhân, nếu là 1 thì cộng 0011 1001 n=3 số bị nhân vào n bit nhiều ý nghĩa nhất của tích. + 0111 B4- Dịch phải 1 bit số nhân và tích thành phần. 1010 1001 B5- Giảm bộ đếm đi 1. 0101 0100 n=2 B6- Lặp lại B3 cho đến khi bộ đếm bằng 0. 0010 1010 n=1 B7- Đọc kết quả từ thanh ghi tích thành phần. 0001 0101 = 21 n = 0 Nguyễn Thị Mỹ Dung – Khoa CNTT 49 Nguyễn Thị Mỹ Dung – Khoa CNTT 50 Phép nhân (3) Phé Phép nhân (4) Phé Ví dụ 2:  Phép nhân 2 số có dấu a) 15 x 13 Sử dụng giải thuật Booth (áp dụng cho 2 số b) 20 x 27 dương, 2 số âm, một âm 1 dương, hoặc ngược lại): c) 31 x 11 B1- Nếu bit nhân hiện tại bằng 1 và bit nhân bật tiếp d) 15 x 22 theo bằng 0 thì trừ số bị nhân từ tích thành phần. e) 42 x 32 B2- Nếu bit nhân hiện tại bằng 0 và bit nhân bật tiếp theo bằng 1 thì cộng số bị nhân với tích thành phần. B3- Nếu bit nhân hiện tại giống bit nhân bật tiếp theo bằng 0 thì không làm gì cả. Nguyễn Thị Mỹ Dung – Khoa CNTT 51 Nguyễn Thị Mỹ Dung – Khoa CNTT 52 Chương 1: Nhập môn KTMT 13
  14. Kiến trúc máy tính & Hợp ngữ Phép nhân (5) Phé Phép nhân (6) Phé Lưu ý: Ví dụ1: 7 x (-3) 710 = 0111; 310 = 0011 -310 = 1101 1- Khởi đầu, khi bit hiện tại của số nhân là bit ít 0000 1101 0 n=4 ý nghĩa nhất thì bit bậc thấp hơn tiếp theo của số - 0111 nhân được cho bằng 0. 1001 1101 2- Khi cộng số bị nhân với tích thành phần thì 1100 1110 1 n=3 bỏ qua bit nhớ được sinh ra trong phép cộng. + 0111 3- Khi tích thành phần bị dịch thì dùng phép 0011 1110 dịch số học và bit dấu cũng được thêm vào. 0001 1111 0 n=2 - 0111 1010 1111 1101 0111 1 n=1 1110 1011 = -21 n = 0 Nguyễn Thị Mỹ Dung – Khoa CNTT 53 Nguyễn Thị Mỹ Dung – Khoa CNTT 54 Phép nhân (3) Phé Các phép tính số học (5) phé tí số Ví dụ 2: d) Phép chia (số không dấu) a) 13 x -14 Có nhiều thuật toán chia, một trong các thuật toán cộng và dịch như sau: b) -21 x 28 B1- Đổi số chia ra số bù 2 c) -32 x -12 B2- Lấy số bị chia trừ đi số chia. d) -15 x 20 - Nếu kết quả có bit dấu bằng 0 thì tương ứng của e) 17 x -31 thương bằng 1. - Nếu kết quả có bit dấu bằng 1 thì tương ứng của f) -18 x -11 thương bằng 0 và khôi phục giá trị ban đầu của số bị chia (bằng cách cộng kết quả đó với số chia). B3- Dịch trái kết quả thu được, lặp lại B2 cho đến khi nhận được kết quả cuối cùng bằng 0 hoặc nhỏ hơn số chia (dư). Nguyễn Thị Mỹ Dung – Khoa CNTT 55 Nguyễn Thị Mỹ Dung – Khoa CNTT 56 Chương 1: Nhập môn KTMT 14
  15. Kiến trúc máy tính & Hợp ngữ Phép chia (2) Phé Phép chia (3) Phé Ví dụ1: 35 : 7 111101 Ví dụ 2: 3510 = 1000112;710 = 0001112  000100 011000 (-7) = 1110012 001000 110000 a) 7 : 3 000000 100011 + 111001 b) 45 : 5 000001 000110 000001 c) 48 : 9 + 111001 000001 110001 111010 000011 100010 d) 96 : 15 000001 000110 + 111001 e) 127 : 17 000010 001100 111100 + 111001 000011 100010 d) 88 : 11 111011 000111 000100 000010 001100 + 111001 000100 011000 000000 + 111001 000000 000101 Nguyễn Thị Mỹ Dung – Khoa CNTT dư thương 57 Nguyễn Thị Mỹ Dung – Khoa CNTT 58 Phép chia (4) Phé  Thực hiện phép chia với số có dấu - Sử dụng thuật toán của phép chia số không dấu. - Đổi số có dấu thành không dấu - Kết quả phép toán là số dương. Sau đó hiệu chỉnh kết quả như sau: + : +  giữ nguyên kết quả + : -  đảo dấu phần thương - : +  đảo dấu phần thương và phần dư - : -  đảo dấu phần dư Nguyễn Thị Mỹ Dung – Khoa CNTT 59 Nguyễn Thị Mỹ Dung – Khoa CNTT 60 Chương 1: Nhập môn KTMT 15
Đồng bộ tài khoản