Hãy cho ví dụ minh hoạ trường hợp nào hệ thống áp dụng ngắt (interrupt) cho thời gian chờ IO ngắn và trường hợp nào cho cho thời gian chờ IO dài (tham khảo Figure 3.7 trong tài liệu) Theo định luật Amdahl, tại sao số lượng CPU càng lớn vẫn không thể tăng tốc độ xử lý lên cao hơn. Chủ một cửa hàng nhận xét rằng trung bình có 10 khách hàng trong cửa hàng và thời gian trung bình mà mỗi khách hàng trong cửa hàng là 15 phút. Vậy trung bình có bao nhiêu khách hàng mỗi giờ đến cửa hàng?
BÀI TẬP LỚN Câu Kiến trúc máy tính IAS thiết kế theo đặc tả chuẩn gì? Trang PAGE / NUMPAGES Kiến trúc máy tính IAS ( Princeton Institute for Advanced Studies ) thiết kế theo đặc tả chuẩn John Von Neumann máy tính IAS bao gồm : + Một nhớ chính, lưu trữ liệu hướng dẫn + Một đơn vị xử lý số học (ALU : Arithmetic And Logic Unit ) có khả điều khiển để tính tốn liệu nhị phân + Bộ điều khiển dịch tập lệnh nhớ thi hành, điều khiển hoạt động thiết bị vào Trang PAGE / NUMPAGES + Thiết bị đầu vào - đầu (I / O) thiết bị điều khiển vận hành Chương trình lưu nhớ, điều khiển lấy lệnh biến đổi giá trị liệu phần nhớ, làm toán luận lý (ALU: Arithmetic And Logic Unit) điều khiển để tính tốn liệu nhị phân, điều khiển hoạt động thiết bị vào Câu Bộ nhớ cache gì, nêu đặc điểm cache - Bộ nhớ cache nhớ nhỏ hơn, nhanh hơn, lưu trữ liệu từ vị trí nhớ sử dụng thường xun để máy tính truy cập lại liệu thay đọc lại liệu từ nguồn ban đầu, nhớ bán dẫn có tốc độ nhanh chúng đặt CPU nhớ nhằm tăng tốc truy xuất CPU tới nhớ - Đặc điểm nhớ cache : + Nhiều lớp nhớ xử lý nhớ + Thời gian truy cập nhỏ + Nhỏ nhanh nhớ + Trung gian nhớ ghi CPU + Được sử dụng để tăng tốc độ truy cập nhớ cách đặt vào nhớ đệm liệu từ nhớ có khả sử dụng tương lai gần + Cải thiện hiệu suất lớn đạt cách sử dụng nhiều cấp nhớ đệm, với cấp (L1) gần lõi cấp bổ sung (L2, L3, v.v.) xa dần với lõi + Cache có khơng Câu Mơ tả vị trí nhớ cache (gợi ý: xem Figure 1.2 tài liệu) - Cache nhớ nằm phía bên Processor Chip CPU - Đối với hình 1.2 mức đệm L1 gần với lõi có thể truy cập lần chu kỳ phản hồi lần truy cập đọc số chu kỳ Bộ nhớ đệm L1 thường phân chia truy cập lệnh (L1-I) liệu (L1-D) Bộ đệm L2 gần với lõi gần L1 đệm thường riêng tư chia sẻ nhóm lõi Bộ nhớ đệm L2 thường chứa Trang PAGE / NUMPAGES hướng dẫn liệu phân chia L2-D riêng tư cho lõi L2-I chia sẻ nhóm lõi Bộ nhớ đệm L3 nằm gần lõi đệm thường chia sẻ tất lõi xử lý lớn nhiều so với dung lượng tổng hợp tất L1 L2 - Bộ nhớ cache nằm gần với đơn vị xử lý số học (ALU) lớp thấp, nằm xa lớp cao - Bộ nhớ cache cao đường truy xuất từ (ALU) để lấy liệu nhanh so với việc (ALU) phải lấy liệu từ nhớ bên ngồi tính tốn Câu Hãy cho ví dụ minh hoạ trường hợp hệ thống áp dụng ngắt (interrupt) cho thời gian chờ I/O ngắn trường hợp cho cho thời gian chờ I/O dài (tham khảo Figure 3.7 tài liệu) - Hình 3.7 (b) ( Thời gian chờ I/O ngắn) : 1, ,3 đoạn lệnh chương trình cpu ; 3,4 đoạn lệnh I/O commad Đầu tiên sau chạy đoạn lệnh gặp lệnh write nên chuyển sang đoạn lệnh (I/O command) để chạy ( lúc CPU không làm ) khơng để CPU phải đợi nên chuyển lại đoạn lệnh để tiếp tục thực thi đoạn lệnh 2a chương trình, sau đoạn lệnh 4(I/O command) hồn thành CPU bị ngắt để chuyển qua đoạn lệnh 5(Interrupt Handler) để kết thúc lệnh write sau lại chuyển đoạn lệnh 2b để tiếp tục chương trình , sau lại gặp lệnh write số nên lại chuyển sang đoạn lệnh (I/O command) để chạy ( lúc CPU khơng làm ) khơng để CPU phải đợi nên chuyển lại đoạn lệnh 3a để tiếp tục thực thi đoạn chương trình chưa xong sau đoạn lệnh 4(I/O command) hồn thành CPU bị ngắt để chuyển qua đoạn lệnh 5(Interrupt Handler) để kết thúc lệnh write số sau lại chuyển đoạn lệnh 3b vừa nảy để tiếp tục chương trình gặp lệnh write số tiếp tục lặp lại Trang PAGE / NUMPAGES - Hình 3.7 (c) ( Thời gian chờ I/O dài ) : sau chạy đoạn lệnh gặp lệnh write nên chuyển sang đoạn lệnh (I/O command) để chạy ( lúc CPU không làm ) khơng để CPU phải đợi nên chuyển lại đoạn lệnh để tiếp tục , sau chạy đoạn lệnh xong gặp lệnh write lúc CPU phải đợi ( chưa hoàn thành ) đoạn lệnh 4(I/O command) hồn thành chuyển qua đoạn lệnh 5(Interrupt Handler) để kết thúc lệnh write , sau thực lệnh write số 2, tiếp tục chuyển sang đoạn lệnh số (I/O command) để chạy không để CPU phải đợi nên chuyển lại đoạn lệnh để tiếp tục , sau chạy đoạn lệnh xong CPU phải đợi( chưa hoàn thành ) đoạn lệnh 4(I/O command) hồn thành chuyển qua đoạn lệnh (Interrupt Handler) để kết thúc lệnh write số gặp lệnh write số tiếp tục lặp lại Câu Nêu giải thích kỹ thuật thường dùng tăng tốc độ xử lý CPU - Pipelining( Kĩ thuật ống dẫn ): Bộ xử lý di chuyển liệu hướng dẫn vào đường ống khái niệm với tất giai đoạn trình xử lý đường ống đồng thời - Dự đoán rẽ nhánh: Bộ xử lý nhìn trước mã lệnh tìm nạp từ nhớ dự đốn nhánh nhóm lệnh có khả xử lý - Thực thi siêu cấp (Superscalar execution) F : Đây khả đưa nhiều lệnh chu kỳ xung nhịp xử lý (Trên thực tế, nhiều đường ống song song sử dụng.) - Phân tích luồng liệu: Bộ xử lý phân tích cấu trúc phụ thuộc vào kết liệu để tạo lịch trình hướng dẫn tối ưu hóa - Thực thi suy đốn: Sử dụng dự đốn nhánh phân tích luồng liệu, số xử lý thực thi lệnh cách đoán trước xuất thực tế trình thực thi chương trình, giữ kết vị trí tạm thời, giữ cho cơng cụ thực thi bận rộn Câu Theo định luật Amdahl, số lượng CPU lớn tăng tốc độ xử lý lên cao Trang PAGE / NUMPAGES - Theo giảng đồ Amadahl, f số lượng chương trình xử lý song song tăng số lượng CPU có 5% chương trình xử lý song song tốc độ tăng khơng lên gần bão hòa Tuy nhiên, 95% chương trình xử lý song song tốc độ tăng lên gần 20 lần tăng tốc độ CPU lên ( Nguồn : Sách Computer organization and Architecture Designing for Performance tenth edition ) - Khi f nhỏ, việc sử dụng xử lý song song có tác dụng - Khi N tiến đến vô cùng, tốc độ tăng bị giới hạn / (1 - f), khả xử lý giảm dần sử dụng nhiều xử lý Vì chương trình ln có phần phải xử lý Tăng số lượng CPU làm giảm thời gian xử lý phần chạy song song, nhiên thời gian xử lý phần yêu cầu không giảm => tốc độ xử lý tăng tối đa đến mức (điểm giới hạn vị trí mà tất phần xử lý song song hoàn thành chu trình xử lý) Câu Để gia tăng băng thơng kết nối xử lý nhớ, phương pháp sử dụng? - Tăng băng thông kết nối xử lý nhớ cách sử dụng bus tốc độ cao hệ thống phân cấp bus để đệm cấu trúc luồng liệu Trang PAGE / NUMPAGES Câu Lý thuyết hàng đợi (queuing) áp dụng định luật Little Lý thuyết hàng đợi (queuing): dùng để xác định tìm phương án tối ưu để hệ thống giải vấn đề tốt - Nếu máy chủ không hoạt động, lệnh đến thực thi lập tức, máy chủ bận tất lệnh đến hệ thống nằm hàng đợi - Có thể có hàng đợi cho máy chủ cho nhiều máy chủ, nhiều hàng với hàng cho máy chủ Ví dụ: - Khi lệnh đến CPU phía trước CPU có L lệnh chờ, lệnh nằm hàng đợi chờ đến lượt thực thi - Khi lệnh thực thi rời khỏi hệ thống, để lại trung bìn h số lượng lệnh hệ thống cụ thể L, L định nghĩa số lượng lệnh trung bình chờ - Thời gian trung bình mà lệnh hệ thống W - Các lệnh đến với tốc độ λ, Chúng ta suy luận thời gian W, tổng số lệnh phải đến λW Điều L=λW Câu Hãy cho biết công thức mô tả định luật Little ý nghĩa tham số công thức Công thức mô tả định luật Little : L = λ.W - Tốc độ lệnh đến với hệ thống trung bình λ đơn vị thời gian - Thời gian trung bình mà lệnh lại hệ thống W đơn vị thời gian - Trong hệ thống có trung bình L đơn vị xử lý khoảng thời gian Câu 10 Chủ cửa hàng nhận xét trung bình có 10 khách hàng cửa hàng thời gian trung bình mà khách hàng cửa hàng 15 phút Vậy trung bình có khách hàng đến cửa hàng? Trung bình có 10 khách hàng cửa hàng : L =10 Mỗi khách hàng cửa hàng 15 phút : W = 15 phút = 14 L= λ W 10= 14 λ λ=40 Vậy trung bình có 40 khách hàng đến cửa hàng Câu 11 Cho chương trình máy tính thực triệu lệnh (instructions) dùng CPU 400-MHz Chương trình gồm có bốn loại lệnh khác Các lệnh có CPI tỷ lệ theo bảng sau: Trang PAGE / NUMPAGES CPI Clock cycles per instruction Số chu kỳ xung clock cần để thực thi lệnh CPI = Tổng (Số lượng thị (hàng triệu) nhân Chu kỳ thị) chia tổng Số lượng thị (hàng triệu) MIPS Million instructions per second Một cách đo tốc độ thực thi chương trình dựa số lượng triệu lệnh giây Yêu cầu: tính CPI trung bình MIPS - CPI trung bình = ( 0,5 ) + (2 0,18 ) + (4 0,22 ) + ( 0,1 ) = 3,04 - MIPS = CPI 106 f = 2,54 106 400 106 131,58 Câu 12 Xác định CPI trung bình chương trình đo hiệu thực máy tính chạy xử lý 50 MHz Chương trình có 110.000 lần thực câu lệnh, với pha trộn nhiều loại lệnh và số chu kỳ đồng hồ cần thực lệnh là: CPI trung bình : n ∑ (CPI i× I i) CPI = i=1 = (40.000 ×1+35.000 ×2+20.000 ×1+15.000 ×2) Ic 110.000 CPI ≈ 45 Câu 13 Tính tỷ lệ MIPS thời gian thực chương trình câu 12 Tỷ lệ MIPS : - MIPS= CPI ×106 f Trang PAGE / NUMPAGES ¿ 50× 106 ≈ 34 45× 10 Thời gian thực chương trình : - T = I c ×CPI f ¿ 50× 106 110000 ×1 45 =3.19 ms Câu 14 Bảng sau hiển thị thời gian thực thi tính giây cho năm chương trình đo hiệu (benchmark) khác ba máy tính Tính số tốc độ (speed metric) cho máy tính cho chương trình benchmark dùng máy tính R máy tham chiếu (reference system) Tức là, giá trị tỷ lệ cho R Sau đó, tính tốn giá trị trung bình cộng (arithmetic mean) cho máy tính Chỉ số tốc độ : Chuẩn hóa R ri= Tre f i Tsut i E F H I K Máy tính M : 1.71 1.19 0.43 1.11 2.10 Máy tính Z : 3.11 1.19 0.49 0.6 2.09 AM = Tổng số tốc độ chia tổng số chương trình máy Trung bình cộng máy tính M : AM =1.71+1.19+0.43+1.11+2.10 =1 308 Trung bình cộng máy tính R : AM =1+1+1+1+1 =1 Trang PAGE / NUMPAGES Trung bình cộng máy tính Z : AM =3.11+ 1.19+ 0.49+0.6+2.09 =1 496 Câu 15 Làm lại câu 14 với máy tính M Chỉ số tốc độ : ri= Tre f i Tsut i Chuẩn hóa M E F H I K Máy tính R : 0.59 0.84 2.32 0.90 0.48 Máy tính Z : 1.82 1.13 0.54 Trung bình cộng máy tính M : AM =1+1+1+1+1 =1 Trung bình cộng máy tính R : AM =0.59+ 0.84+2.32+0.90+ 0.48 =1.026 Trung bình cộng máy tính Z : AM =1.82+1+1.13+0.54 +1 =1.098 Câu 16 Máy tính chậm sau có kết thực câu 14, 15 Sau có kết câu 14 máy tính chậm máy tính R Sau có kết câu 15 máy tính chậm máy tính M Câu 17 Làm lại câu 14, 15 cách sử dụng trung bình nhân Chuẩn hóa R E F H I K Máy tính M : 1.71 1.19 0.43 1.11 2.10 Máy tính Z : 3.11 1.19 0.49 0.6 2.09 Trang PAGE / NUMPAGES GM = Căn bậc n tích số tốc độ n tổng số chương trình Trung bình nhân máy tính R GM =√1×1 ×1 ×1 ×1=1 Trung bình nhân máy tính M GM =√1.71×1.19 × 0.43× 1.11×2.10=1.15 Trung bình nhân máy tính Z GM =√3.11× 1.19× 0.49 ×0.6 × 2.09=1.18 Chuẩn hóa M E F H I K Máy tính R : 0.59 0.84 2.32 0.90 0.48 Máy tính Z : 1.82 1.13 0.54 Trung bình nhân máy tính M GM =√1×1 ×1 ×1 ×1=1 Trung bình nhân máy tính R GM =√0.59× 0.84 ×2.32 × 0.90× 0.48=0.87 Trung bình nhân máy tính Z GM =√1.82×1 ×1.13 × 0.54 ×1=1.02 Câu 18 Máy tính chậm sau có kết thực câu 17 - Sau có kết thực câu 17 máy tính chậm máy tính R Câu 19 Xét hai máy tính với hai tập lệnh khác nhau, hai có tốc độ đồng hồ 100 MHz Xác định số CPI tỷ lệ MIPS Các phép đo sau ghi lại hai máy chạy tập hợp chương trình đo hiệu thực máy tính : Trang PAGE / NUMPAGES n ∑ CPIi× I i i=1 (8 ×1+2 ×3+4 ×2) ×10 CPI A= I c = (8+2+ 4) ×106 ≈1.57 MIPS A= f 100 × 106 ≈63 6= CPI A × 10 1.57 × 10 n ∑ CPIi× Ii i=1 (10 ×1+4 × 2+2× 3) ×10 CPI B= I c = (10+4 +2) ×106 =1.5 MIPS B = f 100× 106 ≈ 66 6= CPI B ×10 1.5× 10 Câu 20 Tính thời gian thực chương trình câu 19 Cho nhận xét kết Thời gian thực chương trình Máy A : T A= I c ×CPI A f = 100 ×106 ×106 ×1.57 =0.2198 s Thời gian thực chương trình Máy B : T B= I c × CPIB f = 100 ×106 16 ×106 ×1.5 =0.2 512 s Nhận xét : Mặc dù máy B có MIPS cao máy A, cần thời gian thực chương trình lâu để thực thi chương trình điểm chuẩn (hướng dẫn) tương tự Câu 21 Một vi xử lý có câu lệnh trực tiếp giảm giá trị nhớ (trừ cho giá trị nhớ) Lệnh có năm giai đoạn: nạp mã lệnh (4 chu kỳ đồng hồ bus), nạp địa toán hạng (3 chu kỳ), nạp toán hạng (3 chu kỳ), toán hạng trừ (2 chu kỳ), lưu toán hạng (3 chu kỳ) Hãy cho biết phần trăm thời gian thực lệnh gia tăng hệ thống phải chèn trạng thái chờ bus cho hoạt động đọc ghi nhớ Có trạng thái chờ thêm vào, có hoạt động nhớ xử lý việc đọc ghi 15 chu kỳ cho lệnh : - chu kỳ đồng hồ bus để nạp mã lệnh Trang PAGE / NUMPAGES - chu kỳ để nạp địa toán hạng 415 100 = 26,67% - chu kỳ để nạp toán hạng - chu kỳ để toán hạng trừ - chu kỳ để lưu toán hạng Phần trăm thời gian thực lệnh gia tăng : Câu 22 Xét xử lý 32 bit, mã lệnh 32 bit bao gồm trường: byte chứa mã lệnh phần cịn lại chứa tốn hạng tốn tử Bộ nhớ tối đa xử lý (tính theo byte) Bộ nhớ tối đa xử lý là: 2(32−8)=224=16777216 byte = 16 MB ( bit = byte chứa mã lệnh ) Câu 23 Xét xử lý có 16 bit địa (giả sử ghi địa đếm chương trình có độ rộng 16 bits) bus liệu 16-bit Xác định nhớ tối đa xử lý kết nối với nhớ 16-bit Bộ nhớ tối đa xử lý kết nối với nhớ 16-bit : 216=6 Kbyte Câu 24 Hãy cho biết đặc điểm quan trọng Liên kết nối nhanh (QuickPath Interconnect - QPI) QPI đường bus nối từ CPU đến I/O hub Nó bus chiều rộng 20-bit tích hợp vào CPU chiều đường 20 bits nhờ QPI cho phép truyền/nhận đồng thời 20 bits lúc Trong 20 bits có 16 bits data cịn bits gọi overhead bits dùng cho mục đích kiểm tra sửa lỗi - Nhiều kết nối trực tiếp (Multiple direct connections) : Các kết nối cặp trực tiếp tới thành phần khác giúp loại bỏ việc phân xử thường thấy hệ thống truyền dẫn chia sẻ - Kiến trúc giao thức phân lớp (Layered protocol architecture) : Các kết nối xử lý sử dụng kiến trúc giao thức phân lớp khơng đơn giản sử dụng tín hiệu điều khiển thường thấy xếp bus chia sẻ - Truyền liệu đóng gói (Packetized data transfer) : Dữ liệu gửi thành chuỗi gói chứa tiêu đề điều khiển (header) mã kiểm soát lỗi Câu 25 Nêu trường hợp xảy ngắt xử lý (gợi ý: tham khảo Table 3.1 tài liệu) - Ngắt chương trình: Gây lỗi thi hành lệnh, ví dụ tràn số học, lỗi chia cho 0, cố tình thực lệnh máy khơng hợp lệ, tham chiếu ngồi phạm vi nhớ mà người sử dụng phép Trang PAGE / NUMPAGES - Ngắt định thời: Gây đồng hồ nằm xử lý Nó cho phép hệ điều hành thực chức định - Ngắt I/O: Gây điều khiển I/O, để báo hiệu hoàn thành thao tác, yêu cầu dịch vụ từ xử lý, báo hiệu trường hợp lỗi - Ngắt lỗi phần cứng: Gây số lỗi lỗi nguồn hay lỗi nhớ Trang PAGE / NUMPAGES