Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội Tổng quan về kiến trúc máy tính Phân biệt kiến trúc máy tính Von Neumann và Non Von Neumann Bài làm Kiến trúc Von Neumann Có một bộ nhớ và.
Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ Chương Tổng quan kiến trúc máy tính Câu 1.1 Phân biệt kiến trúc máy tính Von Neumann Non Von Neumann Bài làm Kiến trúc Von Neumann: Có nhớ bus để chuyển liệu vào đơn vị xử lý trung tâm (CPU) CPU đọc lệnh, đọc/ghi liệu từ nhớ Tuy vậy, hai trình tương tác với lệnh với liệu, thực lúc.Bộ lọc Von Neumann thỏa đáng quan tâm đến việc thực nhiệm vụ tuần tự.Hầu hết máy tính ngày sử dụng thiết kế Von Neumann.Chúng ta cần kiến trúc khác địi hỏi xử lý nhanh, chi trả với giá cao Kiến trúc Non Von Neumann: Những phận như: Đơn vị điều khiển, đơn vị số học logic, thiết bị vào tương tác qua lại với khơng có nhớ Khơng thường áp dụng cho kiến trúc đa vi xử lý đa máy tính kiến trúc Von Neumann Câu 1.2 Vẽ sơ đồ khối cấu trúc chung máy tính IBM-PC trình bày tóm tắt chức khối Gợi ý: Cấu trúc chung hệ thống máy tính IBM-PC tương thích IBM-PC bao gồm thành phần (hình 1.3): Đơn vị xử lý trung tâm (Central Processing Unit – CPU), nhớ (Internal Memory), hệ thống vào (Input/Output System - I/O System), bus liên kết hệ thống (System Bus) Bài làm - Chức khối: Đơn vị xử lý trung tâm(Central Processing Unit-CPU): CPU coi não giàn máy tính, có chức xử lý thông tin liệu nhập vào máy tính Giúp máy _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ tính vận hành xử lý chơn chu tác vụ yêu cầu.(Cấu tạo CPU gồm khối: Khối điều khiển, Khối tính tốn, Các ghi.) Bộ nhớ trong(Internal Memory): Là nơi chứa chương trình đưa vào để thực nơi lưu trữ liệu xử lý.(Bao gồm RAM ROM.) Hệ thống vào (Input/Output System - I/O System): Có chức đưa thông tin vào đưa liệu từ máy tính Bus liên kết (System bus): Tập hợp đường kết nối dùng để vận chuyển thông tin module máy tính với Câu 1.3 Trình bày chức năng, đặc điểm bus địa Bài làm - Chức năng: Vận chuyển địa để xác định ngăn nhớ hay cổng vào/ra - Đặc điểm: Độ rộng bus địa cho biết số lượng ngăn nhớ tối đa đánh địa VD: N bit: AN-1, AN-2, A2, A1, A0 → đánh địa tối đa cho N ngăn nhớ (không gian địa nhớ) Câu 1.4 Cho biết ý nghĩa nói Bus địa có độ rộng 24 bit Bài làm - Bus gồm 24 đường dây dẫn, CPU có khả quản lý khơng gian nhớ 24 = 16 777 216 b = 16MB Câu 1.5 Trình bày chức năng, đặc điểm bus liệu Bài làm - Chức năng: • Vận chuyển lệnh từ nhớ đến CPU • Vận chuyển liệu CPU, module nhớ, module vào/ra với - Độ rộng bus liệu: Xác định số bit liệu trao đổi đồng thời • M bit: DM-1,DM-2,….,D1,D0 • M thường là: bit, 16 bit, 32 bit, 64 bit, 128 bit VD: Các xử lý Pentium có bus liệu 64 bit _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ Câu 1.6 Cho biết ý nghĩa nói Bus liệu có độ rộng 32 bit Bài làm - Bus gồm 32 đường dây dẫn, CPU có khả xử lý tốn hạng 32 bit chu kỳ lệnh Câu 1.7 Trình bày chức năng, đặc điểm bus điều khiển Bài làm - Chức năng: Vận chuyển tín hiệu điều khiển - Các loại tín hiệu điều khiển bao gồm: • Các tín hiệu điều khiển đọc/ghi • Các tín hiệu điều khiển ngắt • Các tín hiệu điều khiển bus Câu 1.8 Trình bày hiểu biết em tín hiệu điều khiển đọc/ghi nhớ Bài làm Memory Read (MEMR): điều khiển đọc liệu từ ngăn nhớ có địa xác định lên bus liệu Memory Read (MEMR): điều khiển đọc liệu từ ngăn nhớ có địa xác định lên bus liệu Câu 1.9 Trình bày hiểu biết em tín hiệu điều khiển đọc/ghi thiết bị vào/ra Bài làm Memory Read (MEMR): điều khiển đọc liệu từ ngăn nhớ có địa xác định lên bus liệu Memory Read (MEMR): điều khiển đọc liệu từ ngăn nhớ có địa xác định lên bus liệu Câu 1.10 Trình bày tín hiệu điều khiển ngắt cứng điển hình (NMI, INTR, INTA) INTR: Tín hiệu từ điều khiển vào/ra gửi đến yêu cầu ngắt CPU để trao đổi vào/ra Tín hiệu INTR bị che _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ INTA: Tín hiệu phát từ CPU báo cho điều khiển vào/ra biết CPU chấp nhận ngắt để trao đổi vào/ra NMI: Tín hiệu ngắt khơng che gửi đến ngắt CPU Chương Kiến trúc tập lệnh 1.1 Tóm tắt lý thuyết 1.1.1 Thơng tin - biểu diễn xử lý thông tin 1.1.1.1 Thông tin Thông tin hiểu biết, nhận thức người giới khách quan, hay nói cách khác, thông tin đại lượng phi vật chất, mà người cảm nhận thơng qua giới thực khách quan Muốn lưu trữ truyền tải thơng tin phải vật chất hóa thông tin thông qua đại lượng vật lý 1.1.1.2 Dữ liệu Dữ liệu thơng tin vật chất hóa thơng qua đại lượng vật lý đó, hay nói cách khác liệu đại lượng mang tin Muốn có thơng tin phải tập hợp xử lý liệu 1.1.1.3 Biểu diễn thông tin xử lý liệu máy tính Trong máy tính, thơng tin vật chất hóa thơng qua tín hiệu điện hay nói cách khác, liệu máy tính biểu diễn, lưu trữ truyền tải thơng qua tín hiệu điện Trong máy tính có nhiều bóng đèn, bóng đèn trạng thái sáng hay tắt + Trạng thái tắt (khơng có điện hay mức điện áp thấp) cho ta tín hiệu + Trạng thái sáng (có điện hay mức điện áp cao) cho ta tín hiệu Tập tín hiệu 0/1 cho ta số hệ số (số nhị phân - binary) biểu diễn giá trị liệu Ví dụ, ta có bóng đèn đánh số từ - 0, bóng trạng thái tương ứng sau: tắt, sáng, tắt, tắt, tắt, tắt, tắt, sáng; tức ta có tập tín hiệu 0/1 tương ứng 0,1,0,0,0,0,0,1 biểu diễn số nhị phân 01000001b; liệu lưu trữ số tập tín hiệu biểu diễn số 65, liệu lưu trữ ký tự tập tín hiệu biểu diễn chữ “A” Quá trình xử lý liệu máy tính tóm tắt sau: - Nhận liệu đầu vào số hóa - Xử lý liệu thơng qua dãy lệnh - Đưa kết xử lý lưu trữ liệu đầu 1.1.1.4 Đơn vị thông tin Mỗi bit cho ta biết trạng thái tín hiệu điện đường dây thời điểm: điện áp mức cao (có điện) 1, điện áp mức thấp (khơng có điện) Trong máy tính để biểu diễn giá trị số, dùng hệ số nói ngắn gọn hệ hai (Binary number system, viết tắt hệ B) Trong chữ số tồn giá trị (ứng với trạng thái: khơng có điện có điện) Hay chữ số số nhị phân ta gọi bit Bit đơn vị sở để xác định dung lượng nhớ, nhớ tổ chức theo byte _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ byte = bits KB = 210 bytes (KB: Kilobyte) MB = 210 KB = 220 bytes (MB: Megabyte) GB = 210 MB = 220 KB = 230 bytes (GB: Gigabyte) TB = 210 GB = 220 MB = 230 KB = 240 bytes (TB: Terabyte) 1.1.1.5 Một số đơn vị đo độ dài số hệ dẫn xuất từ bit Hình 2.1 Các đơn vị đo độ dài số hệ dẫn xuất từ bit 1.1.2 Hệ đếm hệ số Hệ đếm số a (tổng quát) Một số biểu diễn hệ đếm số a (tổng quát) sau: Q = mk-1 mk∙∙∙∙∙∙m1m0.m-1m-n+k Trong đó: - i trọng số chữ số tương ứng [i = -(n-k) ÷ (k-1)] - mi = [0 ÷ (a – 1)] Hệ đếm thập phân (Decimal - hệ số 10): a = 10, mi = ÷ Biểu diễn: Viết bình thường, ví dụ 1029.375 Hệ đếm nhị phân (Binary - hệ số 2): a = 2, mi = 0/1 Biểu diễn: cuối số phải có chữ b B (2) Ví dụ: 11000100.11b 11000100.11B, 11000100.11(2) Hệ đếm thập lục phân (Hex - hệ số 16): a = 16, mi = ÷ 15 Biểu diễn: - Các chữ số có giá trị từ đến 9, viết bình thường - Các chữ số từ 10 đến 15 biểu diễn ký tự tương ứng sau: _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ Chữ số đầu không phép ký tự (bắt buộc phải chữ số) - Cuối số phải có chữ h H (16) Ví dụ biểu diễn đúng: 0A70E.36FDh 0A70E.36FDH 0A70E.36FD(16) Ví dụ biểu diễn sai: A70E.36FDh A70E.36FDH A70E.36FD(16) Ví dụ: 11000100.11b 11000100.11B, 11000100.11(2) - 1.2 Câu hỏi tập chương Câu 2.1 Đổi số 1097.75 hệ Gợi ý: Ta cần thực bước Bước Đổi phần nguyên số hệ Để Chuyển đổi số nguyên hệ số nhanh chóng, tránh thực nhiều phép toán, ta thực theo thứ tự chiều mũi tên: Số hệ 10 số hệ 16 số hệ số hệ (hệ bát phân) Cụ thể: - Nếu từ số hệ 10, cần đổi hệ 2, trước hết ta đổi số hệ 10 hệ 16 (chia số hệ 10 cho 16), đổi chữ số hệ 16 hệ (giảm số phép chia đỡ nhầm lẫn) - Nếu từ số hệ cần đổi hệ 10, trước hết ta đổi số hệ hệ 16 (nhóm đủ chữ số hệ tính từ dấu chấm ngăn cách phần nguyên phần lẻ nhị phân, phần nguyên nhóm sang trái, phần lẻ nhị phân nhóm sang phải) Cuối cùng, đổi số hệ 16 số hệ 10 theo công thức (2.1) (Giảm số phép nhân) Bước Đổi phần lẻ thập phân phần lẻ nhị phân (sử dụng thuật toán nhân 2) Bước Ghép kết phần (phần nguyên nhị phân phần lẻ nhị phân) Bài làm: Đổi số 1097 hệ - Đổi số 1097 hệ 16: Lấy kết theo chiều mũi tên Ta được: 1097 = 44BH - Đổi số 44BH hệ ta được: 010001001011B - Vậy 1097 = 10001001011B Đổi 0.75 hệ _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ 0.75 x = 1.5 0.5 x = 1.0 - Vậy 0.75 = 0.11B (kết quả: lấy phần nguyên kết nhân từ theo thứ tự từ xuống dưới) Ghép phần, ta có: 1097.75 = 10001001011.11B Câu 2.2 Đổi số 12035.125 hệ Bài làm - Đổi 12035 hệ 16: Dòng Phép chia lấy phần nguyên Lấy dư 12035 / 16 = 752 752 / 16 = 47 47 / 16 = 15 / 16 = Lấy phần dư từ lên ta được: 12035 = 2F03H Đổi 2F03H hệ 2: 1011110000001B - Đổi 0.125 hệ 2: 0.125 × = 0.25 phần nguyên 0.25 × = 0.5 phần nguyên 0.5 × = 1.0 phần nguyên Vậy 0.125 = 0.001B Vậy 12035.125 = 1011110000001.001B Câu 2.3 Đổi số 7899.8 hệ _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ Bài làm - Dòng Phép chia lấy phần nguyên Lấy dư 7889 / 16 = 493 493 / 16 = 30 13 30 / 16 = 14 / 16 = 7889 = 2ED1H Đổi 1ED1H hệ 2: 1111011010001B Đổi 0.8 hệ 2: 0.8 × = 1.6 0.6 × = 1.2 0.2 × = 0.4 0.4 × = 0.8 0.8 × = 1.6 0.6 × = 1.2 Vậy 0.8 = 0.1100 B Vậy 7889.8 = 1111011010001.1100 B Câu 2.4 Đổi số 10110010.11B hệ 10 Gợi ý: Đổi số Q hệ số a số P hệ số 10: ta thực theo công thức sau Q = mk-1 mk∙∙∙∙∙∙m1m0.m-1m-n+k P = ak-1 mk-1 + ak-2 mk-2 + … + a1 m1 + m0 + a-1 m-1 + … + a-n+k m-n+k (2.1) Ta thực theo cách: Cách 1: Đổi số cho qua số hệ 16, đổi tiếp từ số hệ 16 hệ _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ Đổi số 10110010.11B hệ 16, ta có: 10110010.11B = 10110010.1100B = 0B2.BH - Đổi số 0B2.BH hệ 10 theo công thức (2.1), ta có: 11 * 161 + * 160 + 11 * 16-1 = = 176 + + 0.75 = 178.75 Cách 2: Đổi số cho thẳng sang số hệ 10 (theo công thức 2.1) 10110010.11B = 1*27 + 0*24 + 1*25 + 1*24 + 0*23+ 0*22 + 1*21 + 2-1 + 2-2 = 128 + 32 + 16 + + 0.5 + 0.25 = 178.75 - Câu 2.5 Đổi số 1111011110110010.110001B hệ 10 (Thực theo cách câu 2.4) Bài làm Cách 1: - Đổi 1111011110110010 hệ 16: 1111 = F 0111 = 1011 = B 0010 = 1100 = C 0100 = 1111011110110010B = F7B2.C4H Đổi F7B2H hệ 10: 15×163 + 7×162 + 11×161 + 2×160 + 12×16-1 + 4×16-2 = 63410.765625D Vậy 1111011110110010.110001B = 63410.765625D Cách 2: - Đổi 1111011110110010.11001B hệ 10: = 1×215 + 1×214 + 1×213 + 1×212 + 0×211 + 1×210 + 1×29 + 1×28 + 1×27 + 0×26 + 1×25 + 1×24 + 0×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 0×2-4 + 0×2-5 + 1×2-6 = 63410.765625D Câu 2.6 Đổi số nguyên thập phân sau số hex 16 bit: 234 Gợi ý Số hệ hex 16 bit phải số có đủ chữ số hệ 16, 234 số nguyên dương nên đổi hệ 16 bình thường theo thuật tốn chia 16 Bài làm _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ Vậy 234 = 00EAH Câu 2.7 Đổi số nguyên thập phân sau số hex 16 bit: 7899 Bài làm Dòng Phép chia lấy phần nguyên Lấy dư 7899 / 16 = 493 11 493 / 16 = 30 13 30 / 16 = 14 / 16 = Vậy 7899 = 1EDBH Câu 2.8 Đổi số nguyên thập phân sau số hex 16 bit: 31634 Bài làm Dòng Phép chia lấy phần nguyên Lấy dư 31634 / 16 = 1977 2 1977 / 16 = 123 10 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ - Khơng có trường tag 69 miss cache … - Có tag line set 69 hit cache CPU đọc nhớ có số hiệu (địa lệch) w = 000000111b = 1+2+4 = - Địa vật lý: TW = 1000101000000111b = 8A07h Câu 4.19 CPU có 24 bit địa chỉ, nhớ 256 KB chia làm 512 block nhớ, nhớ cache có dung lượng KB Khi CPU lệnh phát địa truy nhập nhớ 2280Ah Hãy trình bày chi tiết phương pháp đọc cache theo kỹ thuật ánh xạ liên kết tập hợp địa ô nhớ cần truy cập nhớ theo trường hợp phát địa Bài làm Bước 1: xác định dung lượng Block( line) Cblock=Cmemory/Nblock=256KB/512=29W=9( bits) Bước : xác định số lượng line cache Nline=Ccache/Cblock=8/0.5KB=16=24L=4(bits) Bước 3: xác định số line set Nline-set=Nline/Nset=16/4=4(lines) Bước 4: xác định số bits để đánh số hiệu set Nset=4=22 S=2 Bước 5: xác định số bits để đánh số hiệu cho Block Nblock=512=29 T=9 bits Bước 6: xác định số bits địa hợp lệ N=T+S+W=9+2+9=20(bits) Bước 7: đọc cache với địa 2280Ah 2280Ah=100010100000001010bđịa có 18 bitsN=20 bits địa không hợp lệ Câu 4.21 Cho sơ đồ mạch ROM mặt nạ sau: Bài làm 68 _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ Địa 000000011b 000000101b 000000111b Giá trị liệu 1101 0101 1101 Câu 4.22 Trình bày nguyên lý ghi, đọc phần tử nhớ động bóng sau: Bài làm - Phần tử DRAM, nguyên lý hoạt động là: Một tế bào DRAM lưu trữ bao gồm tụ điện thiết bị chuyển (MOSFET) hoạt động chuyển đổi (hình minh họa) Nếu tụ điện có điện tích tế bào mang giá trị bit “1” cịn ngược lại giá trị “0” Các tế bào xếp theo hàng cột trực giao với tạo nên mảng Thông thường người ta hay dùng mảng phụ ghép thành mảng thay dùng mảng để giảm thời gian truy cập tế bào Câu 4.23 Cho phần tử nhớ sau: 69 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ a.Chứng minh với Yj = 1, Xi = 1, WE = CS = Q = Din đồng thời H Dout ngắt mạch: theo đề ta có: =>C = 0, lúc đầu DOUT trạng thái trở kháng cao, nói đường dây DOUT ngắt mạch với phần tử nhớ WE=1/WE=0 C= AND ( CS;/WE) = AND (1;0) = A= AND ( Xi; Y j) = AND (1;1) =1 B=NAND (CS; WE ) = NAND (1;1) = E=NAND (A ;B) =NAND (1; 0) = Khả 1: DIN=0 G= NAND(E;DIN) =NAND(1;0) =1 F = NAND(E;G )= NAND( 1;1) =0 /Q = NAND (F;Q) = NAND(0;Q)= 1 Q=0 (1) Khả 2: DIN= G= NAND ( E; DIN) =NAND (1; 1)= Q= NAND (G; /Q) =NAND( 0;/Q)=1 (2) (1) (2) Q=DIN b.Yj = 1, Xi = 1, WE = CS = Q khơng phụ thuộc Din Dout = Q: C= AND ( CS;/WE) = AND (1;1) = DOUT=H A= AND ( XI; YJ ) = AND (1;1)=1 H= AND (A; /Q ) = AND (1;/Q)= Q DOUT = Q B=NAND (CS; WE ) = NAND (1;0) = E=NAND (A ;B) =NAND (1; 1) = F = NAND(E;G )= NAND( 0;G) =1 Xét Qt-1 = 0: 70 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 0) =1 Q(t)= (1) Xét Qt-1 = 1: /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 1) =0 Q(t)= (2) (1),(2) Qt =Qt-1 Q không đổi c.Yj = 1, Xi = 1, WE = 0/1 CS = Q khơng phụ thuộc Din, đồng thời H Dout trạng thái trở kháng cao (ngắt mạch) theo đề ta có: WE=1/WE=0 C= AND ( CS;/WE) = AND (0;1) = =>C = 0, lúc đầu DOUT trạng thái trở kháng cao, nói đường dây DOUT ngắt mạch với phần tử nhớ A= AND ( XI; YJ ) = AND (1;1)=1 B=NAND (CS; WE ) = NAND (0;1) = E=NAND (A ;B) =NAND (1; 1) = F = NAND(E;G )= NAND( 0;G) =1 Xét Qt-1 = 0: /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 0) =1 Q(t)= (1) Xét Qt-1 = 1: /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 1) =0 Q(t)= (2) (1),(2) Qt =Qt-1 Q không đổi WE=0/WE=1 A= AND ( XI; YJ ) = AND (1;1)=1 B=NAND (CS; WE ) = NAND (0;0) = E=NAND (A ;B) =NAND (1; 1) = F = NAND(E;G )= NAND( 0;G) =1 Xét Qt-1 = 0: /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 0) =1 Q(t)= (1) Xét Qt-1 = 1: /Q(t) = NAND ( F; Qt-1) = NAND (1; Qt-1) = NAND( 1; 1) =0 Q(t)= (2) (1),(2) Qt =Qt-1 Q không đổi Câu 4.24 Vẽ sơ đồ khối ghép nối CPU nhớ chính, trình bày chức đường dây ghép nối Bài làm 1.ALE:để chốt địa nhớ Địa chốt nên tiến hành việc đọc ghi ki ALE trở lại mức cao 71 _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ 2.WR/RD(Write/ Read): địa mở, vi xử lý tác động vào tín hiệu WR RD đẻ tiến hành q trình ghi đọc nhớ Tín hiwwuj trạng thái có mức logic thấp hoắc mức logic cao mở ô nhớ lúc 3.IO/M(Input-Output/Memmory): tín hiệu cho phép chọn cổng vào nhớ Tín hiệu cần thiết ghi địa dùng cho nhớ cổng I/O DEN(Data Enable): để phân định thười gian cho BUS,báo hiệu cho BUS liệu ổn định mở thông mạch đệm hầu hết hệ thống nối với BUS liệu phải qua mạch đệm tín hiệu DEN tín hiệu trạng thái hiệu lực dùng đẻ mở mạch DT/R( Data transmit/ Receive): dùng đẻ xác định chiều truyền liệu mức cao lhi bọ xử lý truyền liệu mức thấp nhập liệu Câu 4.25 Giả sử nhớ vật lý có dung lượng 512 MB, chương trình gồm module, xác định địa vật lý tương ứng với địa logic phát , , , , cho biết bảng quản lý phân đoạn sau: Bài làm a Với địa logic phát - Bảng SCB cho thấy chương trình có đoạn, đánh số từ đến - Số hiệu đoạn cần truy nhập S = < 5, địa đoạn cần truy nhập hợp lệ - Phần tử bảng SCB, cho biết đoạn có độ dài L = 700h byte, so sánh : L = 700h > d = 43h, nên địa lệch cần truy nhập hợp lệ - Phần tử bảng SCB có P = 1, cho biết đoạn nạp vào vùng nhớ có địa đầu A = 300h - Địa vật lý cần truy nhập = A + d = 300h + 43h = 343h b Với địa logic phát - Ta có : S= 4 Hợp lệ - Đưa vào hàng bảng SCB ta có : 72 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ P =1 : Đoạn nạp vào RAM A= A00h : Đoạn nạp vào RAM vị trí bắt đầu A00h L=600h : Kích thước đoạn 600h byte - Ta có d=4FFh < 600h -> Hợp lệ : - Địa vật lý cần truy nhập = A + d = A00h + 4FFh = EFFh c Với địa logic phát - Bảng SCB cho thấy chương trình có đoạn, đánh số từ đến - Số hiệu đoạn cần truy nhập S = < 5, địa đoạn cần truy nhập hợp lệ - Phần tử bảng SCB, cho biết đoạn có độ dài L = 500h byte, so sánh : L = 500h > d = 4FFh, nên địa lệch cần truy nhập hợp lệ - Phần tử bảng SCB có P = 0, cho biết đoạn chưa nạp nhớ Do hệ thống cần thực nạp đoạn đổi đoạn để tiến trình tiếp tục thực thi d Với địa logic phát - Bảng SCB cho thấy chương trình có đoạn, đánh số từ đến - Số hiệu đoạn cần truy nhập S = < 5, địa đoạn cần truy nhập hợp lệ - Ta xét hàng bảng ta có : • P = cho biết đoạn chưa nạp nhớ Do hệ thống cần thực nạp đoạn đổi đoạn để tiến trình tiếp tục thực thi e Với địa logic phát - Bảng SCB cho thấy chương trình có đoạn, đánh số từ đến - Số hiệu đoạn cần truy nhập S = < 5, địa đoạn cần truy nhập hợp lệ - Phần tử bảng SCB, cho biết đoạn có độ dài L = 500h byte, so sánh : L = 600h ≤ d = 600h, nên địa lệch cần truy nhập không hợp lệ, tiến trình dừng f Với địa logic phát - Ta có : S= < -> Hợp lệ - Đưa vào hàng bảng SCB ta có : P =1 : Đoạn nạp vào RAM A= 300h : Đoạn nạp vào RAM vị trí bắt đầu 300h L=700h : Kích thước đoạn 700h byte - Ta có d=701h >700h -> Không hợp lệ, độ dài địa lớn độ dài đoạn g Với địa logic phát - Ta có S=5-> khơng hợp lệ, chương trình có đoạn, đánh số từ 0->4 Câu 4.26 Giả sử nhớ vật lý, kích thước 32 bytes, chia làm trang vật lý Chương trình có kích thước 18 bytes có nội dung ‘0123456789ABCDEFGH’ Và bảng quản lý trang (PCB) có nội dung sau: 73 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ Bài làm * Phần tính tốn chung - Kích thước trang vật lý là: L = dung lượng nhớ vật lý / số trang vật lý = 32/8 = bytes = 22 - Vậy số bit để đánh độ lệch trang là: n1 = - Số bit để đánh số hiệu trang vật lý là: = 23, n2 = - Số bit để đánh địa vật lý là: 32 = 25, n = (n = n2 + n1) - Số trang logic chương trình = dung lượng chương trình/ L = 18/4 = 4,5 Vậy số trang logic chương trình phải (bảng PCB phù hợp) - Căn vào bảng PCB, dung lượng nhớ vật lý kích thước trang, ta có sơ đồ nạp trang sau: a Xác định địa vật lý (ĐCVL) truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = < (độ dài trang), nên địa lệch cần truy nhập trang hợp lệ - Phần tử bảng PCB có P = 1, cho biết trang logic nạp vào trang vật lý A = A = < (số trang vật lý), nên giá trị hợp lệ - ĐCVL cần truy nhập là: ĐCVL = A SHL n1 OR d = SHL OR = 0111b SHL OR 10b = 11100b OR 10b = 11110b = 30 74 _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ - Nhìn vào sơ đồ ta thây nội dung nhớ có địa 30 “6” b Xác định địa vật lý truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = < (độ dài trang), nên địa lệch cần truy nhập trang hợp lệ - Phần tử bảng PCB có P = 1, cho biết trang logic nạp vào trang vật lý A = A = < (số trang vật lý), nên giá trị hợp lệ - ĐCVL cần truy nhập là: ĐCVL = A SHL n1 OR d = SHL OR = 0011b SHL OR 11b = 01100b OR 11b = 01111b = 15 - Nhìn vào sơ đồ ta thây nội dung nhớ có địa 15 “A” c Xác định địa vật lý truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = < (độ dài trang), nên địa lệch cần truy nhập trang hợp lệ - Phần tử bảng PCB có P = 0, cho biết trang logic chưa nạp vào nhớ vật lý, nên hệ thống cần nạp trang đổi trang d Xác định địa vật lý truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = < (độ dài trang), nên địa lệch cần truy nhập trang hợp lệ - Phần tử bảng PCB có P = 0, cho biết trang logic chưa nạp vào nhớ vật lý, nên hệ thống cần nạp trang đổi trang e Xác định địa vật lý truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = > (độ dài trang), nên địa lệch cần truy nhập trang không hợp lệ Do tiến trình phải dừng f Xác định địa vật lý truy nhập tương ứng với địa logic - Số hiệu trang logic cần truy nhập là: Np = < (số trang logic chương trình) nên số hiệu trang cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 4= (độ dài trang), nên địa lệch cần truy nhập trang khơng hợp lệ Do tiến trình phải dừng g Xác định địa vật lý truy nhập tương ứng với địa logic 75 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ - Số hiệu trang logic cần truy nhập là: Np = = (số trang logic chương trình) nên số hiệu trang cần truy nhập Không hợp lệ Câu 4.27 Giả sử nhớ vật lý (BNVL) có dung lượng 32MB, chương trình gồm modul, xác định địa truy cập chiến lược phân trang – phân đoạn, với: * Phần tính tốn chung - Kích thước trang vật lý là: L = KB = 22*210 bytes = 212 bytes = 1000000000000B bytes = 1000H bytes - Vậy số bit để đánh độ lệch trang là: n1 = 12 - Số trang vật lý = dung lượng BNVL / kích thước trang = 64MB/4KB = 64*210 KB/4 KB = 16 * 210 = 24 * 210 = 214 = 100000000000000B = 4000H - Số bit để đánh số hiệu trang vật lý là: n2 = 14 - Số bit để đánh địa vật lý là: 64 MB = 226, n = 26 (n = n2 + n1) a Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = < (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = < L = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 20BH < L = 1000H, địa lệch cần truy nhập trang hợp lệ - Phần tử SCB có Ps = 1, cho biết đoạn nạp Ap = 400400h địa đầu bảng PCB0 nhớ vật lý - Truy cập bảng PCB0, ta thấy phần tử (quản lý trang Np = 2) cho biết trang Np =2 nạp (P = 1) vào trang vật lý có số hiệu A = 406H - Vậy địa vật lý cần truy nhập là: 76 _ Ngơ Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ ĐCVL = A SHL n1 OR d = 406H SHL 12 OR 20BH = 406000H OR 20BH = 40620BH b Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = < (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = 1< L0 = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 7Ah < L = 1000h, địa lệch cần truy nhập trang hợp lệ - Phần tử SCB có Ps = 1, cho biết đoạn nạp Ap = 400400h địa đầu bảng PCB0 nhớ vật lý - Truy cập bảng PCB0, ta thấy phần tử (quản lý trang Np = 1) cho biết trang Np =1 nạp (P = 1) vào trang vật lý có số hiệu A = 405h - Vậy địa vật lý cần truy nhập là: ĐCVL = A SHL n1 OR d = 405h SHL 12 OR 7Ah = 405000h OR 7Ah = 40507Ah c Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = < (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = < L1 = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 46H < L = 1000H, địa lệch cần truy nhập trang hợp lệ - Phần tử SCB có Ps = 0, cho biết đoạn chưa nạp vào nhớ vật lý Hệ thống cần nạp đoạn đổi đoạn d Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = 1< (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = 1< L0 = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 1001h > L = 1000h, địa lệch cần truy nhập trang không hợp lệ e Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = < (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = < L2 = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ 77 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thông tin – Trường Đại học Công nghiệp Hà Nội _ - Địa lệch cần truy nhập trang là: d = 1000H ≥ L = 1000H, địa lệch cần truy nhập trang khơng hợp lệ, tiến trình phải dừng f Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S =2< (số đoạn chương trình), địa đoạn cần truy nhập hợp lệ - Số hiệu trang logic cần truy nhập là: Np = 3< L0 = (độ dài đoạn – xem phần tử bảng SCB), số hiệu trang logic cần truy nhập hợp lệ - Địa lệch cần truy nhập trang là: d = 200h < L = 1000h, địa lệch cần truy nhập trang hợp lệ - Phần tử SCB có Ps = 1, cho biết đoạn nạp Ap = 400C00h địa đầu bảng PCB2 nhớ vật lý - Truy cập bảng PCB2, ta thấy phần tử (quản lý trang Np = 3) khơng có nên khơng hợp lý g Xác định địa vật lý cần truy cập theo địa logic - Số hiệu đoạn cần truy nhập là: S = =4 (số đoạn chương trình), địa đoạn cần truy nhập không hợp lệ Chương Kỹ thuật đường ống RISC Câu 5.1 Trình bày kỹ thuật đường ống (pipeline) để đưa cơng thức tính thời gian thực n lệnh, với ví dụ đường ống gồm cơng đoạn: Nhận lệnh, giải mã lệnh, tính địa toán hạng, nhận toán hạng, thi hành lệnh, ghi toán hạng Bài làm Ý tưởng: Chia lệnh làm nhiều công đoạn cho xử lý công đoạn gối lênh Nhận lệnh (IF: Instruction Fetch) Giải mã lệnh (ID: Instruction decode) Tính địa toán hạng (Operand calculation - OC) Nhận toán hạng (Operands Fetch – OF) Thực lệnh (Instruction execution – IE) Ghi kết (WO – Write operation) Câu 5.2 Trình bày khó khăn hướng khắc phục với kỹ thuật đường ống đơn vị lệnh Bài làm - Khi thi hành lệnh máy tính dùng kỹ thuật ống dẫn, có nhiều trường hợp làm cho việc thực kỹ thuật ống dẫn không thực là: thiếu mạch chức năng, lệnh dùng kết lệnh trước, lệnh nhảy 78 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ - Ta phân biệt loại khó khăn: khó khăn cấu trúc, khó khăn số liệu khó khăn điều khiển • Khó khăn cấu trúc: Đây khó khăn thiếu phận chức năng, ví dụ máy tính dùng kỹ thuật ống dẫn phải có nhiều ALU, nhiều PC, nhiều ghi lệnh IR Các khó khăn giải cách thêm phận chức cần thiết hữu hiệu • Khó khăn số liệu: Đôi câu lệnh thiếu sót nên gặp trục trặc hoạt động • Khó khăn điều khiển: Các lệnh làm thay đổi tính thi hành lệnh cách (nghĩa PC tăng đặn sau lệnh), gây khó khăn điều khiển Các lệnh lệnh nhảy đến địa tuyệt đối chứa ghi, hay lệnh nhảy đến địa xác định cách tương đối so với địa đếm chương trình PC Các lệnh nhảy có khơng điều kiện Câu 5.3 Giả sử lệnh chia làm công đoạn: nhận lệnh, giải mã lệnh, nhận toán hạng, xử lý, cất kết Mỗi công đoạn thực 5*10 -9 giây Một lệnh thực hết 22*10-9 giây So sánh thời gian thực 40 lệnh kỹ thuật pipeline kỹ thuật Gợi ý - Áp dụng công thức Tp = m*Tc + (n-1)*Tc, đó: Tp: thời gian thực n lệnh theo kỹ thuật pipeline Tc: thời gian thực công đoạn lớn m công đoạn theo kỹ thuật pipeline n: số lệnh M: số công đoạn lệnh - Và cơng thức Tt = n*T, đó: T: thời gian thực lệnh thực Bài làm Ta có: Tt = n * T = 40 * 22 *10-9 (giây) Tp = m*Tc + (n-1)*Tc = * (5*10-9) + (40 -1)* (5*10-9) = 44 * (5*10-9) (giây) Vậy thực 40 lệnh với kỹ thuật pipeline nhanh 40 lệnh với kỹ thuật : Tt/Tp = 40*22*10-9 / (44*5*10-9) = 8*22/44 = lần Câu 5.4 Giả sử lệnh chia làm công đoạn: nhận lệnh, giải mã lệnh, tính địa tốn hạng, nhận tốn hạng, xử lý, cất kết Mỗi công đoạn thực thời gian 5*10 -9 giây Một lệnh thực hết 22*10 -9 giây So sánh thời gian thực 50 lệnh kỹ thuật pipeline kỹ thuật Bài làm Ta có: Tt = n * T = 50 * 22 *10-9 (giây) 79 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ Tp = m*Tc + (n-1)*Tc = * (5*10-9) + (50 -1)* (5*10-9) = 55* (5*10-9) (giây) Vậy thực 50 lệnh với kỹ thuật pipeline nhanh 50 lệnh với kỹ thuật : Tt/Tp = (50*22*10-9 )/ (55*5*10-9) = lần Câu 5.5 Trình bày tóm tắt đặc điểm kỹ thuật cài đặt RISC Bài làm Kích thước lệnh cố định bytes Sử dụng lệnh load/store Nhiều ghi: 32 ghi 32 bit cho số nguyên, 32 ghi 64 bit dành cho số thực Đánh địa đơn giản Tập lệnh nhỏ Hỗ trợ kiểu liệu Các lệnh thực nhanh cần xung clock Có bus riêng cho liệu mã lệnh Câu 5.6 Cho biết ý nghĩa cụm từ RISC (Reduced Instruction Set Computer) Bài làm RISC (viết tắt Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa) phương pháp thiết kế vi xử lý (VXL) theo hướng đơn giản hóa tập lệnh, thời gian thực thi tất lệnh Hiện vi xử lý RISC phổ biến ARM, SuperH, MIPS, SPARC, DEC Alpha, PA-RISC, PIC, PowerPC IBM Câu 5.7 Trình bày ngắn gọn khác biệt kiến trúc CISC kiến trúc RISC Bài làm Trong RISC kích thước tập lệnh nhỏ CISC kích thước tập lệnh lớn RISC sử dụng định dạng cố định (32 bit) chủ yếu hướng dẫn dựa đăng ký CISC sử dụng định dạng biến phạm vi từ 16-64 bit cho lệnh RISC sử dụng đồng hồ đơn chế độ địa giới hạn (ví dụ: 3-5) Mặt khác, CISC sử dụng nhiều chế độ địa 12 đến 24 đồng hồ Số lượng ghi mục đích chung mà RISC sử dụng nằm khoảng từ 32-192 Ngược lại, kiến trúc CISC sử dụng 8-24 GPR Cơ chế nhớ đăng ký để đăng ký sử dụng RISC với hướng dẫn LOAD STORE độc lập Ngược lại, CISC sử dụng nhớ vào chế nhớ để thực hoạt động, nữa, kết hợp hướng dẫn LOAD STORE 80 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thơng tin – Trường Đại học Công nghiệp Hà Nội _ RISC phân chia liệu thiết kế đệm hướng dẫn Đối với, CISC sử dụng đệm hợp cho liệu hướng dẫn, thiết kế sử dụng đệm tách Hầu hết điều khiển CPU RISC gắn cứng mà khơng có nhớ điều khiển Ngược lại, CISC mã hóa sử dụng nhớ điều khiển (ROM), CISC đại sử dụng điều khiển cứng KẾT LUẬN: Các hướng dẫn CISC phức tạp có xu hướng chậm RISC sử dụng chu kỳ với hướng dẫn Mục lục Chương Tổng quan kiến trúc máy tính Chương Kiến trúc tập lệnh 1.1 Tóm tắt lý thuyết 1.1.1 Thông tin - biểu diễn xử lý thông tin 1.1.1.1 Thông tin 1.1.1.2 Dữ liệu .4 1.1.1.3 Biểu diễn thông tin xử lý liệu máy tính 1.1.1.4 Đơn vị thông tin 1.1.1.5 Một số đơn vị đo độ dài số hệ dẫn xuất từ bit 1.1.2 Hệ đếm hệ số .5 1.2 Câu hỏi tập chương Chương CPU, Đường truyền hệ thống vào/ra 27 Chương Kiến trúc hệ thống nhớ 46 Chương Kỹ thuật đường ống RISC .97 81 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính ... xử lý liệu máy tính Trong máy tính, thơng tin vật chất hóa thơng qua tín hiệu điện hay nói cách khác, liệu máy tính biểu diễn, lưu trữ truyền tải thơng qua tín hiệu điện Trong máy tính có nhiều... +1022,9 dạng số dấu chấm động máy tính theo chuẩn IEEE 32 bit Gợi ý 15 _ Ngô Sỹ Tiến _ KHMT2_2019603916 Bài tập trình kiến trúc máy tính Khoa Cơng nghệ thông tin... diễn theo cấu trúc liệu số thực dấu chấm động lưu trữ máy tính, sử dụng thuật tốn để viết chương trình dịch cho ngơn ngữ lập trình để đưa số thực nhập từ bàn phím vào lưu trữ máy tính Dạng tổng