Hướng dẫn thực hành môn Kiến trúc máy tính & Hợp Ngữ - Benchmark

Khi bạn sử dụng công cụ hay chương trình để đánh giá một bộ phận hay toàn bộ hệ thống PC của
mình với một độ đo xác định, đem kết quả thu được (đặc trưng bởi từng chương trình đánh giá) so
với cơ sở dữ liệu kết quả có sẵn hay với một hệ thống khác thì bạn đã thực hiện công việc
“Benchmark”.
Trong lĩnh vực máy tính, Benchmark là việc sử dụng 1 hay nhiều chương trình phần mềm máy tính
để tính toán hiệu năng hoạt động của các thiết bị phần cứng dựa trên 1 số đặc tính cụ thể nào đó
(CPU clock speed, Memory read/write, Tốc độ tính số chấm động – FPU, Tỷ lệ frame per second
khi hiển thị đồ họa…) bằng cách chạy các bài test chuẩn định sẵn, cuối cùng so sánh chúng với các
hệ thống khác trên cùng 1 bài test nhằm giúp người sử dụng có 1 cái nhìn tổng quan “sức mạnh” của
hệ thống mình, 1 cách tương đối. 
pdf 11 trang xuanthi 28/12/2022 3160
Bạn đang xem tài liệu "Hướng dẫn thực hành môn Kiến trúc máy tính & Hợp Ngữ - Benchmark", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfhuong_dan_thuc_hanh_mon_kien_truc_may_tinh_hop_ngu_benchmark.pdf

