Mục lục Phần I : giới thiệu chung…………………………………………………… 2 Phần II: Cơ sở và phương pháp thiết kế máy tính……………………………3 II.1: Sự thay đổi của việc tính toán và nhiệm vụ của nhà thiết kế máy tính. ……………………………………………………………………………… 3 II.2: Các su hướng về công nghệ……………………………………….9 II.3: Các su hướng về chi phí và giá cả……………………………… 10 II.4: Đo lường và báo cáo hiệu suất…………………………………. 11 II.5: Các nguyên tắc thiết kế máy tính………………………………. 21 Phần III: một số dạng máy tính thực tế…………………………….............. 26 Phần i: giới thiệu chung I.1 Giới thiệu. Công nghệ máy tính đã có sự phát triển vượt bậc trong khoảng 55 năm từ khi môi trường điện tử General purpose đầu tiên được tạo ra. Ngày nay, dưới 1000 USD là mua được máy tính cá nhân có nhiều hiệu năng, bộ nhớ chính lớn hơn và dung lượng lưu trữ lớn hơn một máy tính mua năm 1980 với giá 1 triệu . Tốc độ cải tiến nhanh này được mang lại từ những tiến bộ trong công nghệ được sử dụng để xây dựng máy tính và cả sự cách tân trong thiết kế máy tính. Mặc dù các cải tiến công nghệ vẫn đều đặn được thực hiện, sự phát triển xã hội từ những kiến trúc máy tính tiên tến nhất lại thiếu nhất quán. Trong 25 năm đầu của máy tính điện tử, cả hai đều đóng góp phần chủ yếu. Nhưng lúc đầu từ khoãng 1970, các nhà thiết kế máy tính trở nên phụ thuộc nhiều vào công nghệ mạch điện tích hợp. Trong những năm đầu 70, hiệu năng được tiếp tục cải tiến khoãng 25% đến 30% mỗi năm cho những máy tính lớn và máy tính mini chi phối ngành công nghiệp này. Cuối những năm 70 đã thấy được sự cấp thiết của mạch vi xữ lý. Khả năng của mạch vi xữ lý để được cải tiến công nghệ mạch tích hợp làm tăng tốc độ cải tiến hiệu năng tăng khoãng 30% mỗi năm. Tốc độ tăng trưởng này kết hợp với sự giãm giá thành do mạch VXL được sản xuất hàng loạt dẫn tới việc tăng thị phần của máy tính thương mại trên cơ sở mạch VXL. Hơn nữa, hai sự thay đổi quan trọng trở nên thành công về phương diện thương mại với một kiến trúc mới. Thứ nhất là sự loại trừ thực sự của ngôn ngữ lập trình assembly làm giãm sự cần thiết và khả năng tương thích mã đối tượng. Thứ hai là sự tạo ra các hệ điều hành độc lập được tiêu chuẩn hoá như UNIX và phiên bản của nó, LINUX, đã được hạ thấp chi phí và sự rủi ro bởi một kiến trúc mới. Những thay đổi này tạo khả năng phát triển thành công một tập hợp kiến trúc mới gọi là kiến trúc RISC (Reduced instruction Set Computer) vào đầu thập kỷ 80. RISC đả thu hút sự chú ý của các nhà thiết kế trên kỹ thuật thực hiện then chốt, sự khai thác cấu trúc lệnh song song (ban đầu là qua pipline và sau đó là qua đa dòng lệnh) và sử dụng bộ nhớ cache (ban đầu là dạng đơn giản và sau đó sử dụng tổ chức tinh vi hơn). Sự kết hợp việc nâng cao tổ chức 5 kiến truc đả duy trì tốc độ tăng trưởng về hiệu năng hàng năm là trên 50% trong 20 năm. Hình 1.1 thể hiện hiệu quả của tốc độ tăng trưởng hiệu năng khác nhau. Hiệu quả của tốc độ tăng trưởng gây ấn tượng sâu sắc gồm 2 phần. Thứ nhất, nó nâng cao đáng kể khả năng sử dụng máy tính. Cho nhiều ứng dụng, các bộ VXL hiệu suất cao nhất ngày nay làm việc tốthơn siêu máy tính của gần 10 năm trước. Thứ 2, tốc độ phát triển gây ấn tượng dẫn đến địa vị thống trị của máy tính trên cơ sở VXL trên toàn bộ lĩnh vực thiết kế máy tính. Các trạm làm việc và PCs là những sản phẩm nổi trội trong công nghiệp máy tính. Máy tính mini, sản xuất theokiểu truyền thống từ mạch logic sẳn dùng hoặc ma trận cổng được thay thế bởi servers sử dụng các bộ VXL. Máy tính lớn hầu như được thay thế hoàn toàn bởi các bộ đa xử lý gồm một số bộ VXl sẳn dùng. Thậm chí các siêu máytính hàng đầu còn được xây dựng từ tập hợp các bộ VXL. Sự không có khả năng tương thích với các thiết kế củ và việc sử dụng công nghệ VXL dẫn tới kỳ phục hưng trong thiết kế máy tính, nhấn mạng đến cả sự cách tân về kiến trúc và hiệu quả cải tiến công nghệ. thời kỳ phục hưng này gây ra sự tăng trưởng hiệu năng cao chưa từng có như minh hoạ ở hình 11. Trong vài năm gần đây, sự cải tiến rất lớn về khả năng của mạch tích hợp đã cho phép kiến trúc cũ, như kiến trúc x86, tiếp nhận nhiều cải tiến tiên phong trong kiến trúc RISC. Như ta sẽ thấy, bộ xữ lý hiện đại x86 cơ bản gồm một lối vào mà chỉ lệnh x86 tìm nạp mã hoá và ánh xạ chúng vào ALU đơn giản, bộ nhớ truy nhập, hoặc thao tác nhánh, có thể được thực hiện trên một bộ xữ lý PISC dạng pipeline. Bắt đầu vào cuối những năm 1990, transitor có giá trị rất cao, tổng chi phí cho các Transitor của việc biên dịch kiến trúc x86 trở nên không đáng kể như một phần của giá trị toàn bộ Transitor của một bộ VXL hiện đại. Những ý tưởng kiến trúc và cải tiến biên dịch kèm theo đã tạo nên tốc độ tăng trưởng lạ thường này. (ở trung tâm của cuộc cách mạng này có sự phát triển của định
Trang 1Mục lục
Phần I : giới thiệu chung ……… 2
Phần II: Cơ sở và phơng pháp thiết kế máy tính ……… 3
II.1: Sự thay đổi của việc tính toán và nhiệm vụ của nhà thiết kế máy tính ……… 3
II.2: Các su hớng về công nghệ ……… 9
II.3: Các su hớng về chi phí và giá cả ……… 10
II.4: Đo lờng và báo cáo hiệu suất ……… 11
II.5: Các nguyên tắc thiết kế máy tính ……… 21
Phần III: một số dạng máy tính thực tế ……… 26
Phần i: giới thiệu chung
I.1 Giới thiệu.
Công nghệ máy tính đã có sự phát triển vợt bậc trong khoảng 55 năm từ khi môi trờng điện tử General- purpose đầu tiên đợc tạo ra Ngày nay, dới 1000 USD là mua
đợc máy tính cá nhân có nhiều hiệu năng, bộ nhớ chính lớn hơn và dung lợng lu trữ lớn hơn một máy tính mua năm 1980 với giá 1 triệu $ Tốc độ cải tiến nhanh này đ
-ợc mang lại từ những tiến bộ trong công nghệ đ-ợc sử dụng để xây dựng máy tính và cả sự cách tân trong thiết kế máy tính
1
Trang 2Mặc dù các cải tiến công nghệ vẫn đều đặn đợc thực hiện, sự phát triển xã hội từnhững kiến trúc máy tính tiên tến nhất lại thiếu nhất quán Trong 25 năm đầu củamáy tính điện tử, cả hai đều đóng góp phần chủ yếu Nhng lúc đầu từ khoãng 1970,các nhà thiết kế máy tính trở nên phụ thuộc nhiều vào công nghệ mạch điện tíchhợp Trong những năm đầu 70, hiệu năng đợc tiếp tục cải tiến khoãng 25% đến 30%mỗi năm cho những máy tính lớn và máy tính mini chi phối ngành công nghiệp này Cuối những năm 70 đã thấy đợc sự cấp thiết của mạch vi xữ lý Khả năng củamạch vi xữ lý để đợc cải tiến công nghệ mạch tích hợp làm tăng tốc độ cải tiến -hiệu năng tăng khoãng 30% mỗi năm.
Tốc độ tăng trởng này kết hợp với sự giãm giá thành do mạch VXL đợc sản xuấthàng loạt dẫn tới việc tăng thị phần của máy tính thơng mại trên cơ sở mạch VXL.Hơn nữa, hai sự thay đổi quan trọng trở nên thành công về phơng diện thơng mạivới một kiến trúc mới Thứ nhất là sự loại trừ thực sự của ngôn ngữ lập trìnhassembly làm giãm sự cần thiết và khả năng tơng thích mã - đối tợng Thứ hai là sựtạo ra các hệ điều hành độc lập đợc tiêu chuẩn hoá nh UNIX và phiên bản của nó,LINUX, đã đợc hạ thấp chi phí và sự rủi ro bởi một kiến trúc mới
Những thay đổi này tạo khả năng phát triển thành công một tập hợp kiến trúc mớigọi là kiến trúc RISC (Reduced instruction Set Computer) vào đầu thập kỷ 80 RISC
đả thu hút sự chú ý của các nhà thiết kế trên kỹ thuật thực hiện then chốt, sự khaithác cấu trúc lệnh song song (ban đầu là qua pipline và sau đó là qua đa dòng lệnh)
và sử dụng bộ nhớ cache
(ban đầu là dạng đơn giản và sau đó sử dụng tổ chức tinh vi hơn) Sự kết hợp việcnâng cao tổ chức 5 kiến truc đả duy trì tốc độ tăng trởng về hiệu năng hàng năm làtrên 50% trong 20 năm Hình 1.1 thể hiện hiệu quả của tốc độ tăng trởng hiệu năngkhác nhau
Hiệu quả của tốc độ tăng trởng gây ấn tợng sâu sắc gồm 2 phần Thứ nhất, nónâng cao đáng kể khả năng sử dụng máy tính Cho nhiều ứng dụng, các bộ VXLhiệu suất cao nhất ngày nay làm việc tốthơn siêu máy tính của gần 10 năm tr ớc Thứ
2, tốc độ phát triển gây ấn tợng dẫn đến địa vị thống trị của máy tính trên cơ sở VXLtrên toàn bộ lĩnh vực thiết kế máy tính Các trạm làm việc và PCs là những sản phẩmnổi trội trong công nghiệp máy tính Máy tính mini, sản xuất theokiểu truyền thống
từ mạch logic sẳn dùng hoặc ma trận cổng đợc thay thế bởi servers sử dụng các bộVXL Máy tính lớn hầu nh đợc thay thế hoàn toàn bởi các bộ đa xử lý gồm một số
bộ VXl sẳn dùng Thậm chí các siêu máytính hàng đầu còn đợc xây dựng từ tập hợpcác bộ VXL
Sự không có khả năng tơng thích với các thiết kế củ và việc sử dụng công nghệVXL dẫn tới kỳ phục hng trong thiết kế máy tính, nhấn mạng đến cả sự cách tân vềkiến trúc và hiệu quả cải tiến công nghệ thời kỳ phục hng này gây ra sự tăng trởnghiệu năng cao cha từng có nh minh hoạ ở hình 1-1
2
Hình 1.1 Biểu đồ phát triển của các bộ vi xử lý kể từ năm 1980
Trang 3Trong vài năm gần đây, sự cải tiến rất lớn về khả năng của mạch tích hợp đã chophép kiến trúc cũ, nh kiến trúc x86, tiếp nhận nhiều cải tiến tiên phong trong kiếntrúc RISC Nh ta sẽ thấy, bộ xữ lý hiện đại x86 cơ bản gồm một lối vào mà chỉ lệnhx86 tìm nạp mã hoá và ánh xạ chúng vào ALU đơn giản, bộ nhớ truy nhập, hoặcthao tác nhánh, có thể đợc thực hiện trên một bộ xữ lý PISC dạng pipeline Bắt đầuvào cuối những năm 1990, transitor có giá trị rất cao, tổng chi phí cho các Transitorcủa việc biên dịch kiến trúc x86 trở nên không đáng kể nh một phần của giá trị toàn
bộ Transitor của một bộ VXL hiện đại
Những ý tởng kiến trúc và cải tiến biên dịch kèm theo đã tạo nên tốc độ tăng ởng lạ thờng này (ở trung tâm của cuộc cách mạng này có sự phát triển của định l-ợng tiếp cận với thiết kế máy tính và phân tích má sử dụng quan sát theo kinhnghiệm các chơng trình, các thử nghiệm, mô phỏng các công cụ của nó)
tr-Việc duy trì các cải thiện mới đây về chi phí và hiệu năng sẽ đòi hỏi những cáchtân liên tục trong thiết kế máy tính, tài liệu này đợc viết không chỉ cung cấp t liệumẫu thiết kế này mà còn khuyến khích bạn góp phần vào sự phát triển này
Phần II: cơ sở và phơng pháp thiết kế máy tính
I.2 Sự thay đổi của việc tính toán và nhiệm vụ của nhà thiết kế máy tính.
Vào những năm 60, dạng thống trị của việc tính toán là những máy tính lớn đồ
sộ giá hàng triệu đô la và đặt trong những phòng lớn với sự vận hành phức tạp Cácứng dụng tiêu biểu gồm xữ lý dữ liệu thơng mại và tính toán khoa học quy mô lớn.Vào những năm 1970 đã ra đời máy tính mini, một cái máy cỡ nhỏ ban đầu tậptrung vào các ứng dụng trong các phòng thí nghiệm khoa học, nhng sự phát triển củacông nghệ chia sẻ thời gian, nhiều ngời dùng cùng chia sẽ một máy tính tơng tác quaterminal độc lập, đã trỡ nên rộng rãi Những năm 80 ra đời máy tính để bàn dựa trêncác bộ VXL trong cả hai dạng máy tính cá nhân vậtm làm việc, sau đó xuất hiệnserver, những máy tính cung cấp các dịch vụ quy mô lớn nh: lu trữ và truy cập filelâu dài, đáng tin cậy, bộ nhớ lớn, năng lực tính toán cao Những năm 90 ra đờiinternet va world-wide-wed, các thiết bị tính toán cầm tay đầu tiên (PDAs), các thiết
bị tiêu dùng kỹ thuật số, thay đổi từ trò chơi video đến hộp set-top Những sự thay
đổi này tạo nên biến đổi đáng kinh ngạc trong quan điểm của ta về tính toán, cácứng dụng tính toán và thi trờng máy tính trong kỳ đầu thiên niên kỷ này Trớc nhữngthay đổi trong công việc sử dụng máy tính dẫn tới 3 thị trờng máy tính khác nhau,mỗi cái đợc định rõ đặc điểm bởi các ứng dụng, các yêu cầu, các công nghệ tínhtoán khác nhau
Máy tính để bàn.
Máy tính để bàn có từ hệ thống thấp nhất với giá dới 1000$ đến cao nhất là nhữngtrạm làm việc cấu hình lớn giá trên 1000$ Kết hợp hiệu năng (hiệu năng tính toán,hiệu năng đồ hoạ) với giá cả của một hệ thống là vấn đề lớn nhất đối với khách hàng
3
Trang 4cũng nh đối với nhà thiết kế máy tính Một hệ thống máy để bàn hiệu quả la ở bộVXL hiệu năng cao nhất, mới nhất cũng nh bộ VXL giá hạ gần nhất và hệ thốngxuất hiện đầu tiên.
Server
Nhiệm vụ của server là cung cấp sự phát triển của các dịch vụ tính toán và sắpxếp đáng tin cậy với quy mô lớn Sự phát triển chóng mặt của W.W.W tạo xu hớngtăng trởng rất lớn nhu cầu về server wed và độ tinh vi của các dịch vụ trên cơ sởwed Servers trở thành xơng sống trong các xí nghiệp quy mô lớn thay cho máy tínhlớn truyền thống
Đối với server, các đặc tính khác nhau là rất quan trọng Đầu tiên là tính sẵndùng Chúng tôi dùng thuật ngữ "tính sẵn dùng" có nghĩa là hệ thống này có thểcung cấp dịch vụ một cách đáng tin cậy và hiệu quả Thuật ngữ này để nói lên hệthống này không bao giờ bị hỏng Một phần nào đó của các hệ thống quy mô lớnkhông thể tránh khỏi hỏng hóc; thách thức đối với 1 server la duy trì tính sẵn dùng
dù cho các thành phần có thiếu khả năng bằng cách sử dụng cấu hình d Chủ đề này
đợc đề cập đến ở chơng 6
Vậy tại sao tính sẵn dùng là điều cốt yếu? hãy xem cac server chạy yahoo!, thựchiện lệnh cho sisco, bán đấu giá trên Ebay Rõ ràng là các hệ thống này phải làmviệc 7 ngày 1 tuần, 24 giờ một ngày Hỏng hóc của một hệ thống server sẽ thãmkhốc hơn hỏng hóc của một máy tính đơn lẻ nhiều lần Mặc dù khó có thể ớc lợng đ-
ợc cái giá của thời gian chết Hình 1.2 là một phân tích, tính toán với thời gian chết
là phân bố đều và không xuất hiện những thời gian hiệu quả thấp Chúng ta thấy cáigiá ớc lợng phải trả là rất cao
Đặc trng chìa khoá thứ 2 là khả năng co dãn Khả năng dãn rộng của dung lợngtính toán, bộ nhớ, lu trữ, băng thông vào ra của một dịch vụ là cốt yếu
Sau cùng, các server đợc thiết kế sao cho thông lợng có hiệu quả Hiệu năng tổngthể của một server trong điều kiện số tơng tác/phút hoặc số trang wed/giây-là cốtyếu Đáp ứng yêu cầu của 1 cá nhân vẫn là quan trọng, nhng hiệu quả tổng thể vàgiá trị hiệu quả - xác định bởi bao nhiêu yêu cầu đợc xữ lý trong một đơn vị thờigian - là thớc đo chìa khoá cho hầu hết mọi server (Chúng ta sẽ trở lại vấn đề hiệunăng và định giá hiệu năng cho các dạng môi trờng tính toán khác nhau ở mục 1.5)
Trang 5thì), là phần phát triển nhanh nhất của thị trờng máy tính Vùng ứng dụng của cácthiết bị đó tạo từ các VXL nhúng đơn xuất hiện trong các máy móc thờng ngày(phần lớn là các lò viba, máy giặt, máy in, chuyển mạch mạng, ôtô dùng các bộVXL) để điều khiển các thiết bị số (nh pabutop, điện thoại tế bào, các loại thẻ thôngminh), các trò chơi video và kỹ thuật số Mặc dù trong một số ứng dụng nhúng lậptrình chỉ xuất hiện trong kết nối với khởi tạo nạp mã ứng dụng hoặc phần mềm nângcấp của ứng dụng đó Vì thế, ứng dụng này thờng đợc điều chỉnh một cách cẩn thận
đối với bộ xữ lý và hệ thống Đôi khi quá trình này lặp lại hạn chế sử dụng hợp ngữtrong các khoá lặp, mặc dù áp lực về thời gian và chạy thử phần mềm thờng hạn chếmã hoá hợp ngữ vào một phần nhỏ của ứng dụng này Việc sử dụng hợp ngữ cùngvới sự có mặt của các hệ thống khai thác đợc chuẩn hoá và một cơ sở mã lớn, khảnăng tơng thích tập lệnh trở thành vấn đề quan trọng trong thị trờng máy nhúng Khicác ứng dụng tính toán khác, chi phí phần mềm thờng có hệ số lớn trong chi phítổng của một hệ thống máy nhúng
Các máy nhúng có phạm vi rất rộng về khả năng xử lý và giá cả Từ mức thấp là
bộ xữ lý 8bit và 16bit có giá dới 1$ tới mức cao nhất là bộ xữ lý 32bit có khả năngthực hiện 50 triệu lệnh 1 giây có giá dới 10$ và mức cao nhất có thể thực hiện 1 tỷlệnh 1 giây có giá hàng trăm @ cho các game video mới nhất và các chuyển mạchmạng hàng đầu Mặc dù vậy, giá cả là nhân tố chìa khoá trong việc thiết kế rút Hiệunăng tất nhiên là đòi hỏi để tồn tại nhng mục tiêu đầu tiên là xem xét hiệu năng cầnthiết với một giá cả tối thiểu hơn là hiệu năng thực hiện cao nhất với giá cả củng caonhất
Thông thờng, hiệu năng yêu cầu trong một ứng dụng nhúng là đòi hỏi trong thờigian thực Một đòi hỏi hiệu năng thời gian thực là cho phép một đoạn của ứng dụng
có thời gian thực hiện chính xác tuyệt đối Ví dụ: Trong một hộp set-top số, thờigian xử lý mỗi khung hình video là giới hạn vì bộ xử lý cần phải nhận và xử lýkhung hình tiếp theo trong thời gian ngắn Trong một số ứng dụng có một đòi hỏitinh vi hơn Thời gian trung bình cho một tác vụ thông thờng bị cỡng ép khi vợt quathời gian cho phép Điều gần đúng nh vậy (đôi khi gọi là thời gian thực mềm dẻo)xảy ra khi có trờng hợp bỏ qua thời gian cỡng bức trên một sự kiện, miễn là không
bỏ qua quá nhiều Hiệu năng thời gian thực phục vụ các ứng dụng phụ thuộc caocùng với sự phát triển trong việc sử dụng các bộ VXL nhúng, có đòi hỏi cho phép đolờng tiêu chuẩn có phạm vi rộng, từ khả năng chạy những đoạn mã giới hạn nhỏ đếnkhả năng thực hiện tốt các ứng dụng gồm hàng chục đến hàng trăm ngàn dòng mã
Có hai đặc trng chìa khoá khác trong những ứng dụng nhúng: cần bộ nhớ tốithiểu và năng lợng tối thiểu Trong những ứng dụng nhúng bộ nhớ chiếm phần đáng
kể trong chi phí hệ thống và kích cỡ bộ nhớ là quan trọng trong đó Đôi khi các ứngdụng chờ đợi đợc tích hợp toàn bộ trong bộ nhớ trên chip xử lý; đôi khi các ứngdụng cần thiết đợc tính trong một bộ nhớ off-chip nhỏ Trong trờng hợp ào đó, tầmquan trọng của kích cỡ bộ nhớ chuyển thành tầm quan trọng của kích cỡ mã, vì kích
cỡ dữ liệu đợc định ra bởi ứng dụng Nh chúng ta sẽ xem ở mục sau, một số kiếntrúc có khả năng tơng thích tập lệnh đặc biệt để giảm cỡ mã Bộ nhớ lớn cũng cónghĩa là năng lợng nhiều hơn, và năng lợng thờng là tới hạn trong các ứng dụngnhúng Mặc dù tầm quan trọng của năng lợng thấp dẫn tới việc sử dụng pin, cần sửdụng vật liệu đóng gói rẻ hơn (plastic thay cho ceramic) và thiếu quạt làm mát cũnghạn chế mức tiêu thụ năng lợng Chúng ta sẽ nghiên cứu chi tiết hơn về năng lợng ởchơng sau
5
Trang 6Xu hớng quan trọng khác trong hệ thống nhúng là việc sử dụng bộ sử lý hạt nhâncùng với máy ứng dụng đặc biệt Trong nhiều trờng hợp các chức năng của ứng dụng
và các yêu cầu về hiệu năng đợc thoả mãn bởi việc kết họp một giải pháp phần cứng
đặt hàng với phần mềm chạy trên bộ xử lý (lõi) nhúng đợc tiêu chuẩn hoá, đựoc thiết
kế giao diện với phần cứng có hiều quả đặc biệt Trong thực tế, vấn đề nhúng th ờng
đợc giải quyết bằng 3 phơng pháp:
1 Sử dụng kết hợp giải pháp phần cứng/phần mềm gồm một vài phần cứng đặthàng và bộ xử lý nhúng tiêu chuẩn
2 Sử dụng phần mềm đặt hàng chạy trên một bọ xử lý nhúng sẵn dùng
3 Sử dụng một bộ xử lý tín hiệu số và phần mềm đặt hàng (Bộ xử lý tín hiệu số
là bộ xử lý đặc biệt dành cho các ứng dụng xử lý tín hiệu Chúng tôi sẽ nói đến sựkhác nhau quan trọng giữa bộ xử lý tín hiệu số với bộ xử lý nhúng đa năng trong ch-
ơng sau)
Phần lớn những điều đợc đề cập đến trong cuốn sách này liên quan đến thiết
kế, sử dụng và hiệu năng của bộ xử lý nhúng, chúng có bộ vi xử lý sẵn dùng hoặc vi
xử lý lõi, sẽ kết hợp với phần cứng hiệu quả đặc biệt khác Việc thiết kế phần cứngứng dụng riêng hiệu quả đặc biệt và các bộ phận chi tiết của DSPS ở ngoài phạm vicủa cuốn sách này
Trớc đây, thuật ngữ kiến trúc máy tính thờng chỉ thiết kế tập lệnh Các bộphận khác của thiết kế máy tính đợc gọi là thực hiện, thờng ám chỉ rằng điều đó làkhông đáng chú ý hoặc ít thách thức Các tác giả đó tin vào quan điểm này khôngchỉ sai mà thậm chí còn chịu trách nhiệm đối với những lỗi trong thiết kế tập lệnhmới Công việc của các kiến trúc s hoặc các thiết kế không chỉ là thiết kế tập lệnhcác rào cản kỹ thuật trong các bộ phận khác của công trình chắc chắn là những tháchthức gặp phải trong quá trình thiết kế tập lệnh Những thách thức này là dặc biệt sâusắc ở hiện tại khi nhng khác nhau giữa các tập lệnh là nhỏ và khi có 3 vùng ứngdụng khá riêng biệt
Trong cuốn sách này, thuật ngữ kiến trúc tập lệnh dùng để chỉ tập lệnh mà
ng-ời lập trình có thể nhìn thấy thực sự Kiến trúc tập lệnh phục vụ nh một giao dịchgiữa phần cứng và phần mềm, chủ đề này đợc nới ở chơng 2 Việc thực hiện 1 cáimáy có 2 phần: tổ chức và phần cứng Thuật ngữ tổ chức gồm các bộ phận mức caocủa một thiết kế mấy tính nh một hệ thống bộ nhớ, cấu trúc bus và thiết kế CPUtrong ( bộ xử lý trung tâm nơi thực hiện các phép tính số học, logic, rẽ nhánh vàtruyền dự liệu) Ví dụ 2 bộ xử lý với các kiến trúc tập lệnh gần giống hệt nhau nh ng
tổ chức rất khác nhau là Pentium III và Pentium IV Mặc dù Pentium IV có kiến trúcmới, là tập lệnh con trỏ động Phần cứng dùng để chỉ những đặc trng của máy baogồm thiết kế logic chi tiết và công nghệ đóng gói máy Thông thờng một dòng máygồm các máy có cùng kiến trúc tập lệnh và tổ chức gần giống nhau nhng chúng khácnhau về thực hiện phần cứng chi tiết Ví dụ Pentium và Celeron gần giống hệt nhaunhng tốc độ đồng hồ khác nhau và hệ thống bộ nhớ khác nhau làm cho Celeron hiệuqủa hơn đối với những máy tính loại thấp Trong cuốn sách này từ "kiến trúc" dùng
để bao trùm cả 3 phần của thiết kế máy tính: kiến trúc tập lệnh, tổ chức và phầncứng
Nhà thiết kế cần phải thiết kế một máy tính thoả mãn những đòi hỏi nh nhữngmục tieu về năng lợng và hiệu năng Thông thờng, họ cũng phải xác định những đòihỏi đó và đó có thể là nhiệm vụ chủ yếu Những đòi hỏi đó có thể là những điểm đặctrng cụ thể qua tác động của thị trờng Phần mềm ứng dụng thờng dẫn đến sự lựa
6
Trang 7chọn là một vài yêu cầu bằng việc xác dịnh các máy đó sẽ đợc sử dụng thế nào Nếu
có một khối lợng lớn phần mềm cho một kiến trúc tập lệnh nào đó, nhà thiết kế cóthể quyết định một cái máy tính mới cần thực hiện một tập lệnh hiện có Có một thịtrờng rộng lớn đối với các ứng dụng đặc biệt đã khuyến khích các nhà thiết kế kếthợp chặt chẽ các yêu cầu để tạo ra một chiếc máy có thể cạnh tranh trên thị tr ờng.Bảng1.3 tóm tắt một số yêu cầu cần thiết để thiết kế một máy tính mới Một số yêucầu và dặc trng trong đó sẽ đợc nghiên cứu sàn trong các chơng sau:
Yêu cầu chức năng Các đặc trng tiêu biểu đợc yêu cầu hoặc hỗ trợ
Hiệu năng cao con trỏ động và đồ hoạ (phụ lục A,B)
Hỗ trợ xử lý cơ sở dữ liệu và giao dịch, nâng cao tính tincậy và sắn dùng Hỗ trợ cho khả năng co dãn ( Chơng2,7)
Hỗ trợ đặc biệt cho đồ hoạ và video Năng lực hạn chế
Cần cho các ứng dụng và các os khác nhau ( Chơng 5)Các chuẩn
Cho thiết bị I/O: Ultra ATA, Ultra SCSI, PCI ( Chơng 6)UNIX, Palm OS, Windows, Windows NT, Windows
CE, CISCO IOSYêu cầu hỗ trợ cho các mạng khac nhau: Etheret,Infiniband ( Chơng 7)
ANSIC, C+ +, Java, Fortran ( Chơng 2)
7
Hình 1.3 tóm tắt một số yêu cầu chức năng quan trọng đối với một kiến trúc máy
tính.
Trang 8Khi một tập hợp các yêu cầu đợc thiết lập, nhà thiết kế cần phải đánh giá thiết kế
đó Lựa chọn thiết kế tối u dựa trên sự lựa chọn hệ đo lờng Sự thay đổi trong cáckhông gian ứng dụng máy tính trong thập kỷ vừa qua kéo theo sự thay đổi trong
1.3 Các xu hớng về công nghệ
Một kiến trúc tập lệnh thành công cần phải đợc thiết kế để tồn tại qua những thay
đổi nhanh chóng của công nghệ MT Sau tất cả, kiến trúc tập lệnh thành công trongmấy thập kỉ vừa qua, bộ lõi của MT lớn IBM đã đợc sử dụng hơn 35 năm qua Nhàthiết kế cần định kế hoạch cho sự thay đổi công nghệ Để định kế hoạch cho cuộccách mạng về máy tính, nhà thiết kế cần nhất là nhận rõ sự thay đổi nhanh chóngtrong công nghệ thực hiện Có 4 công nghệ thực hiện, thay đổi với tốc độ đáng kinhngạc, giới hạn trong những công nghệ hiện đại:
+ Công nghệ mạch tích hợp logic: Mật độ Transitor tăng khoảng 35% mỗinăm, hiệu quả kết hợp là tốc độ tăng trởng trong tổng số Transitor trên một chip là55% mỗi năm Tốc độ thiết bị co dãn chậm và chúng ta sẽ bàn đến sau>
+ Công nghệ đĩa từ: Gần đây, mật độ đĩa đợc cải tiến hơn 100% mỗi năm,gấp 4 lần trong 2 năm Trớc 1990, mật độ tăng khoảng 30% mỗi năm, gấp 2 lầntrong 3 năm Tốc độ tăng mật độ sẽ nhanh hơn trong thời gian tới Thời gian truynhập đợc cải thiện 1/3 trong 10 năm Công nghệ này nói đến ở chơng 6
+Công nghệ mạng : Hiện nay mạng phụ thuộc vào hiệu năng chuyển mạch
và hiệu năng của hệ thống truyền dẫn, cả độ trễ và băng thông có thể đ ợc cải thiện,gần đây băng thông đợc chú ý nhièu hơn Trong nhiều năm, công nghệ mạng chậm
đợc cải tiến VD trong 10 năm công nghệ Ethernet mới tăng từ 10 Mb lên 100 Mb.Hiện nay đã có Ethernet 1Gb Cơ sở hạ tầng In ternet ở Mỹ phát triển nhanh hơn(băng thông gấp đôi mỗi năm) nhờ sử dụng cáp quang và sự triển khai nhiều phầncứng chuyển mạch
Các công nghệ thay đổi nhanh chóng này tác động đến việc thiết kế 1 bộ vi
xử lý, với tốc độ và công nghệ nâng cao, cóthể tồn tại 5 năm hoặc nhiều hơn Trongkhoảng thời gian để sản xuất đơn lẻ 1 hệ thống máy tính (2 năm cho thiết kế và 2
đến 3 năm cho sản xuất), các công nghệ chìa khoá (nh DRAM chẳng hạn)cũng cóthay đổi, nhà thiết kế cần định kế hoạch cho những thay đổi đó Thực vậy, các nhàthiết kễs thờng thiết kế cho công nghệ tiếp sau, khi 1 sản phẩm bắt đầu ra thị trờngcông nghệ đó có thể có giá trị cao hoặc có thể có lợi thế hiệu năng Theo truyềnthống, chi phí giảm gần với tăng mật độ
Mặc dù công nghệ liên tục đợc cải tiến, đôi khi tạo ra những bớc nhảy nh 1ngỡng cho 1 khả năng mới đạt tới VD khi công nghệ MOS đạt tới 25000 và 50000Transistor trên 1 chip đơn vào đầu những năm 80 tạo ra những khả năng xay dựng
bộ vi xử lý 32 bit trên 1 chip đơn
Thực tế, tổng số Transistor cải thiện theo bậc 2 còn hiệu năng cải thiện theo tuyếntính vừa là thách thức vừa là cơ hội cho kiến trúc máy tính Trong thời gian gần đây,mật độ đựôc cải tiến nhanh, các bộ xi xử lý chuyển từ 4 bit tới 8 bit, 16 bit, 32 bit vàgần đây là bộ xử lý 64 bit có nhiều cách tân công nghệ Pipeline và Cache, sẽ đợc nói
đến ở chơng 3, 4, 5 Mặc dù các Transistor đợc cải tiến hiệu năng bằng việc giảmkích cỡ đặc trng nhng các dây dẫn trong mạch tích hợp thì không Trễ tín hiệu trongmột dây dẫn tăng tỷ lệ với tích số của điện trở và điện dung của nó Tất nhiên khi
8
Trang 9kích cỡ giảm thì dây dẫn sẽ ngắn đi nhng điện trở và điện dung trên 1 đơn vị dài lạixấu đi Vì cả điện trở và điện dung đều phụ thuộc nhiều khía cạnh của quá trình.Năm 2001, bộ xử lý Pentium 4 ra đời trên nền tảngmới : định vị 2 tầng của 20 giànPipeline để trruyền tín hiệu ngang qua chip với các vi xử lý CMOS hiện đại, phầnlớn điện năng tiêu thụ trên các Transistor chuỷên mạch Năng lợng yêu cầu 1Transistor tỷ lệ với tích của điện dung nạp của Transistor, tần số của chuyển mạch,bình phơng của điện áp Khi tăng số lợng chuyển mạch transistor và tần số chuyểnmạch, phần lớn lợng giảm là trên điện dung nạp và điện áp dẫn đến tăng năng lợngtiêu thụ tổng Những bộ vi xử lý đầu tiên tiêu thụ 1/10 W, trong khi 1Pentium 4 tiêuthụ từ 60 đến 80W và 1 Pentium 4 26Hz tiêu thụ 100W Trạm làm việc nhanh nhất
và bộ vi xử lý server năm 2001 tiêu thụ từ 100-150 W Việc phân phối nguồn, tảnnhiệt trở thành thách thức ngày càng khó khăn và có thể tổng số Transistor sẽ bị hạnchế trong tơng lai gần
1.4 Các xu hớng về chi phí và giá cả.
Mặc dù trong việc thiết kế Máy tính, chi phí có vẻ ít quan trọng nhất là những siêumáy tính chuyên biệt, hơn một nửa số PC bán ra năm 1999 có giá dới 1000$ và giátrung bình của 1 vi xử lý 32 bit cho ứng dụng nhúng là khoảng chục $ Trong 15năm qua, việc sẻ dụng các công nghệ cải tiến để hạ giá thành cũng nh tăng hiệunăng là vấn đề lớn của ngành công nghiệp Máy tính Hiểu đợc chi phí và các nhân tốcủa nó là điều chủ yếu để nhà thiết kế có thể ra đợc những quyết định thông minh
về những đặc trng mới trong việc thiết kế khi chi phí là 1 vấn đề cần giải quyết (Ví
dụ các kiến trúc s thiết kế nhà chọc trời mà thông tin về giá cả của rầm thép và bêtông)
Phần này tập trung vào chi phí và giá cả, đặc biết là mối quan hệ giữa giá cả và chiphí Chúng ta thờng bàn đến xu hớng chủ yếu và các nhân tố ảnh hởng đến chi phí
và sự thay đổi của nó Phần này sẽ giới thiẹu với bạn những nhân tố chính ảnh h ởng
đến chi phí của 1 thiết kế Máy tính và sự thay đổi của những nhân tố này theo thờigian
Hiểu việc áp dụng kiến thức sẽ cải thiện sản lợng là chìa khoá để lên kế hoạch chiphí cho sản phẩm tồn tại Một ví dụ về áp dụng kiến thức trong hoạt động, giá mỗi
MB của DRAM giảm khoảng 40% 1 năm vì các DRAM có xu hớng đợc định giáliên quan tới chi phí - trừ thời kỳ khan hàng thực tế là có thời kỳ giá thành lại thấphơn chi phí (đầu năm 2001), tất nhiên các nhà sản xuất mong rằng những thời kì đóhiếm khi xảy ra và nếu có thì diễn ra rất ngắn
Chúng ta sẽ xem xét thông tin cả hai chiều Nhng sự khác nhau giữa giá cả và chiphí phụ thuộc thị trờng máy tính Hình 1.4 dới đây thể hiện sự khác nhau giữa chiphí vật chất và danh sách gí cả đợc phân tích với giá cả tăng từ trái qua phải
9
Hình 1.4 Các yếu tố liên quan đến giá của một máy PC $1000
Trang 10Chi phí trực tiếp là chi phí liên quan đến việc tạo một sản phẩn - nó bao gồm phínhân công, phế liệu các thành phần mua sắm phí bảo hành chi phí trực tiếp này thêm
10 - 30% vào chi phí thành phần Chi phí dịch vụ hay bảo d ỡng không bao gồm ở
đây vì khách hàng phải trả những chi phí này nhng phí bảo hành có thể đợc tính vàohoặc chi phí ngoài lề sẽ đợc bàn đến sau
Chi phí ngoài lề là một chi phí thêm vào tiếp theo, tổng phí của công ty không thểlàm hoá đơn trực tiếp lên một sản phẩm Nó gồm phí nghiên cứu và phát triển(R&D), marketing, bán hàng, bảo dỡng thiết bị, thuê nhà xởng, chi phí tài chính, lợinhuận trớc khấu trừ thuế và đóng thuế Khi chi phí thành phần có thêm chi phí trựctiếp và chi phí ngoài lề sẽ đạt tới giá bán trung bình - ASP trong từ ngữ của MBA - là
số tiền mà công ty nhận đợc cho mỗi sản phẩm bán ra Chi phi ngoài lề chiếm từ 45% của ASP, phụ thuộc vào độ "độc" của sản phẩm Các nhà sản xuất PC cấp thấp
10-có chi phí ngoài lề thấp vì vài lý do sau Thứ nhất chi phí R&D thấp Thứ hai chi phíbán hàng thấp vì họ sử dụng phân phối trực tiếp (qua mail, internet, điện thoại, bánlẻ) Thứ 3 là vì những sản phẩm của họ kém độc đáo, sự cạnh tranh mạnh hơn, do đógiá bán sẻ thấp và lợi nhuận thờng củng thấp, dẫn đến chi phi ngoài lề thấp
Giá niêm yết cao hơn giá bán trung bình vì các công ty thờng có các chiết khấu chovolume Máy tính cá nhân trở thành sản phẩm tổ hợp, việc tăng giá bán lẻ giảmxuống đáng kể
Vấn đề chi phí và chi phí/hiệu năng luông kết hợp với nhau Đó không phải là nhiệm
vụ riêng của các nhà thiết kế máy tính ở một trờng hợp đặc biệt, thiết kế hiệu năngcao không cần tính đến chi phí trong việc đạt đợc mục tiêu của nó trong một số tr-ờng hợp đặc biệt khác, thiết kế chi phí thấp-hiệu năng phải hi sinh để đạt đợc chi phíthấp, nh một số phần trong thị trờng máy nhúng, ví dụ bộ VXL của điện thoại tếbào
1.5 Đo lờng và báo cáo hiệu suất.
Khi ta nói đến máy tính này nhanh hơn máy tính khác theo nghĩa nào: một máytính chạy nhanh nhất khi chơng trình đợc thực hiện trong thời gian ít nhất, khi ngờiquản trị trung tâm máy tính thi hành một hệ thống dịch vụ lớn có thể nói một máytính chạy nhanh nhất khi nó hoàn thành nhiều tác vụ trong một giờ Ngời sử dụngmáy tính luôn muốn giãm thời gian bắt đầu và kết thúc sự kiện - thời gian thực hiệnmột tác vụ Ngời quản ký một trung tâm xữ lý dữ liệu lớn sẽ mong muốn tăng lợngtác vụ trong khi thời gian thực hiện không đổi
Trong sự so sánh để lựa chọn thiết kế, tat thờng liên hệ hiệu suất của 2 loại máy X
Thời gian thực hiện trên Y
-Thời gian thực hiện trên X
1 -
HS Y -1 -
HS X
HS X -
HS Y
Trang 11"Lu lợng của X lớn hơn 1,3 lần so với Y" biểu thị rằng số tác vụ đợc hoàn thànhtrong một đơn vị thời gian trên X gấp 1,3 lần trên Y Vì hiệu suất và thời gian thựchiện là nghịch đảo nên tăng hiệu suất thì thời gian thực hiên giảm Để tránh nhầmlẫn giữa hai thuât ngữ "tăng" "và" giảm", ta thờng nói "cải thiện hiệu suất" hay "cảithiên thời gian thực hiện" với nghĩa tăng hiệu suất và giảm thời gian thực hiện.
Mặt khác, trong một hay nhiều tác vụ, chìa khoá đo lờng là thời gian: máy tính màthực hiện trong cùng một khối lợng công việc trong thời gian ít nhất là máy tínhnhanh nhất Điều khác nhau có chăng là ta đo một hay nhiều tác vụ Đáng tiếc làthời gian không phải lúc nào cũng là thớc đo chuẩn trong so sánh hiệu suất của cácmáy tính Một con số của phép đo thông thờng đợc chấp nhận trong tìm kiếm mộtchuẩn đo lờng của hiệu suất máy tính, với kết quả là một vài thuật ngữ vô hại đ ợcbóc tách từ đặc tính môi trờng tốt của chúng và ép vào một dịch vụ không mong đợi.Với tác giả, sự xác thực và phép đo đáng tin cậy của hiệu suất là thời gian thực hiệncác chơng trình cụ thể, và tất cả kiến nghị bị phân rẽ: thời gian nh là một thớc đohay các chơng trình cụ thể nh là một thông số đo dẫn đến ngõ cụt do lạc hớng hoặcthậm chí sai lầm trong thiết kế máy tính Sự nguy hiểm của một vài sự phân rẽ thôngthờng đợc chỉ ra trong "Fallacies and Pitfalls, section 1.9"
Đo hiệu suất.
Thời gian thực hiện có thể đợc định nghĩa bằng nhiều cách khác nhau tuỳ thuộc tatinh toán nh thế nào Đa phần định nghĩa thẳng về thời gian đợc gọi : Wall - clock -time, resparse time, elappsed time - nghĩa là thời gian trễ để hình thành một tác vụbao gồm try cập ổ đĩa, truy cập bộ nhớ giao tiếp vào ra, tổng phí lệ điều hành Vớinhiều quá trình đang hoạt động, CPU tiếp tục làm việc với một chơng trình trong khichờ đợi I/O và không nhất thiết làm giãm thời gian trễ của một chơng trình Do đó ta
cần 1 thuật ngữ để đa điều này vào tính toán - CPU time - ghi nhận điều đặc biệt này
với nghĩa là thời gian CPU đang tính toán, không bao gồm thời gian chờ đợi I/O haychạy các chơng trình khác (Rõ ràng thời gian trễ mà ngời sử dụng nhận thấy là thời
gian trễ của chơng trình chứ không phải của CPU time) CPU time có thể đợc chia nhỏ hơn nữa từ CPU time bị mất trong một chơng trình gọi là user CPU time và CPU time bị mất trong các tác vụ đang chạy trên hệ điều hành do chơng trình yêu cầu gọi là system CPU time.
Những điều đặc biệt đó đợc phản ánh trong lệnh UNIX time, trả lại bốn kết quả đo
khi áp dụng cho 1 chơng trình đang hoạt động:
90.7u 12.9s 2:39 65%
Trong đó CPU time là 90.7s system CPU time là 12.9s, thời gian trễ là 2p39s (159s), tỷ lệ % trễ của CPU time là : (90.7+12.9)/159 hay 65% Hon 1/3 thời gian
trễ trong ví dụ trên bị mất do đợi I/O hoặc đang chạy các chơng trình khác hoặc cả
hai lý do Nhiều kết quả đo bỏ qua system CPU time vì kết quả đo của bản thân hệ
điều hành không đúng (Kết quả đo sai ở trên là từ UNIX) và sự không công bằng
của cả system CPU time khi so sánh hiệu suất giữa các máy móc với các mã hệ
thống khác
Mặt khác, mã hệ thống của một số loại máy này lại sử dụng trên máy khác và khôngchơng trình nào chạy mà không cần hệ điều hành cài đặt trên phần cứng Vì vậy mộttrờng hợp có thể thích họp cho việc sử dụng tổng của user CPU time và system CPU
11
Trang 12time Trong vấn đề đang tranh cãi hiện nay, một vấn đề đặc biệtlà duy trì giữa hiệusuất cơ sở dựa trên thời gian trễ và hiệu suất cơ sở dựa trên CPU time Thuật ngữ
"hiệu suất hệ thống"đợc sử dụng để tham khảo thời gian trễ trên một hệ thốngunloaded, "hiệu suất CPU"đợc sử dụng để tham khảo user CPU time trên một hệthống unloaded Chúng ta sẽ tập trung vào hiệu suất CPU trong phần này, qua đóxem xét đến cơ sở phép đo hiệu suất dựa vào thời gian trễ Ngời sử dụng MT chạymột loại chơng trình hàng ngày sẽ là ứng viên tuyệt vời đáng giá một máy tính mới
Đánh giá một hệ thống mới, ngời sử dụng sẽ đơn giản là so sánh thời gian trễ trênworkload của chính ngời sử dụng đó- sự kết hợp của các chơng trình và các lệnh hệ
điều hành mà ngời sử dụng chạy trên một cái máy một vài ngời trong hoàn cảnh thú
vị này, tuy nhiên phần lớn sẽ tin cậy vào cách thức khác để đánh gias máy móc vàthờng có những đánh giá khác, hy vọng rằng cách thức này sẽ dự báo đợc hiệu suấttheo cách thức sử dụng của họ Có 5 mức của chơng trình đã sử dụng trong trờnghợp nh vậy, bảng kê dới đay sắp xếp theo chiều giảm dần sự chính xác của dự báo.1/ Các ứng dụng thực _ Mặc dù ngời mua không biết đựoc những phần thời gian
bị mất trong các chơng trình đó là già nhng họ hiểu rằng ngời sẻ dùng sẽ phải giảiquyết những chơng trình cụ thể; ví dụ nh với C, phần mềm xử lý văn bản nh Word
và ứng dụng khác chẳng hạn nh Photoshop Các ứng dụng thực có đầu vào, đầu ra vànhững tuỳ chọn có thể sẻ dụng khi chạy chơng trình Đó là mặt chủ yếu khi sử dụngcác ứng dụng thực tơng tự nh đó là chuẩn:Các ứng dụng thực thờng vấp phải nhữngvấn đề thayđổi nảy sinh từ sự phụ thuộc hệ điều hành hoặc trình biên dịch Sự thay
đổi tăng thờng có nghĩa phải sửa mã ngồn và đôi khi loại trừ vài hoạt tính quantrọng, chẳng hạn nh phép đồ hoạ tơng tác có chiều hớng lệ thuộc hệ thống nhiề hơn2/ Các ứng dụng sửa đổi _ Trong nhiều trờng hợp, các ứng dụng thực đợc sử dụng
nh một khối chuẩn cùng với sự sửa chữa ứng dụng hoặc với 1 phiên bản hoạt động
nh tác nhân kích thích ứng dụng đó Các ứng dụng bị thay đổi do 2 nguyên nhânchính: Sự thay đổi tăng hoặc làm nổi bật 1 mặt đặc biệt của hiệu suất hệ thống VD:Khởi tạo hớng chuản CPU, I/O có thể bị xoá hoặc việc tối giản cấu trúc vào thờigian trễ Các phiên bản đựoc sao chép chạy tác động lẫn nhau, điều này có thể xảy
ra trên hệ thống máy tính để bàn hoặc sự tơng tác phức tạp của nhiều ngời sử dụngtrên hệ thốngmáy chủ
3/ Các chơng trình cốt lõi (chủ yếu)_ Vài cố gắng đã đợc thực hiện với đoạn nhỏ,các khoá con từ chơng trình thực và sử dụng chúng để đanh giá hiệu suất máy.Livermore Loops và Linpack là những VD nhận biết tốt nhất Không giống các ch-
ơng trình thực, không ai chạy các chơng trình cốt lõi đó cả vì chúng tòn tại độc lậpvới hiệu suất Các chơng trình cốt lõi là tốt nhất đẻ cách ly hiệu suất của những chứcnăng riêng lẻ trong 1 cái máy và giải thích nguyên nhân sự chênh lệch hiệu suất củacác chơng trình thực
4/ Chuẩn trò chơi _ Đợc đặc trng bởi từ 10 đến 100 dùng mã lệnh và đa ra kết quảthật sự cho ngời sử dụng trớc khi chạy các chơng trình trò chơi Các chơng trình nhSieve ofEratosthenes, Puxle, Quicksort rất thông dụng vì chúng nhỏ, dễ sử dụng vàchạy hầu hết trên các máy tính Sử dụng tốt nhất những chơng trình nh vậy là gáncho chơng trình khi khởi động
5/chuẩn tổng hợp _ Tơng tự nh lý thuyết về các chơng trình cốt lõi, chuẩntỏng hợp cố gắng hoà hợp giữa tần suất trung bình của các Dhrystone là chuẩn tổnghợp phổ biến nhất Diễn giải của chuẩn này và vài thiếu sót của họ ở phần 1.9 trang
59 Không ai sử dụng chuẩn này vì nó không thể tính toán đợc những điều họ muốn
12
Trang 13chuẩn tổng hợp sự thực đã xa rời thực tế hơn cả các chơng trình cốt lõi vì mã củachuẩn tổng hợp đợc tạo giả cho hợp với hình bóng sự biểu diễn trung bình Chuẩntổng hợp thậm chí không có một phần nhỏ nào của các chơng trình thực mà các ch-
ơng trình cốt lõi có đợc Vì các công ty MT phát triển mạnh hoặc phá sản tuỳ thuộcvào giá cả/hiệu suất máy mà họ sản xuất, liên quan đến thị trờng, tài xoay sở để cóthể cải tiến hiệu suất của nhiều chơng trình trong việc dánh giá MT Thậm chí sức ép
có thể nghiêng về phía các kỹ s phần cứng và phần mềm cố gắng cải thiện hiệu suấtcủa các chơng trình tổng hợp trò chơi, các chơng trình cốt lõi và thậm chí của cácchơng trình thực đó là một việc khó khăn và có thể là không thể đợc Thực tế này làmột nguyên nhân vài nhà cung cấp chỉ rõ những nguyên tắc mà trình biên dịch sẽhoạt động nhn chúng ta sẽ thấy dới đây
Một trong những cố gắng thành công nhất tạo bộ ứng dụng chuẩn đợc tiê chuẩn hoá
là SPEC(standard Performance Evaluation Corportion)đợc hình thành từ cuối nhữngnăm 80 phát biểu các chuẩn tốt nhất cho các trạm làm việc Nhờ vậy công nghệ MT
đã tiến bộ vợt bậc và đòi hỏi nhiều bộ chuẩn khác nhau, hiện nay chuẩn SPEC baotrùm các lớp ứng dụng khác nhau, làm co sở cho các bộ chuẩn khác
Tuy vậy, trọng tâm tranh luận của chngs ta vẫn là chuản SPEC trong nhiều phần mục sau
đây, có 1 mục lớn về các chuẩn đã đợc phát triển cho PC chạy trên hệ điều hành Windows.Tính bao trùm đó đa dạng trong nhiều môi trờng ứng dụng khác nhau(xem Figure 1.5)
BusineessWiustone
99
Chạy các phiên bản của Netscape Navigator và vài bộ sửdụng cho văn phòng (Microsoft, Corel, Wordperfect).Phiên bản mô phỏng giữa sự chuyển trạng thái của ngời sửdụng và việc chạy các ứng dụng khác nhau
Winbench 99
Sự đa dạng của các phiên bản kiểm tra hiệu suất CPC hệthống Video, ổ đĩa sử dụng những phần chủ yếu trên các hếthống con
Các tiêu chuẩn máy tính để bàn.
Các chuẩn cho máy tính để bàn chia thành 2 lớp rõ ràng: các chuẩn cho CPU vàcác chuẩn cho đồ hoạ (thậm chí nhiều chuẩn đồ hoạ bao gồm hoạt động chuyên sâucủa CPU) SPEC gốc tạo 1 chuẩn tập trung vào hiệu suất CPU(đầu tiên đợc gọi làSPEC 89)từ đó tạo nên thế hệ thứ 4 SPEC CPU 2000 theo sau SPEC 95 và SPEC 92
13