1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập các khái niệm cơ bản máy tính và hiệu suất kiến trúc máy tính uit có đáp án

10 4.6K 14

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Bài Tập Chương -oOo Các tập chương trích dẫn dịch lại từ: Computer Organization and Design: The Hardware/Software Interface, Patterson, D A., and J L Hennessy, Morgan Kaufman, Revised Fourth Edition, 2011 -Bài Tìm từ cụm từ danh sách cho phù hợp cho câu hỏi bên (Sinh viên sử dụng số thứ tự bên cạnh từ/cụm từ để trả lời) Chỉ sử dụng 01 lựa chọn phù hợp cho câu trả lời 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Máy tính dùng để giải vấn đề lớn thông thường truy cập qua mạng (3 – server) 1015 byte 250 byte (7 – petabyte) Máy tính có kết hợp hàng trăm ngàn xử lý hàng terabyte nhớ (5 – supercomputer) Các ứng dụng mang tính khoa học viễn tưởng ngày có lẽ diện tương lai gần.(1 – virtual worlds) Một loại nhớ gọi nhớ truy xuất ngẫu nhiên (12 – RAM) Một phần máy tính gọi đơn vị xử lý trung tâm (13 – CPU) Hàng ngàn vi xử lý tạo thành cluster (bó, cụm) lớn (8 – datacenters) Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 2015 Một vi xử lý chứa vài xử lý chip (10 – multicore processors) Giống máy tính để bàn, khơng có hình bàn phím thường truy cập qua mạng (4 – low-end servers) Đây lớp máy tính có số lượng lớn này, chạy ứng dụng nhóm ứng dụng liên quan (9 – Embedded Computer) Ngôn ngữ đặc biệt sử dụng để diễn tả thành phần phần cứng (11 – VHDL) Máy tính cá nhân có hiệu tốt cho người dùng đơn lẻ với giá rẻ (2 – Desktop Computer) Chương trình mà dịch từ ngôn ngữ cấp cao xuống hợp ngữ (15 – Compiler) Chương trình mà chuyển từ hợp ngữ thành lệnh nhị phân/mã máy (21 – Assembler) Ngôn ngữ cấp cao cho xử lý liệu thương mại (25 – Cobol) Ngôn ngữ nhị phân mà xử lý hiểu (19 – Machine language) Các lệnh mà xử lý hiểu (17 – Instruction) Ngơn ngữ cấp cao cho tính tốn khoa học (26 – Fortran) Ngơn ngữ mô tả lệnh nhị phân (mã máy) máy tính thơng qua kí hiệu biểu diễn (symbol) (18 – Assembly language) Chương trình làm nhiệm vụ giao tiếp chương trình người dùng cấp cao phần cứng, cung cấp dịch vụ khác chức giám sát (14 – Operating system) Phần mềm chương trình phát triển người dùng (24 – Application software) Số nhị phân (có giá trị 1) (16 – bit) Lớp phần mềm phần mềm ứng dụng phần cứng mà chứa hệ điều hành trình biên dịch (23 – system software) Ngôn ngữ cấp cao sử dụng để viết ứng dụng phần mềm hệ thống (20 – C) Dạng ngơn ngữ linh động (có thể chạy nhiều tảng khác nhau), kết hợp từ cơng thức đại số tốn học phải biên dịch sang hợp ngữ trước chạy máy tính (22 – high-level language) 1012 byte 240 byte (6 – Terabyte) Bài 2.1 Cho hình màu sử dụng bit để hiển thị màu (đỏ (Red), xanh (Green), xanh lơ (Blue)) pixel với độ phân giải 1280×800 pixel Hãy cho biết độ lớn nhỏ đệm để chứa khung ảnh? Trả lời: 1280 × 800 × × = 24576000 bits = 3,072,000 byte (Khoảng Mbyte) 2.2 Cùng với liệu câu 2.1, máy tính có nhớ 2048 Mbyte, chứa tối đa khung ảnh, giả sử nhớ khơng chứa khác? Trả lời: số lượng khung (frame) = 2048 Mbyte/ Mbyte = 682 khung ảnh Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 2.3 Một máy tính kết nối với mạng Ethernet với tốc độ 1Gb/Gbit (giagabit) cần gửi tệp (file) có dung lượng 256 KB Hãy cho biết cần thời gian để hoàn thành? Trả lời: Tốc độ mạng: Mạng gigabit ==> truyền gigabit/giây = 125 Mbyte/ giây Kích thước File: 256 Kbyte = 0.256 Mbyte Thời gian truyền 0.256 Mbyte = 0.256/125 = 2.048 ms 2.4 Bảng cho biết tốc độ đọc loại nhớ: Cache DRAM a 5ns 50 ns b 7ns 70ns Flash Memory μs 15 μs Magnetic Disk ms 20 ms Giả sử có file lưu nhớ cache tốn tổng cộng 2µs để đọc, hỏi file lưu DRAM Flash Memory Magnetic Disk tốn giây để đọc Trả lời: a Từ liệu bảng, ta thấy tốc độ đọc nhớ cache nhanh 10 lần nhớ DRAM, nhớ DRAM nhanh 100.000 lần tốc độ đĩa từ, nhớ flash nhanh 1000 lần đĩa từ µs từ nhớ cache ==> 20 µs từ DRAM 20 µs từ DRAM ==> giây từ đĩa từ 20 µs từ DRAM ==> ms từ nhớ flash b Tính tương tự Bài Cho xử lý P1, P2 P3: chạy tập lệnh với tần số/tốc độ xung clock CPI cho bảng bên Bộ xử lý P1 P2 P3 Clock Rate Ghz 1.5 Ghz Ghz CPI 1.5 1.0 2.5 3.1 Bộ xử lý có hiệu suất cao dựa theo tiêu chí số lệnh thực thi giây (IPS) số triệu lệnh thực thi giây (MIPS)? Trả lời: IPS(P1) = 2Ghz / 1.5 = 1.33 × 109 MIPS(P1) = 1.33 × 103 IPS(P2) = 1.5Ghz/1.0= 1.5 × 109 MIPS(P2) = 1.5 × 103 Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 IPS(P3) = 3Ghz/2.5= 1.2 × 109 MIPS(P3) = 1.2 × 103 Bộ xử lý thực thi nhiều lệnh giây xử lý có hiệu suất cao  P2 có hiệu suất cao 3.2 Nếu xử lý chạy chương trình hết 10 giây, tìm tổng số chu kì tổng số lượng lệnh tương ứng Trả lời Number of cycles Execution time = Clock rate Tổng số chu kì(P1) = 10 × × 109= 20 × 109 (chu kì) Tổng số chu kì(P2) = 10 × 1.5 × 109= 15 × 109 (chu kì) Tổng số chu kì(P3) = 10 × × 109= 30 × 109 (chu kì) Number of cycle = Number of instructions x CPI Number of instructions = Number of cycles CPI Tổng số lệnh (P1) = 20 × 109/1.5 = 13.33 × 109 (lệnh) Tổng số lệnh (P2) = 15 × 109/1 = 15 × 109 (lệnh) Số lượng lệnh (P3) = 30 × 109/2.5 = 12 × 109 (lệnh) 3.3 Nếu cố giảm 30% thời gian thực thi dẫn tới việc tăng 20% CPI Nếu vậy, tốc độ/tần số xung clock xử lý tương ứng phải bao nhiêu? Lưu ý: sử dụng liệu câu 3.2 Trả lời: Ta có: (CPI mới) = (CPI cũ) x 1.2 CPI P1 = 1.5 x 1.2 = 1.8 CPI P2 = x 1.2 = 1.2 CPI P3 = 2.5 x 1.2 = Thời gian thực thi = (thời gian cũ) x 0.7 = 10 x 0.7 = (giây) Execution time = Number of intructions x CPI Clock rate è Clock rate = Number of intructions x CPI Execution time (Number of instructions lấy câu 3.2) Thay số vào ta có tốc độ xử lý: Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Clock rate(P1) = 13.33 x 109 x 1.8/7 = 3.43 GHz Clock rate(P2) = 15 x 109 x 1.2 / = 2.57 GHz Clock rate(P3) = 12 x 109 x / = 5.14 Ghz Các câu bên sử dụng liệu bảng sau Processor Rate Clock No Instructions P1 GHz 20.109 P2 1.5 GHz 30.109 P3 GHz 90.109 Time 7s 10s 9s 3.4 Tìm IPC (số lệnh thực chu kì – instruction per cycle) cho xử lý Trả lời: IPC = 1/CPI = Number of instructions/(Execution time × clock rate) IPC(P1) = 20.109 / (7 x 2Ghz) = 1.42 IPC(P2) = 30.109 / (10 x 1.5Ghz) = IPC(P3) = 90.109 / (9 x 3Ghz)= 3.33 3.5 Tìm tốc độ/tần số xung clock cho P2 để P2 giảm thời gian thực thi P1 Trả lời: Execution time = Number of intructions x CPI Clock rate è Clock rate = Number of intructions x CPI Execution time Clock rate (new) = Number of instructions × CPI/ Execution time (new) Clock rate (old) = Number of instructions × CPI/ Execution time (old) Clock rate (new)/ Clock rate (old) = Execution time (old)/ Execution time (new)  Clock rate (new) = (Clock rate (old) x 10/7) = 1.5 Ghz x10/7 = 2.14 Ghz 3.6 Tìm số lượng lệnh cho P2 mà giảm thời gian thực thi tới P3 Trả lời: Number of instructions(new) = (clock rate x execution time(new)) / CPI Number of instructions(old) = (clock rate x execution time(old)) / CPI  Number of instructions(new)/Number of instructions(old)= execution time(new)/ execution time(old)  Number of instructions(new) = Number of instructions(old) x 9/10 = 30 x 109 x / 10 = 27 x 109 Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin 2015 Bài Xét cách thực khác kiến trúc lệnh lên hai xử lý P1 P2 Có lớp lệnh: A, B, C D Tốc độ clock CPI cách thiết kế cho bảng bên Bộ xử lý P1 P2 Clock rate 1.5 Ghz Ghz CPI Class A CPI Class B 2 CPI Class C CPI Class D 4.1 Cho chương trình với 106 lệnh chia thành lớp sau: 10% lớp A, 20% lớp B, 50% lớp C 20% lớp D Cách thực chạy nhanh (hay xử lý chạy nhanh hơn) với chương trình này? Trả lời: Số lượng lệnh tương ứng với lớp: Class A: 105 lệnh Class B: × 105 lệnh Class C: × 105 lệnh Class D: × 105 lệnh Execution time = Number of intructions x CPI Clock rate Với xử lý P1: Thời gian lệnh thuộc nhóm A chạy = (105/1.5 x 109) = 0.66 × 10-4 Thời gian lệnh thuộc nhóm B chạy = 2.66 × 10-4 Thời gian lệnh thuộc nhóm C chạy = 10 × 10-4 Thời gian lệnh thuộc nhóm D chạy = 5.33 × 10-4 Thời gian thực thi chương trình xử lý P1 = 18.65 × 10-4 Với xử lý P2: Thời gian lệnh thuộc nhóm A chạy = 10-4 Thời gian lệnh thuộc nhóm B chạy = × 10-4 Thời gian lệnh thuộc nhóm C chạy = × 10-4 Thời gian lệnh thuộc nhóm D chạy = × 10-4 Thời gian thực thi chương trình xử lý P2 = 11 × 10-4 è P2 nhanh 4.2 Tìm CPI chung/trung bình xử lý với chương trình trên? Trả lời: Execution time x Clock rate CPI = Number of instructions CPI(P1) = 18.65 × 10-4 × 1.5 × 109/106 = 2.79 Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Công Nghệ Thông Tin 2015 CPI(P2) = 11 × 10-4× × 109/106= 2.2 4.3 Tìm tổng số chu kì xung clock chương trình P1 P2 Trả lời: Number of clock cycles = Number of instructions x CPI Number of clock cycles(P1) = Number of instructionsA x CPIA + Number of instructionsB x CPIB + Number of instructionsC x CPIC + Number of instructionsD x CPID = 105 × + × 105× + × 105× + × 105× = 28 × 105 Number of clock cycles (P2): tương tự 4.4 Giả sử lệnh toán học (Arith) cần chu kì; đọc liện từ nhớ (Load) ghi liệu vào nhớ (Sw) chu kì; lệnh nhánh (Branch) chu kì Tìm thời gian thực thi chương trình chạy xử lý GHz? Biết số lệnh loại chương trình chạy bảng: Arith 500 Store 50 Load 100 Branch 50 Total 700 Trả lời: Execution time = Number of intructions x CPI Clock rate = (500 x + 50 x + 100 x + 50 x 2) / (2 x109) = 675 x 10-9 s = 675 ns 4.5 Tìm CPI cho chương trình Trả lời: CPI = Execution time x Clock rate Number of instructions  CPI = 675 × 10-9 × × 109 /700 = 1.92 4.6 Nếu số lượng lệnh load giảm nửa, chương trình tăng tốc lần (speedup) CPI chương trình bao nhiêu? Trả lời: Execution time = Number of intructions x CPI Clock rate Execution Time = (500 × + 50 × + 50 × + 50 × 2) × 0.5 × 10-9 = 550 ns Speed-up = 675 ns/550 ns = 1.23 CPI = 550 × 10-9 × × 109 /700 650 = 1.57 Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 2015 Bài Xét cách thiết kế thực khác (bộ xử lý P1 P2) tập lệnh Có lớp lệnh (A, B, C, D E) tập lệnh Tốc độ/Tần số xung clock CPI lớp cho bảng Câu a Câu b P1 P2 P1 P2 Clock Rate 1.0 GHz 1.5 Ghz 1.0 GHz 1.5 Ghz CPI Class A 1 CPI Class B 2 CPI Class C 2 CPI Class D 4 CPI Class E 5.1 Khi máy tính thực thi chuỗi lệnh nào, đạt tốc độ nhanh máy tính xem đạt hiệu suất đỉnh điểm (peak performance) Tính số lượng lệnh thực thi giây P1 P2 đạt hiệu suất đỉnh điểm Trả lời: a Hiệu suất đỉnh điểm P1 xảy P1 chạy đoạn lệnh mà tất lệnh nằm lớp lệnh A (vì A có CPI nhỏ nhất) Khi đó: Số lượng lệnh thực thi giây(P1) = number of instructions/execution time = clock rate(P1)/CPI(A) = 109/1 = 109 lệnh/giây = G lệnh/giây Tương tự, hiệu suất cao P2 xảy P2 chạy đoạn lệnh mà tất lệnh nằm lớp lệnh A lớp lệnh B lớp lệnh C, chúng có CPI nhỏ Số lượng lệnh thực thi giây(P2) = number of instructions/execution time = clock rate(P2)/CPI(A) = 0.75G lệnh/giây b Số lượng lệnh thực thi giây(P1) = 1G inst/sec Số lượng lệnh thực thi giây(P2) = 1.5G inst/sec 5.2 Nếu số lệnh cần thực thi chương trình chia cho lớp lệnh, ngoại trừ lớp lệnh A có số lệnh gấp đơi lớp lệnh khác Máy tính chạy nhanh nhanh lần? Trả lời: a Gọi I tổng số lệnh chương trình Số lệnh cho lớp lệnh B, C, D, E: I/6 = 0.167I Số lệnh cho lớp A: 0.333I số lệnh Class A Number of Instructions 0.333I P1 P2 CPI Number of Instructions x CPI CPI Number of Instructions x CPI 0.333I 0.666I Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin B C D E Total 0.167I 0.167I 0.167I 0.167I 0.334I 0.501I 0.668I 0.501I 2.337I 2 4 2015 0.334I 0.334I 0.668I 0.668I 2.67I Ta có: Execution time = Number of intructions x CPI Clock rate Execution time (P1) = 2.337 I / GHz = 2.337 x 10-9 x I (s) Execution time (P2) = 2.67 I / 1.5GHz = 1.78 x 10-9 x I (s)  Máy P2 chạy nhanh P1 nhanh 2.337/1.78 = 1.3 lần b P1 nhanh P2 1.03 lần (SV tự tính) 5.3 Nếu số lượng lệnh cần thực thi chương trình chia cho lớp lệnh, ngoại trừ lớp E có số lệnh gấp đơi lớp lệnh khác Máy tính chạy nhanh nhanh lần? Trả lời: Giống câu 5.2 a P2 is 1.31 times faster than P1 b P1 is 1.00 times faster than P2 Bảng cho biết phân chia số lượng lệnh theo nhóm lệnh chương trình khác Sinh viên sử dụng liệu cho câu bên để tìm hiểu ảnh hưởng đến hiệu xử lý MIPS Số lệnh Compute Load Store Branch total Program 1000 400 100 50 15500 Program 1500 300 100 100 1750 5.4 Giả sử lệnh tính tốn (Compute) chu kì, lệnh đọc liệu từ nhớ (Load) ghi liệu vào nhớ (Store) 10 chu kì lệnh rẽ nhánh (Branch) chu kì Dựa vào bảng liệu tính thời gian thực thi xử lý MIPS GHz Trả lời: P1 P2 Số lệnh Số chu kỳ xung clock tương Số lệnh Số chu kỳ xung clock tương ứng Loại CPI nhóm ứng nhóm nhóm nhóm lệnh (Program 1) (Program 2) Number of instructions x Number of instructions x CPI CPI Compute Load Store Branch Tổng: 10 10 1000 400 100 50 1000 4000 1000 150 6150 1500 300 100 100 Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt 1500 3000 1000 300 5800 Page Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thơng Tin Execution time = 2015 Number of cycles Clock rate Execution time (P1) = 6150/3 Ghz = 2.05 x 106s = 2.05 µs Execution time (P2) = 5800/3 Ghz = 1.93 µs 5.5 Giả sử lệnh tính tốn (Cmpute) chu kì, lệnh đọc liệu từ nhớ (Load) ghi vào nhớ (Store) chu kì lệnh rẽ nhánh (Branch) chu kì Dựa vào bảng liệu tính thời gian thực thi xử lý MIPS 3GHz Trả lời: P1 P2 Loại CPI Number of CPI x Number of CPI x lệnh instructions1 Number of instruction2 Number of instruction1 instruction2 1000 1500 Compute 1000 1500 800 600 Load 400 300 200 200 Store 100 100 150 300 Branch 50 100 2150 2600 Tổng Execution time (P1) = 2150/3 Ghz = 716 x 106s = 0.71 µs Execution time (P2) = 2600/3 Ghz = 0.86 µs Dịch biên soạn: Nguyễn Hữu Nhân & Trần Thị Như Nguyệt Page 10 ...Khoa Kỹ thuật Máy tính – Đại học Cơng Nghệ Thông Tin 1.8 1.9 1.1 0 1.1 1 1.1 2 1.1 3 1.1 4 1.1 5 1.1 6 1.1 7 1.1 8 1.1 9 1.2 0 1.2 1 1.2 2 1.2 3 1.2 4 1.2 5 1.2 6 2015 Một vi xử lý chứa vài xử lý chip (10 – multicore... câu 3.2 Trả lời: Ta có: (CPI mới) = (CPI cũ) x 1.2 CPI P1 = 1.5 x 1.2 = 1.8 CPI P2 = x 1.2 = 1.2 CPI P3 = 2.5 x 1.2 = Thời gian thực thi = (thời gian cũ) x 0.7 = 10 x 0.7 = (giây) Execution time... = 2.3 37 x 10-9 x I (s) Execution time (P2) = 2.6 7 I / 1.5 GHz = 1.7 8 x 10-9 x I (s)  Máy P2 chạy nhanh P1 nhanh 2.3 37 /1.7 8 = 1.3 lần b P1 nhanh P2 1.0 3 lần (SV tự tính) 5.3 Nếu số lượng lệnh cần

Ngày đăng: 01/05/2020, 18:40

TỪ KHÓA LIÊN QUAN

w