Nội dung text: Hướng dẫn thực hành môn Kiến trúc máy tính & Hợp Ngữ - Benchmark

  1. HDTH môn Kiến trúc máy tính & Hợp Ngữ Benchmark Bên cạnh đó đôi khi tốc độ chưa phải là tất cả, người ta còn quan tâm đến chất lượng xử lý (vì có xử lý nhanh mà chất lượng tệ hơn thì cũng không phải là tốt). Đây là một trường hợp tiêu biểu của Benchmark trong GPU (Graphic Control Unit), vì ngoài thông số hiển thị frame hình trên 1 giây, người ta còn phải đề cập con số frame/s đó có được khi đang trong ở chế độ nào (Low / Middle / High quality; có khử răng cưa không, nếu có thì bao nhiêu lần ) Phân loại Benchmark Như đã đề cập ở trên, trong lĩnh vực Computing, Benchmark thường dùng để đo và so sánh hiệu năng phần cứng và phần mềm (ít hơn). Tuy nhiên dù là phần cứng hay phần mềm thì các phép thử Benchmark đều được áp dụng ở 1 trong 2 trường hợp sau: Benchmark thực tế (Real-world): Các bài test là những gì mà người dùng sẽ sử dụng hằng ngày, thực sự có nhu cầu khi vận hành trong thực tế. o Ví dụ: Benchmark xử lý đồ họa cho một PC game nào đó, Benchmark thời gian chạy khi nén hoặc giải nén file lớn Benchmark giả lập (Systhetic / Artificial): Các bài test chỉ là những cuộc thử nghiệm “giả” (rất ít xảy ra trong thực tế) nhằm mục đích tập trung đo một số các thông số xử lý cụ thể nào đó trên thiết bị. o Ví dụ: Benchmark thời gian xử lý render hình trên chip GPU khi muốn vẽ một ma trận hình Fractal, Benchmark thời gian tính toán và lưu trữ trên CPU khi nhân, chia nhiều số chấm động rất lớn / rất nhỏ liên tục Thông thường người ta thường chạy các Benchmark giả lập mặc dù Benchmark thực tế mới là cái mọi người quan tâm hơn, lý do vì việc tạo ra một môi trường test thực tế phù hợp mục đích của người test luôn phức tạp và khó hơn việc làm “giả” chúng. Với việc dùng Benchmark giả lập chúng ta có thể tạo ra môi trường đồng nhất với mọi bài test cho mọi hệ thống khác nhau và có thể tùy biến các test-case nhằm mục đích đưa ra những kết quả khách quan hơn. Tuy nhiên điều này cũng đem lại một số khuyết điểm: Người tiêu dùng (người review kết quả) không biết liệu cái Benchmark giả lập có bao giờ xảy ra trong thực tế để nó có thể đạt được kết quả đó hay không? Nếu chẳng bao giờ tôi dùng hay gặp chúng, vậy có cần thiết để đo Benchmark chúng? Tuy nhiên do tâm lý của khá nhiều người tiêu dùng là “Thà nó có (mạnh hơn) còn hơn không, mặc dù tôi chẳng bao giờ cần” nên những kết quả Benchmark giả lập vẫn được các nhà sản xuất chú trọng nhiều. Tạo ra hệ quả “thiếu lành mạnh”: Người sản xuất chỉ tập trung tối ưu sản phẩm của họ để cho kết quả giả lập thật cao mà quên đi năng lực khi “chiến đấu” thực tế. Ví dụ: Phần mềm Benchmark PCMark 2005 có xu hướng cho điểm các hệ thống dùng CPU của Intel cao hơn AMD, hay 3dMax (Benchmark đồ họa) cũng “thích” chip của ATI hơn nVidia Nguyên tắc trong Benchmark Ở bất kỳ phép đo và so sánh nào, cụ thể trong Benchmark, phải đáp ứng ít nhất 3 nguyên tắc chính sau (3R): Real-world (thực tế), Relevance (thích hợp) và Repeatability (có khả năng lặp lại) Real-world: Như đã nói ở trên, người ta luôn muốn việc đo và so sánh cần phải thực hiện trong những môi trường thực tế nhằm có cái nhìn khách quan. Đôi khi có những loại Benchmark mà bạn chẳng biết có bao giờ chúng xảy ra trong thực tế không, có cần thiết với nhu cầu của bạn khi sử dụng máy tính hàng ngày không hay thậm chí thông số đó dùng để Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - 2 -
  2. HDTH môn Kiến trúc máy tính & Hợp Ngữ Benchmark Giao diện chính của Everest Quản lý một số thông tin phần cứng quan trọng: Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - 4 -
  3. HDTH môn Kiến trúc máy tính & Hợp Ngữ Benchmark Motherboard Bộ nhớ RAM Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - 6 -
  4. HDTH môn Kiến trúc máy tính & Hợp Ngữ Benchmark CPU Queen: Đây là một benchmark đơn giản của việc dự đoán nước đi trong bài toán “Queen`s problem” (cờ vua) nhằm đánh giá khả năng tính toán của CPU, trong phép thử này chỉ dùng khoảng ít hơn 1MB bộ nhớ. CPU PhotoWorxx: Benchmark này thực hiện nhiều tasks trong quá trình xử lý ảnh số của một bức ảnh hệ màu RGB rất lớn: o Fill o Flip o Rotate90R (rotate 90 degrees CW) o Rotate90L (rotate 90 degrees CCW) o Random (fill the image with random coloured pixels) o RGB2BW (colour to black & white conversion) o Difference o Crop Phép thử này nhằm làm cho thành phần tính toán số học của CPU phải làm việc cật lực. Bởi vì phép thử này được tiến hành trong điều kiện băng thông bộ nhớ lớn nên sẽ không hiệu quả nếu như dùng multi-thread để xử lý do vậy CPU PhotoWorxx chỉ dùng 1 thread với mã lệnh hợp ngữ trên x86. CPU ZLib: Benchmark này thực hiện nén file lớn theo chuẩn ZLib version 1.2.3 ( nhằm đánh giá khả năng phối hợp giữa CPU và bộ nhớ. CPU ZLib chỉ sử dụng các mã lệnh hợp ngữ x86, một nhân, một thread. CPU AES: Tương tự như CPU ZLib, CPU AES sẽ mã hóa và giải nén file theo chuẩn AES 256 bit (còn gọi là Rijndael), Benchmark này được viết bằng mã hợp ngữ x86, một nhân, một thread, dùng 48MB bộ nhớ. FPU Julia: Benchmark này sẽ tính toán trên hệ số dấu chấm động đơn (32 bits) trong bài toán lớn vẽ hình Julia fractal, Benchmark này được viết bằng mã hợp ngữ x86, một nhân, một thread, dùng 1MB bộ nhớ. FPU Mandel: Benchmark này sẽ tính toán trên hệ số dấu chấm động kép (64 bits) trong bài toán lớn vẽ hình Mandelbrot fractal, Benchmark này được viết bằng mã hợp ngữ x86, một nhân, một thread, dùng 1MB bộ nhớ. FPU SinJulia: Benchmark này sẽ tính toán trên hệ số dấu chấm động mở rộng (80 bits) trong bài toán lớn vẽ hình Julia fractal được chỉnh sửa, Benchmark này được viết bằng mã hợp ngữ x86, một nhân, một thread, dùng 1MB bộ nhớ. Nếu bạn muốn Benchmark hệ thống của bạn tại 1 test-case cụ thể (Ví dụ Memory Read) thì nhấn nút Refresh ở trên thanh Toolbar hay nhấn F5 để Everest bắt đầu đo. Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - 8 -
  5. HDTH môn Kiến trúc máy tính & Hợp Ngữ Benchmark Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - 10 -