next up previous contents index
Next: ประวัติการพัฒนาของคอมพิวเตอร์ Up: แนวคิดของการพัฒนาเทคโนโลยีคอมพิวเตอร์ Previous: ประเภทและคุณลักษณะคอมพิวเตอร์   Contents   Index

จากโปรแกรมสู่การทำงาน

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

ลำดับชั้นของซอฟต์แวร์เหล่านี้ มีลักษณะเป็นลำดับชั้นที่แน่ชัด โดยที่โปรแกรมประยุกต์อยู่วงนอกสุด, ซอฟต์แวร์ระบบอยู่ตรงกลางระหว่างฮาร์ดแวร์, และโปรแกรมประยุกต์ แสดงในรูป 1.3

Figure 1.3: ลำดับชั้นของซอฟต์แวร์
\includegraphics[width=2.5in]{fig/Chapter_1/Figure_1.3ill.eps}

ซอฟต์แวร์ระบบมีหลายลักษณะ เราสามารถแบ่งซอฟต์แวร์ระบบได้เป็น 2 ลักษณะใหญ่ๆ ได้แก่ ระบบปฏิบัติการ (Operating System) และตัวแปลภาษา (Compiler) ระบบปฏิบัติการจะทำงานเพื่อเชื่อมต่อระหว่างโปรแกรมผู้ใช้งาน และระบบฮาร์ดแวร์ ระบบปฏิบัติการจะให้บริการในหลายลักษณะรวมถึงฟังก์ชั่นในการใช้งานคอมพิวเตอร์ โดยมีหน้าที่สำคัญดังต่อไปนี้

ตัวอย่างของระบบปฏิบัติการในปัจจุบันได้แก่ Windows, Linux, และ MacOS

ตัวแปลภาษา (Compiler) ทำหน้าที่แปลภาษาที่เขียนในภาษาระดับสูง เช่น ภาษาซี หรือ ภาษาจาวา ลงมาเป็นคำสั่ง ที่ฮาร์ดแวร์สามารถประมวลผลได้ จากการแปลงภาษาระดับสูงที่มีความซับซ้อนลงมาเป็นภาษาระดับล่างที่ฮาร์ดแวร์สามารถประมวลผลได้ในลักษณะพื้นฐาน ตัวแปลภาษาจึงต้องมีความซับซ้อนสูงไปด้วย

ในอุปกรณ์อีเล็กทรอนิกส์ เราสามารถส่ง สัญญาณระหว่างอุปกรณ์อีเล็กทรอนิกส์ต่างๆ ได้ในลักษณะเปิดปิดสวิตซ์ ที่เป็นการส่งสัญญาณไฟฟ้า สัญลักษณ์ 2 ลักษณะ ที่ใช้ในระบบคอมพิวเตอร์ได้แก่ 0 กับ 1 เราจึงพิจารณาให้ภาษาเครื่องนั้นอยู่ในเลขฐานสอง แต่ละสัญลักษณ์เรียกว่า 1 บิต คอมพิวเตอร์จะทำตามคำสั่ง ซึ่งคำสั่งเป็นกลุ่มของบิตที่คอมพิวเตอร์จะสามารถเข้าใจได้ ตัวอย่างเช่น

1000110010100000

คำสั่งดังกล่าวเป็นการสั่งให้คอมพิวเตอร์ทำการบวกเลข 2 ชุด

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

add a, b

Assembler จะทำการแปลให้เป็น

1000110010100000

คำสั่งขั้นต้นเป็นการบอกให้คอมพิวเตอร์บวกตัวเลข 2 ตัวได้แก่ $a$ และ $b$ ซึ่งลักษณะการใช้งานดังกล่าวจึงเป็นที่มาของภาษาที่เรียกว่าแอสแซมบลี (Assembly)

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

จากการที่โปรแกรมมีความสามารถที่จะแปลงภาษาหนึ่งไปยังอีกภาษาหนึ่ง จึงเป็นที่มาให้เกิดการพัฒนาภาษาโปรแกรมระดับสูงที่ Compiler จะแปลงภาษานั้นๆ ให้ออกมาเป็นคำสั่ง

Compiler จะเอื้อให้นักเขียนโปรแกรมเขียนคำสั่งในลำดับสูงเช่น $a + b$

a + b;

และ Compiler จะทำการแปลงออกมาเป็นภาษาแอสแซมบลี ดังต่อไปนี้

add a, b

จากนั้น Assembler จะทำการแปลงคำสั่งแอสแซมบลี ให้เป็นตัวเลขฐานสอง ได้ดังนี้

1000110010100000

รูป 1.4 แสดงลำดับขั้นของการแปลงในภาษาต่างๆ จากภาษาระดับสูง มาเป็นภาษาแอสเซมบลี และภาษาเครื่องตามลำดับ

