next up previous contents index
Next: การเปรียบเทียบการทำงานของโปรแกรม Up: ประสิทธิภาพของตัวประมวลผล และองค์ประกอบอื่นๆ Previous: Clock Cycles per Instruction   Contents   Index

การใช้ชุดสมการประสิทธิภาพ

สมมุติว่าเรามีคอมพิวเตอร์ที่ออกแบบต่างกันสองชุด แต่ทำงานบนชุดคำสั่งเดียวกัน คอมพิวเตอร์ A มี Clock cycle time เท่ากับ 250 ps และ CPI เท่ากับ 2.0 ในการทำงานของโปรแกรมหนึ่ง และคอมพิวเตอร์ B มี Clock cycle time เท่ากับ 500 ps และ CPI เท่ากับ 1.2 ในการทำงานของโปรแกรมเดียวกัน จงหาว่าคอมพิวเตอร์เครื่องไหนเร็วกว่า และ เร็วกว่าเท่าไร

จากที่คอมพิวเตอร์ทั้งสองทำงานบนชุดคำสั่งเดียวกัน ถึงแม้จะมีการออกแบบต่างกัน แต่จะประมวลผลคำสั่งเป็นจำนวนเท่ากันสำหรับโปรแกรมเดียวกัน ให้จำนวนคำสั่งนั้นเรียกว่าค่า $I$ จำนวน Clock cycles ของการประมวลผลของแต่ละเครื่องจะเท่ากับ


\begin{displaymath}
CPU clock cycles_A = I \times 2.0
\nonumber
\end{displaymath}  


\begin{displaymath}
CPU clock cycles_B = I \times 1.2
\nonumber
\end{displaymath}  

เราสามารถคำนวณ CPU time สำหรับแต่ละเครื่อง ได้เท่ากับ


$\displaystyle CPU time_A$ $\textstyle =$ $\displaystyle CPU clock cycles_A \times Clock cycle time_A$ (4.14)
  $\textstyle =$ $\displaystyle I\times 2.0\times 250 ps = 500\times I ps$  

และสำหรับคอมพิวเตอร์ B


\begin{displaymath}
CPU time_B = I\times 1.2\times 500 ps = 600\times I ps
\nonumber
\end{displaymath}  

จะเห็นได้ว่าคอมพิวเตอร์ A เร็วกว่า โดยคอมพิวเตอร์ A เร็วกว่าคอมพิวเตอร์ B เท่ากับ


\begin{displaymath}
\frac{CPU Performance_A}{CPU Performance_B} = \frac{Executio...
...time_B} =\frac{600\times I ps}{500\times I ps} = 1.2
\nonumber
\end{displaymath}  

สามารถสรุปได้ว่าคอมพิวเตอร์ A เร็วกว่าคอมพิวเตอร์ B 1.2 เท่า

เราสามารถเขียนสมการประสิทธิภาพพื้นฐานในรูปของความสัมพันธ์ระหว่าง จำนวนคำสั่ง (Instruction Count), CPI และ Clock cycle time:


\begin{displaymath}
CPU time = Instruction count \times CPI \times Clock Cycle Time
\end{displaymath} (4.15)

หรือ


\begin{displaymath}
CPU time = \frac{Instruction count\times CPI}{Clock rate}
\end{displaymath} (4.16)

สมการขั้นต้นมีประโยชน์มากในการพิจารณาประสิทธิภาพ เนื่องจากเป็นสมการที่รวบรวมเฟคเตอร์ที่สำคัญสามตัวที่ส่งผลต่อประสิทธิภาพ เราสามารถเปรียบเทียบการออกแบบคอมพิวเตอร์ต่างๆ ตามเฟคเตอร์ทั้งสามตัวนี้ เราสามารถนับจำนวนคำสั่งในโปรแกรมได้ และอัตราสัญญาณนาฬิกาสามารถดูได้จากเอกสารรายละเอียดของโปรเซสเซอร์ ส่วนของ CPI จะค่อนข้างยากในการหา ในการทดสอบโปรแกรม และวัดเวลาในการประมวลผล เราสามารถใช้สมการขั้นต้นในการคำนวณค่าต่างๆ ทั้งสามได้

การวัดประสิทธิภาพพื้นฐานของคอมพิวเตอร์ สามารถแสดงได้จากสมการข้างล่าง


\begin{displaymath}
\fbox{
$
Time = \frac{Seconds}{Program} =
\frac{Instruction...
...ac{Clock cycles}{Instruction} = \frac{Seconds}{Clock cycle}
$
}\end{displaymath}

ในบางครั้งเราสามารถกำหนด CPI สำหรับคำสั่งที่แตกต่างกันได้ โดยกำหนด $CPI_i$ สำหรับคำสั่ง $i$ หรือชุดที่ $i$ โดยสามารถคำนวณได้ใกล้เคียงกับประสิทธิภาพจริงได้มากขึ้น


\begin{displaymath}
CPU clock cycles = \sum^n_{i=1} (CPI_i\times C_i)
\end{displaymath} (4.17)

โดยที่ $C_i$ เป็นจำนวนคำสั่งประเภท $i$ ในโปรแกรมที่ทำการประมวลผล

การปรับปรุงคอมพิวเตอร์ในส่วนต่างๆ มีผลกระทบดังต่อไปนี้


next up previous contents index
Next: การเปรียบเทียบการทำงานของโปรแกรม Up: ประสิทธิภาพของตัวประมวลผล และองค์ประกอบอื่นๆ Previous: Clock Cycles per Instruction   Contents   Index
Vara Varavithya 2006-11-06