Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ính3
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
1
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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.
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. 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í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
2
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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 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ởng hiệu năng
cao cha từng có nh minh hoạ ở hình 1-1.
3
Hình 1.1. Biểu ®å ph¸t triĨn cđa c¸c bé vi xư lý kĨ từ năm 1980
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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 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 kinh nghiệm các chơng trình, các thử nghiệm, mô phỏng các công cụ của nó).
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ách tâ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ệu mẫ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.
4
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ập trung 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ủa cô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 qua terminal
độ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ên cá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ện server, 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 file lâ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 đời
internet 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ững thay đổ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ính toá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ững trạ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 cũ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ống xuấ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ắp xế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ớng tă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
5
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
trở thành xơng sống trong các xí nghiệp quy mô lớn thay cho máy
tính lớ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ẵn dù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ớn khô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ực hiệ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àm việ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·m khè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ái giá ớc lợng phải trả là rất
cao.
Bảng 1.2 : Chi phí của hệ thống không sẵn có đợc đa ra bằng
việc phân tích giá cả.
Đặ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ợng tí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.
6
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ổng thể 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ốt yế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ời gian - 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ệu nă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).
Các máy tính nhúng
Các máy tính nhúng, tên nay để chỉ những máy tính đợc đặt
vào trong các thiết bị khác nơi má sự hiện diện của máy tính này
không rõ ràng một cách trực tiếp (tức thì), 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ác thiế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ông minh), các trò chơi
video và kỹ thuật số. Mặc dù trong mét sè øng dơng nhóng lËp
tr×nh chØ xt 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âng cấ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ùng vớ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. Khi cá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ăng thự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ạch
mạ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ệu năng tất nhiên là đòi hỏi để tồn tại nhng
7
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
mục tiêu đầu tiên là xem xét hiệu năng cần thiế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 cao
nhấ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ời gian 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ời gian 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ỏi tinh 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 qua thờ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ơ thc cao cï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 đo lờ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ỏ đến
khả 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ối thiể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 ứng dụng chờ đợi
đợc tích hợp toàn bộ trong bộ nhớ trên chip xử lý; đôi khi các ứng
dụng cần thiết đợc tính trong một bộ nhớ off-chip nhỏ. Trong trờng
hợp ào đó, tầm quan 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ến trú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ụng nhú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ũng hạ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.
8
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
Xu 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ân cù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 đặt hà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 vi củ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ông chỉ 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ệnh mớ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ệnh cá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ách thứ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âu sắ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 ứng dụ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ịch giữa phần cứng và phần
9
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
mềm, chủ đề này đợc nới ở chơng 2. Việc thực hiện 1 cái má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 cao củ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Õ CPU trong ( 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 nhng
tổ chức rất khác nhau là Pentium III và Pentium IV. Mặc dù Pentium
IV có kiến trúc mới, là tập lệnh con trỏ động. Phần cứng dùng để
chỉ những đặc trng của máy bao gồ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áy gồ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ác nhau về thực hiện phần cứng chi tiết. Ví dụ Pentium
và Celeron gần giống hệt nhau nhng tốc độ đồng hồ khác nhau
và hệ thống bộ nhớ khác nhau làm cho Celeron hiệu qủ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ần cứ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ững mụ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 đòi hỏi đó và đó có thể là
nhiệm vụ chủ yếu. Những đòi hỏi đó có thể là những điểm
đặc trng 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 chọ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ết hợ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êu cầu và dặc trng trong đó sẽ đợc nghiên cứu sàn trong
các chơng sau:
10
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
Yêu
cầu
chức
năng
* Vùng ứng dụng
Máy để bàn đa
năng
Các đặc trng tiêu biểu đợc yêu cầu
hoặc hỗ trợ
Mục tiêu của máy tính
Hiệu năng cân bằng cho một phạm vi tác vụ
gồm tơng tác đồ hoạ, video, audio (Chơng
2,3,4,5).
Máy để bàn kỹ Hiệu năng cao con trỏ động và đồ hoạ (phụ
thuật và servers
lục A,B).
Servers thơng mại
Hỗ trợ xử lý cơ sở dữ liệu và giao dịch,
Máy tính nhúng
nâng cao tính tin cậy và sắn dùng. Hỗ trợ
cho khả năng co dÃn ( Chơng 2,7).
Hỗ trợ đặc biệt cho đồ hoạ và video. Năng
lực hạn chế và có thể điều khiển năng lực (
Chơng 2,3,4,5)
* Khả năng tơng Xác định số lợng phần mềm cho máy tính.
thích phần mềm
Với ngôn ngữ lập Rất mềm dẻo cho ngời thiết kế; cần bộ
trình
dịch mới ( Chơng 2,8)
Kiến trúc tập lệnh hoàn toàn xác định - có
MÃ đối tợng hoặc t- độ mềm dẻo - nhng không cần đàu t chơng
thích
nhị ơng trình phần mềm
phân
* Hệ thống khai Đặc trng cần thiết để hỗ trợ chọn os ( Chthác
ơng 5,7).
Kích cỡ vùng địa Đặc trng rât quan trọng ( Chơng 5)
chỉ
Yêu cầu Os hiện đại, có thể đánh số hoặc
Quản trị bộ nhớ
phân đoạn ( Chơng 5)
Cần cho các ứng dụng và các os khác nhau
Phòng vệ
( Chơng 5)
Các chuẩn
Một số chuẩn có thể đợc thị trờng yêu cầu
Con trỏ động
Định dạng và số học: IEEE 754; phép số học
đặc biệt cho đồ họa và xử lý tín hiệu
Bus I/O
( Phơ lơc A)
Cho thiÕt bÞ I/O: Ultra ATA, Ultra SCSI, PCI
( Ch¬ng 6)
11
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
Các mạng
UNIX, Palm OS, Windows, Windows NT,
Windows CE, CISCO IOS
Các ngôn ngữ lập Yêu cầu hỗ trợ cho các mạng khac nhau:
trình
Etheret, Infiniband ( Chơng 7)
ANSIC, C+ +, Java, Fortran ( Chơng 2)
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.
Khi 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ác khô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 trong mấ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ộc cá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óng trong c«ng nghƯ thùc hiƯn. Cã
4 c«ng nghƯ thùc hiƯn, thay đổi với tốc độ đáng kinh ngạ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ỗi nă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ần trong 3 năm. Tốc độ tăng
mật độ sẽ nhanh h¬n trong thêi gian tíi. Thêi gian truy nhË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ả độ
12
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ần cứ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 . Trong khoả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ờng
công nghệ đó có thể có giá trị cao hoặc có thể có lợi thế hiệu
năng. Theo truyền thố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 1 ngỡng cho 1 khả năng mới đạt tới. VD khi công nghệ
MOS đạt tới 25000 và 50000 Transistor 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ến tí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ý chun 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ảm kí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 trong mộ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 kí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ại xấ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àn Pipeline ®Ĩ trrun tÝn hiƯu ngang qua chip víi c¸c vi xử
lý CMOS hiện đại, phần lớn điện năng tiêu thụ trên các Transistor
13
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
chuỷên mạch. Năng lợng yêu cầu 1 Transistor 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ển mạ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ợng tiêu thụ tổng. Những bộ vi xử lý đầu
tiên tiªu thơ 1/10 W, trong khi 1Pentium 4 tiªu thơ 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ản nhiệ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ạn chế 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êu má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 15 nă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ệu
nă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à chi phí. 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ời gian
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 chi phí 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ấp hơn chi phí (đầu năm 2001), tất nhiên các nhà sản
14
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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à chi phí 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 chi phí 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.
Hình 1.4. Các yếu tố liên quan đến giá của một máy PC $1000
Chi 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ào hoặ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ợi nhuận trớc khấu
trừ thuế và đóng thuế. Khi chi phí thành phần có thêm chi phí
trực tiế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ừ 10-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
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án lẻ). 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.
15
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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 cho volume. 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ảm xuố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ăng cao 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áy tí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ời quả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áy tí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ụng má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ện mộ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ợng tá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 và Y khác nhau.
"X nhanh hơn Y" đợc hiểu rằng thời gian nhận lệnh và thi hành
tác vụ của X thấp hơn Y. Đặc biệt "X nhanh hơn Y n lần" có nghĩa
là:
Thời gian thực hiện
trên Y
=n
-------------------------------Thời gian thực
hiện
là thực
nghịch
Thời
gian
hiệnđảo với hiệu suất (HS):
trên X
1
------Thêi gian thùc hiƯn
HS Y
HS X
trªn Y
= ------------- = --------n = ------------------------------=HS Y
1
-------Thêi gian thùc hiƯn
HS X
trªn X
16
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
"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ành trong 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ực hiệ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ầm lẫ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ải thiê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ính nhanh 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 chn trong so s¸nh hiƯu st cđa c¸c
m¸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ột chuẩ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 đợc bó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ện cá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 đo hay 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ặc thậ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ông thờ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 t thc ta tinh 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ới nhiề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 khi chờ đợ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
17
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
toán, không bao gồm thời gian chờ đợi I/O hay chạ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ông chơ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ét trê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
time. Trong vÊn ®Ị ®ang tranh c·i hiƯn nay, mét vÊn ®Ị đặc
biệtlà duy trì giữa hiệu suấ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ống unloaded,
"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ạy mộ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ên workload 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,
18
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ất theo 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ờng hợ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ải quyế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ụng cá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ững vấ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 quan trọ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ơn
2/ 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ân chí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ời gian 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ụng trê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ập vớ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ức nă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ủa các chơng tr×nh
thùc.
19
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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 nh Sieve 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án cho 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ẩn tỏ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ổng hợ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. chuẩ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ủa chuẩ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ẩn tổ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ộc và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ất củ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ác chơ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.
Các Bộ CHUẩN
Gần đây đà trở nên phổ biến cách đặt tổng hợp các chuẩn víi
nhau thùc hiƯn do hiƯu sÊt nh vËy lµ cÊu thành hợp lý của các
chuẩn riêng lẻ. Dù sao thì sự thuận lợi của các bộ chuẩn nh vậy là
điểm yếu của bất kỳ 1 chuẩn nào sẽ đợc giảm thiểu bởi sự có
mặt của chuẩn khác. Sự thuận lợi này là đặc biệt đúng nếu các
phơng pháp sử dụng tổng kết hiệu suất của bộ chuẩn phản ánh
toàn bộ bộ chuẩn, điều này mâu thuẫn với việc thoả mÃn hiệu
suất tăng trong chơng trình và có thể bị đánh bại bởi chính mục
tiêu. Cối phần này, ta bàn đến điểm mạnh và yếu của cá phơng
pháp khác nhau với viƯc tỉng hỵp hiƯu st.
20
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
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ững nă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
chn SPEC bao trï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).
Tiêu chuẩn
Diễn giải
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,
BusineessWiusto
Wordperfect). Phiên bản mô phỏng giữa sự
ne 99
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
Mô phỏng nhiều ứng dụng chạy ®ång thêi, tËp
High-end
trung tÝnh to¸n c¸c øng dơng cao cÊp (nh
Wiustone 99
Adobe Photoshop)
M« pháng nhiỊu øng dơng tËp trung vỊ lợng tạo
CCWiustone 99
mới (nh Photoshop, Premiere, Navigator, các chơng tình audio thuộc nhiều loại)
Sự đa dạng của các phiên bản kiĨm tra hiƯu
Winbench 99
st 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âu củ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 (figure 1.30 trang 64 bàn về sự phát triển của các
chuẩn ). SPEC CPU 2000 đựôc tóm tắt trong Figure 1.12 gåm cã 1
phÇn trong tỉng thĨ 11 chn CINT2000) và 14 chuẩn điểm
21
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
động(CFP 2000). Các chuẩn SPEC là chơng trình thực thay đổi
với sự linh hoạt và giảm thiểu vai trò của I/O trên toàn bộ hiệu suất
chuẩn. Các chuẩn tổng thể thay đổi từ 1 phần của phiên bản C
với 1 đoạn SI và công cụ định tuyến cho 1 ứng dụng đồ hoạ. Các
chuẩn điểm động boa gồm mà lợng tử, phơng thức nguyên tố giới
hạn , các động lực hay thay đổi. Bé SPEC CPU lµ chn cho CPU
víi hƯ thèng MT để bàn và hệ thống máy chủ đơn. Bảng trang
20.
SPEC CPU 2000 là xoáy vào hiệu suất CPU, hai kiểu khác nhau của
các chuẩn đồ hoạ đợc tạo ra bởi SPEC:
SPEC
viewperf(xem
đợc sử dụng với
các hệ thống chuẩn cung cấp th viện đồ hoạ OpenGL
- SPCapc( gồm các
ứng dụng đồ hoạ sử dụng rộng rÃi.
SPECviewperf đo hiệu suất trình diễn 3D của các hệ thống
đang chạy dới OpenGL sử dụng 3-Dmodel và 1 chuỗi các cuộc gọi
OpenGL chuyển đổi model. SPECapc bao gồm hoạt động của 3
ứng dụng lớn:
1/Pro/Engineer: 1 ứng dụng mẫu đáng tin cậy sử dụng rộng rÃi
biên dịch 3D
2/Solid Works 99: 1 công cụ thiết kế 3-D CAD/CAM chạy 1 chuỗi
của 5 phép kiểm tra khác nhau từ I/O đến CPU.
3/UnigraphicsV15: Chuẩn bao quát toàn bộ phàm vi rộng lớn các
chức năng Unigraphics, kể cả lắp ráp, vẽ thiết kế, gia công điều
khiển số, các kiểu mẫu vững chắc,
Các chuẩn Server.
Do server có nhiều chức năng nên có nhiều dạng chuẩn cho nó.
Chuẩn đơn giản nhất có lẽ là chuẩn định hớng lu lợng CPU. SPEC
CPU 2000 đà sử dụng chuẩn SPEC CPU đặt 1 lu lợng đơn giản ở
nơi tốc độ xử lý của một đa xử lý có thể đo đợc bằng cách chạy
nhiều bản sao của mỗi chuẩn SpeC CPU và chuyển đổi CPU time
ra tố độ - Phơng pháp này gọi là SPC Rate. Khác so với SPEC Rate,
phần lớn các ứng dụng và chuẩn của server có ý nghĩa hoạt động
giao thức I/O phát sinh từ ổ đĩa hoặc từ lu lợng mạng bao gồm
các chuẩn với hệ thống file servers, web servers, lợng dữ liệu và hệ
22
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
thống truyền dẫn. spEc đề nghị cả hai chuản file server(SPESFS)
và
web
server(
SPEC
web).
SPECSFS(xem
là chuẩn ®o lêng
hiƯu st
NFS(Network Fil System) sđ dơng mét bé file server; nã kiĨm tra
hiƯu st hƯ thèng I/O (cđa ỉ đĩa và giao thức mạng) SPSCSFS la
một chuẩn định hớng lu lợng khá quan trọng (chơng 6 diễn giải
vài chuẩn hƯ thèng file vµ I/O).
SPECWEB (xem lµ mét chn
web-server mô phỏng các yêu cầu của nhiều khách hàng cả tỉnh
và động gửi đến server.
Các chuẩn xử lý giao dịch đo lờng khả năng của một hệ thống
điều khiển các giao dịch truy cập hay cập nhật dữ liệu. Hệ
thống hạn chế của một hÃng hàng không hoặc của một ngân
hàng là một hệ thống TP đơn giản điển hình, các hệ thống TP
phức tạp bao gồm các dữ liệu phức tạp và công tác đặc biệt. Giữa
những năm 80, một nhóm kỹ s hội hoạt động độc lập transaction
proccessing council (TPC) cố gắng tạo ra một đơn vị của các
chuẩn đúng và thực tế về xữ lý giao dịch.
Chuẩn TPC đầu tiên ra đời (TPC-A) đợc công bố vào năm 1998.
Chuẩn thế hệ thứ 4 của nó là TPC-C đợc khởi tạo năm 1992 mô
phỏng một môi trờng truy vấn phức tạp. TPC-H diễn tả các truy vấn
mà không liên kết và kinh nghiệm về phần này trong qua khứ
không thể đợc sử dụng trong tơng lai, kết quả lµ thêi gian trƠ cđa
truy vÊn cã thĨ lµ rÊt dài. TPC-R các truy vấn đà biết trớc đợc lu lại
và hệ thống DBMS có thể sử dụng chúng. TPC-W chuẩn giao thức
web-based mô phỏng hoạt động của một web-server với giao thức
định hớng thơng mại.
Chuẩn TPC đợc giới thiệu ở />Tất cả chuẩn TPC đo hiệu suất trong giao thức trên thời gian là
giây (s). Trong phần thêm (phép cộng) họ tính đến cả yêu cầu
thời gian nhận lệnh, vì vậy hiệu suất lu lợng đợc đo chi khi giới
hạn thời gian nhận lệnh là nhỏ. Hệ thống real-word - truyền dẫn
tốc độ cao và liên kết nhiều hệ thống lớn trong các phiên làm việc
của ngời sử dụng với dữ liệu cơ sở mà các giao thức đợc øng dơng.
Chn cho m¸y tÝnh nhóng - Embedded computer.
23
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
Các chuẩn cho các hệ thống máy tính nhng là một trạng thái mới
mẻ khac xa so với môi trờng server và desktop. Hiện nay, nhiều
nhà sản xuất nêu ra chuẩn hiệu suất Dhrystone đà bị chi trích và
từ bỏ bỡi hệ thống máy tính để bàn từ hơn 10 năm trớc! Nh sự đề
cập mới đây, sự khác nhau lớn trong các ứng dụng nhúngcũng
giống nh các nhu cầu khác nhau về hiƯu st (thêi gian thùc phÇn
cøng, thêi gian thùc phÇn mềm và trên hết là cái giá cho hiệu
suất) gây ra việc sử dụng các chuẩn đơn lẻ la thiếu thực tế. Để
thực hiện nhiều nhà thiết kế các hệ thống nhúng nghĩ ra các
chuẩn phản ánh ứng dụng của chúng, nh các phiên bản kernels hay
stand-alone của một ứng dụng toàn vẹn. Các ứng dụng nhúng có
thể đợc chỉ râ u ®iĨm bëi hiƯu st chđ u, mét chn mới tốt
nhất trong các chuẩn là: EDN Embeded Microprocessor Benchmark
Consortium (EEMBC).
Chuẩn EEMBC có 5 lớp: tự động/công nghệ, ngời tiêu dùng, mạng,
tự động hoá văn phòng và viễn thông. (hình1.6)
Mặc dù các ứng dụng nhúng dễ ảnh hởng tới hiệu suất của các chơng trình cốt yếu loại nhỏ, thờng bao gåm c¶ hiƯu st cđa øng
dơng tỉng thĨ (cã thể gồm hàng nghìn dòng lệnh). Vì vậy với
nhiều hệ thống nhúng, chuẩn EMBCC có thể chỉ đợc sử dụng một
phần hiệu suất định mức.
Kiểu chuẩn
# của kiểu VD
chuẩn
Automotive/indutrial
16
6 chuẩn nhá, 5 chn ®iỊu
khiĨn tù ®éng, 5 chn läc
hay FFT
Consumer
5
5 chuẩn multimedia
networking
3
Shortest
path
calculation,
định tuyến IP, chuyển mạch
gói
office automation
4
chuẩn văn bản và đồ hoạ
telecommunication
6
chuẩn DSP và lọc
Hình 1.13 Bộ các chuẩn EEMBC
Báo cáo các kết quả hiệu suất.
24
Bài tập lớn kiến trúc máy tính
Lớp: tc-dhddt1-k1
Phần hớng dẫn chính của bản báo cáo đo hiệu suất là
reproducibility - liệt kê mọi thứ mà những ngời làm thí nghiệm
khác nhau sẽ cần đến để tạo bảng kết quả. Một báo cáo chuẩn
SPEC đòi hỏi sự giải thích toàn bộ rõ ràng của máy, các cờ của
trình biên dịch. VD: hình 1.14 chỉ ra các phần của báo cáo
SPECCINT2000 cho máy Dell Precision Workstation 410.
Một bản báo cáo chuẩn TPC thậm chí còn đầy đủ hơn nhiều, nó
chắc chắn bao gồm kết quả kiểm tra của một chuẩn và thông tin
về giá.
Cấu trúc phần mềm của một hệ thống có thể ảnh hởng đáng kể
kết quả hiệu suất với một chuẩn. VD: hiệu suất hoạt động của hệ
thống và cung cÊp cã thĨ lµ rÊt quan träng trong chn server.
Trong trờng hợp này, các chuẩn đôi khi hoạt động trong chế độ sử
dụng đơn giảm nhỏ tổng phí. Ngoài ra, tăng hoạt động hệ thống
thỉnh thoảng lại làm hiệu suất tăng trong chuẩn TPC. cũng nh vậy
kỹ thuật biên dịch đóng vai trò lớn trong hiệu suất của CPU. Tác
động của kỹ thuật biên dịch có thể đặc biệt lớn khi đợc phép
trao đổi mà nguồn ( VD trang 63) hoặc khi một chuẩn có điểm
đáng ngờ (VD trang 61). Trong trờng hợp này diễn tả chính xác các
hệ thống phần mềm là rất quan trọng, đợc đo bằng sự thay đổi
đặc biệt đà đợc thực hiện một cách không tiêu chuẩn.
Cách khác, tuỳ biến phần mềm cải thiện hiệu suất của một chuẩn
đợc đa qua phần sử dụng các cờ chuẩn đặc biệt, các cờ này thờng gây ra sự biến đổi trái luật trong nhiều chơng trình hoặc
sẽ làm giảm hiệu suất trên những phần khác. để hạn chế quá
trình này và tăng ý nghĩa kết quả của SPEC đa ra phép đo
baseline performance thêm vào để tối u phép đo hiệu suất.
Baseline performance hạn chế cung cấp một trinh biên dịch và
đơn vị cờ cho tất cả các chơng trình cùng ngôn ngữ (C hoặc
FORTRAN).
25
Hình 1.7. Phần cứng, phần mềm và các tham số cơ bản cho
CINT2000 theo b¸o c¸o cđa h·ng Dell