Figure 1.4: ลำดับขั้นของการแปลงในภาษาต่างๆ
\includegraphics[width=3.5in]{fig/Chapter_1/Figure_1.4ill.eps}

ส่วนประกอบของคอมพิวเตอร์ได้แก่ ส่วนรับข้อมูลเข้า ส่วนส่งข้อมูลออก หน่วยความจำ เส้นทางส่งข้อมูล และส่วนควบคุม เส้นทางส่งข้อมูลและส่วนควบคุมมักถูกเรียกว่า ตัวประมวลผล รูป 1.5 แสดงโครงสร้างการทำงานคอมพิวเตอร์มาตรฐาน

Figure 1.5: โครงสร้างการทำงานคอมพิวเตอร์มาตรฐาน
\includegraphics[width=3.9in]{fig/Chapter_1/Figure_1.5ill.eps}

รูป 1.6 แสดงคอมพิวเตอร์แบบตั้งโต๊ะ ที่ประกอบด้วย คีย์บอร์ด เม้าส์ จอภาพ และตัวกล่องที่บรรจุฮาร์ตแวร์อยู่ภายใน ที่มองไม่เห็นได้แก่ อุปกรณ์เครือข่ายที่สามารถต่อเชื่อมไปยังเครื่องอื่น ในภาพนี้จะเห็นอุปกรณ์คอมพิวเตอร์ที่สำคัญ 2 ชิ้นได้แก่ อุปกรณ์รับข้อมูลเข้า ได้แก่ แป้นคีย์บอร์ด และหน้าจอ จากเทคโนโลยีโทรทัศน์ จอ CRT สามารถสแกนภาพได้ครั้งละ 1 เส้นในอัตรา 30 ถึง 75 ครั้งต่อนาที ทำให้ผู้ใช้งานไม่สามารถสังเกตการกระพริบได้ของหน้าจอ แต่ละรูป 1.7 แสดงการทำงานของจอภาพแสดงผล ที่ประกอบด้วย เมทริกส์ของภาพ ที่มีการแสดงรูปจากการประกอบกันของ พิกเซลที่แสดงผลสี

Figure 1.6: คอมพิวเตอร์แบบตั้งโต็ะ
\includegraphics[width=3.6in]{fig/Chapter_1/Figure_1.6psd.eps}

Figure 1.7: การทำงานของหน้าจอแสดงผล
\includegraphics[width=3.9in]{fig/Chapter_1/Figure_1.7ill.eps}

รูป 1.8 แสดงภายในของเครื่องคอมพิวเตอร์ที่ประกอบด้วย แหล่งจ่ายไฟฟ้า แผงวงจรหลัก ตัวเล่นซีดี Zip Drive

Figure 1.8: ภายในเครื่องคอมพิวเตอร์แบบตั้งโต๊ะ
\includegraphics[width=4.5in]{fig/Chapter_1/Figure_1.8psd.eps}

ส่วนสำคัญในคอมพิวเตอร์นั้นได้แก่ ตัวโปรเซสเซอร์ ซึ่งในรูป 1.9 แสดงถึงภาพขยายของโปรเซสเซอร์ ชิป Pentium IV

Figure 1.9: ภาพขยายของโปรเซสเซอร์ ชิป Pentium IV
\includegraphics[width=3in]{fig/Chapter_1/Figure_1.9Apsd.eps}

หน่วยความจำที่ใช้ในเครื่องคอมพิวเตอร์ในรูปสร้างจาก DRAM คำว่า DRAM ย่อมาจาก Dynamic Random Access Memory โดยที่หน่วยความจำหลายตัวถูกนำมาใช้ร่วมกันหลายตัวเพื่อจะเก็บคำสั่งและข้อมูลและโปรแกรมหนึ่งๆ ในตัวโปรเซสเซอร์มีหน่วยความจำอีกอย่างเรียกว่า หน่วยความจำแคช ประกอบด้วยหน่วยความจำขนาดเล็ก แต่รวดเร็วมากแต่มีหน้าที่เป็นบัฟเฟอร์ ให้กับหน่วยความจำแบบ DRAM หน่วยความจำแบบแคช ใช้เทคโนโลยีแตกต่างจาก DRAM โดยที่หน่วยความจำแบบแคชใช้เทคโนโลยี SRAM ที่มีขนาดต่อหน่วยใหญ่กว่าและราคาแพงกว่า

หน่วยความจำที่กล่าวมาจะเก็บข้อมูลได้ก็ต่อเมื่อมีพลังงานหล่อเลี้ยงอยู่ พลังงานที่ว่านี้คือพลังงานไฟฟ้า ในอีกทางหนึ่งถ้าเราต้องการเก็บข้อมูลให้ไม่หายไปในขณะที่ไม่มีพลังงานไฟฟ้าเราสามารถเก็บได้ในแผ่นจานแม่เหล็กหรือฮาร์ดดิสก์ ฮาร์ดดิสก์เป็นอุปกรณ์เก็บรักษาข้อมูลที่ประกอบด้วยจานแม่เหล็กหมุนด้วยความเร็วสูง (4,500-15,000 รอบต่อนาที) โดยที่ข้อมูลไม่หายไปเมื่อปิดพลังงานที่ส่งไปเลี้ยง รูป 1.10 แสดงภายในของฮาร์ดดิสก์ ที่มีจาน 10 แผ่นและหัวอ่าน ตัวอย่างอื่นๆ ของการเก็บข้อมูลลักษณะนี้ได้แก่ Optical Disk ได้แก่ DVD, CD, เทปแม่เหล็ก, หรือ Flash Memory รูป 1.11 แสดงการขยายตัวของหน่วยความจำ DRAM เมื่อเทียบกับเวลา

Figure 1.10: ภายในของฮาร์ดดิสก์ ที่ประกอบด้วยแผ่นจานแม่เหล็ก และหัวอ่าน
\includegraphics[width=3in]{fig/Chapter_1/Figure_1.11psd.eps}

Figure 1.11: แนวโน้มการขยายขนาดของหน่วยความจำ
\includegraphics[width=5in]{fig/Chapter_1/Figure_1.13ill.eps}

กว่าจะมาเป็นโปรเซสเซอร์ชิปจะต้องผ่านกระบวนการหลายขั้นตอน รูป 1.12 แสดงขั้นตอนพื้นฐานในการทำโปรเซสเซอร์ชิป Pentium IV หลังจากที่ได้ท่อนซิลิกอน ซึ่งเป็นท่อนวงกลมขนาดเส้นผ่านศูนย์กลาง 8 ถึง 12 นิ้ว และยาว 12 ถึง 24 นิ้ว ท่อนซิลิกอนดังกล่าวจะถูกหั่นบางๆ อย่างระมัดระวังออกมาเป็นเวเฟอร์ที่มีความหนาน้อยกว่า 0.1 นิ้ว จากนั้นเวฟเฟอร์ก็ถูกผ่านขั้นตอนต่างๆ เป็นจำนวนมาก ซึ่งเป็นขั้นตอนทางเคมี เพื่อจะสร้างทรานซิสเตอร์ตัวนำและฉนวนในตำแหน่งที่เหมาะสม จากนั้นก็ผ่านขั้นตอนการทดสอบแต่ละตัวและแยกตัวโปรเซสเซอร์ออกมาจากเวเฟอร์ จากนั้นทำการบรรจุ ใส่ขา และตัวบรรจุกล่อง จากนั้นทำการทดสอบอีกครั้งก่อนส่งถึงผู้ใช้งาน รูป 1.13 แสดงเวเฟอร์ขนาด 8 นิ้ว ที่บรรจุโปรเซสเซอร์ โดยโปรเซสเซอร์แต่ละตัวจะมีขนาด 250 ตารางมิลิเมตร และประกอบด้วยตัวทรานซิสเตอร์ 5 ล้านตัว ใช้เทคโนโลยี 0.18 ไมครอน

Figure 1.12: กระบวนการทำชิปโปรเซสเซอร์
\includegraphics[width=5in]{fig/Chapter_1/Figure_1.14.eps}

Figure 1.13: เวเฟอร์ขนาด 8 นิ้ว ที่บรรจุโปรเซสเซอร์
\includegraphics[width=3in]{fig/Chapter_1/Figure_1.15psd.eps}

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

Figure 1.14: แผงระบายความร้อนที่ออกแบบมาขนาดใหญ่ที่จะกระจายความร้อนออกจากตัวโปรเซสเซอร์
\includegraphics[width=3in]{fig/Chapter_1/Figure_1.16psd.eps}

จากที่ผ่านมาเราพบว่า คอมพิวเตอร์มีอัตราการเพิ่มของประสิทธิภาพ 2 เท่า ทุก 18 เดือน ให้ดูแนวโน้มในรูป 1.15

Figure 1.15: แนวโน้มประสิทธิภาพของคอมพิวเตอร์
\includegraphics[width=5in]{fig/Chapter_1/Figure_1.17.eps}


next up previous contents index
Next: ประวัติการพัฒนาของคอมพิวเตอร์ Up: แนวคิดของการพัฒนาเทคโนโลยีคอมพิวเตอร์ Previous: ประเภทและคุณลักษณะคอมพิวเตอร์   Contents   Index
Vara Varavithya 2006-11-06