www./oocities.com/pontipa001
ส่งเพจ
152
:: 162::1144
::1500 ::
1188 :: DTAC::GSM
หน้าแรก
..........
ทดสอบความรู้
คอมพิวเตอร์ในชีวิตประจำวัน
คอมพิวเตอร์สำหรับผู้บริหาร
มัลติมีเดีย
ที่มาของการขยายเทคโนโลยีเครือข่าย
วิทยุ
ทีวี บนอินเทอร์เน็ต
ทางด่วนข้อมูล
รากฐานของการศึกษาทางไกล
สารสนเทศส่วนบุคคล
ความจำเป็นของการใช้คอมพิวเตอร์
ระบบข้อมูลข่าวสารขององค์กร
เมื่อทางด่วนข้อมูลข่าวสารกำลังเป็นจริง
จะไล่ตามจับเทคโนโลยีกันอย่างไรดี
จากคอมพิวเตอร์ในหลาย ๆ
รุ่นที่ผ่านมา เรามีคอมพิวเตอร์ระบบ 8 บิต หรือชิพแบบ
8 บิต แล้วก็มา 16 บิต จึงถึงปัจจุบันที่ใช้กันส่วนใหญ่
ซึ่งก็เป็นแบบ 32 บิตและคอมพิวเตอร์รุ่นถัดไปที่กำลังจะก้าวเข้ามาแทนก็คือแบบ64
บิตนี้เอง โดยเหตุผลความจำเป็นหลาย ๆ อย่างที่แบบ
32 บิต ยังไม่เพียงพอ ซึ่งจะเป็นอย่างไรนั้นก็ติดตามได้จากบทความนี้
ชิพ 64 บิตหรือระบบ 64 บิตนั้น
แท้จริงแล้วใช้อะไรมาเป็นมาตรฐานในกางกล่าวเช่นนั้น
เราคงต้องมาพูดเรื่องนี้กันหน่อยผู้เขียนเชื่อแน่ว่ายังมีอีกหลายท่านยังไม่ทราบที่มา
แล้วเข้าใจผิดว่าดูที่ขนาดดาต้าบัสบ้างหรือดูที่ขนาดแอดเดรสบัสบ้าง
ซึ่งยังไม่ถูกต้องเสมอไป เพราะขนาดดังกล่าวอาจจะมากกว่าหรือน้อยกว่าขนาดชิพจริง
ๆ ก็ได้ แล้วแต่การออำแบบมาใช้งาน
ขนาดชิพจะต้องดูดจากขนาดรีจิสเตอร์จำนวนเต็ม
(integerregister) เท่านั้น
ยกตัวอย่างเช่น ในชิพ
8088 ซึ่งมีรีจิสเตอร์ขนาด 16 บิต แต่มีขนาดดาต้าบัสเป็ฯ
8 บิต และมีขนาดแดเดรสบัสเป็น 20 บิต ส่วนชิพ
8086 ซึ่งมีสถาปัตยกรรมเดียวกับ 8088 ทุกอย่าง ยกเว้นเพียงดาต้าบัสมีขนาด
16 บิต (ซึ่งถ้าเป็นปัจจุบันนี้อินเทลคงจะเรียกชิพ
8088 ว่า 8086sx ดังเช่นที่เรียกชิพ 386sx ซึ่งมีขนาด
ดาต้าบัสแค่ 16 บิต และอย่าง 386dx ก็มีขนาดดาต้าบัสเป็น
24 บิต ขณะที่ 386 แท้แล้วขนาดบัสจะเป็ฯ 32 บิต
จริง
ถ้าเป็นของมอโนโรลาคือ
ไมโครโปรเซสเซอร์ตระกูล 680x0 ซึ่งมีขนาดรีจิสเตอร์
32 บิต แต่เพียง 68020,68030 และ68040 เท่านั้นที่มีขนาดดาต้าบัสและแอดเดรสบัสเท่ากันคือ
32 บิต ส่วน 6800 มีขนาดดาต้าบัสเป็น 64 บิตและแอดเดรสบัสเป็น
24 บิต สรุปก็คือ "ขนาดของชิพใด ๆ จะใช้มาตรฐานตามขนาดรีจิสเตอร์ระบุเท่านั้น"
เมื่อพิจารณาตามโครงสร้างทางด้านสถาปัตยกรรม
จะสามารถแยกลักษณะของซีพียูได้ 2 แบบด้วยกันคือ
Intruction Set Architecture (ISA) และแบบ Harware Implementation แบบ ISA
หรือ สถาปัตยกรรมด้านชุดคำสั่ง จะเป็นแบบที่มองเห็นในระดับซอฟต์แวร์จากภาษาชั่นต่ำ
เช่น ภาษาแดสเซมบลีที่สามารถกระทำกับรีจิสแตอร์และแอดเดรสได้
ส่วนระดับอาร์ดแวร์จะมองทางด้านฟิสิคัลแอดเดรสและทางด้านดาต้าบัส
CPU CHARACTERISTICS |
|
|
|
ISA characteristics |
Hardware Implementation |
CPU |
Year |
Size |
Innteger |
Generated |
Physical |
Data |
|
released |
Called |
register size |
user address size |
address size |
bus size |
|
|
|
(R) |
(V) |
(A) |
(D) |
DED PDP-11/45 |
1973 |
16 |
16 |
16* |
18 |
32 |
DEC PDP-11/70 |
1976 |
16 |
16 |
16* |
22 |
32 |
DEC VAX-11/780 |
1978 |
32 |
32 |
31 |
32 |
64 |
IMB S/360 |
1964 |
32 |
32 |
24 |
24 |
8-128 |
IBM S/370XA |
1983 |
32 |
32 |
31 |
32 |
128 |
IBM ESA/370 |
1988 |
32 |
32 |
31* |
32 |
128 |
IBM RISC System/6000 |
1990 |
323 |
32 |
32* |
32 |
64-128 |
HP Precision |
1986 |
32 |
32 |
32* |
32 |
32-64 |
Intel 386DX |
1985 |
32 |
32 |
32* |
32 |
32 |
Intel 386SX |
1987 |
32 |
32 |
32* |
24 |
16 |
Intel 860 |
1989 |
64 |
32 |
32 |
32 |
64 |
Intel 486DX |
1989 |
32 |
32 |
32* |
32 |
32 |
Intel 486SX |
1991 |
32 |
32 |
32* |
32 |
32 |
Mips R2000 |
1986 |
32 |
32 |
31 |
32 |
32 |
Mips R4000 |
1990 |
64 |
64 |
40-62 |
36 |
64 |
Motorola 68000 |
1980 |
32 |
32 |
24 |
24 |
16 |
Motorola 68020 |
1985 |
32 |
32 |
32 |
32 |
32 |
Motorola 68030 |
1987 |
32 |
32 |
32 |
32 |
32 |
Motorola 68040 |
1990 |
32 |
32 |
32 |
32 |
32 |
Sun SPARC |
1987 |
32 |
32 |
32 |
36 |
32-64 |
ตารางที่ 1 ตารางเปรียบเทียบซีพียู
ดังตารางที่ 1 สถาปัตยกรรมของซีพียูด้าน
ISA จะมองเห็นขนาดรีจิสเตอร์จำนวนเต็มมีขนาดกว้าง
R บิตและมองเห็นแอดเดรสมีขนาดกว้าง
V บิต เมื่อจะทำการโปรแกรมซึ่ง V ก็คือ เวอร์ชวลแอดเดรสหรือแอดเดรสเสมือน
ซึ่งสามารถถูกเยนเนอร์เรตได้ 2 แบบ คือ
1. โดยการใช้รีจิสเตอร์อ้างโดยตรงเลย
ซึ่งก็จะอ้างขนาดแอดเดรสได้น้อยกว่าหรือเท่ากับ
R
2. โดยการแบ่งส่วนเป็นส่วนเซกเมนต์รีจิสเตอร์และส่วนออปเซตเมื่อนำทั้ง
2 ส่วนมารวมกันจึงได้เป็นเวอร์ชวลแอดเดรส
ซึ่งวิธีนี้ก็ทำเพื่อขยายความสามารถในการอ้างแอดเดรสให้มากกว่า
R นั่งเอง
หลังจากได้เวอร์ชวลเมมโมรีแล้วก็จะต้องผ่านส่วนจัดการเมมโมรี(memory
menagement)เสียก่อน จึงเป็นระดับฮาร์ดแวร์ต่อไป
โดยจะเป็นฟิสิคัลแอดเดรสที่มีขนาด
A ในการที่จะอ้างอิงหน่วยความจำจริง ๆ
ได้ และการอ้างอิงหน่วยความจำแต่ละครั้งจะมีการส่งผ่านข้อมูลกันคราวละ
D บิต ขนาดที่ว่านี้ก็คือขนาดของดาต้าบัสนั่นเอง
ดังรูปที่ 1
รูปที่ 1 ขนาดของดาต้าเบส
เมื่อเพิ่มขนาดรีจิสเตอร์ประสิทธิภาพก็เพิ่ม |
ถ้าเราเพิ่มขนาดรีจิสเตอร์เป็น
64 บิต ก็จะทำให้โปรแกรมที่มีลักษณะต่อไปนั้มีประสิทธิภาพเพิ่มขึ้นอีกมาก
- ใช้สตริงที่มีความยาวกมาก
ๆ โปรแกรมบางโปรแกรมสามารถเพิ่มประสิทธิภาพได้ถึง
2 เท่าที่เดียว หากเปลี่ยนจากระบบ 32 บิตมาใช้ระบบ
64 บิต เพราะจะทำให้ระบบปฏิบัติการใช้เวลาน้อยลง10
ถึง20 เปอร์เซ็นต์ในการที่จะเคลียร์ค่าในหน่วยความจำหรือเมื่อทำการก็อบปี้กลุ่มข้อมูลขนาดใหญ่
และทำให้ความแตกต่างระหว่าง ซีพียูกับ I/O
ดีไวซ์สามารถลดลงได้เมื่อทำให้ข้อมูลเล็กลงโดยทำการย่อยขนาด
(compression) เสียก่อน แล้วจึงจัดเก็บและทำการขยาย
(decompression) ก่อนที่จะนำข้อมูลไปใช้ วิธีการย่อและขยายข้อมูลนี้ต้องจัดการกับข้อมูลขนาดใหญ่
ถ้าเราใช้ระบบ 64 บิต ก็จะทำได้อย่างรวดเร็วมากขึ้น
- เป็นกราฟิก โปรแกรมทางด้านกราฟิก
นอกจากจะมีการคำนวณมากมายอยู่แล้ว โดยเฉพาะจอมอนิเตอร์แบบสีที่มีความละเอียดสูง
ๆ ถ้าเราสามารถเพิ่มความเร็วทางด้านนี้ให้สูงยิ่งขึ้น
โดยที่ไม่ต้องใช้ชิพที่ช่วยงานด้านกราฟิก(graphic
support chips) ก็โดยการเพิ่มเป็นระบบ 64 บิต เพราะมันจะทำให้การทำ
scroll การฟิวแอเรียและอื่นๆ ที่ต้องอาศัยพื้นที่ว่างขนาดใหญ่เพื่อกระทำการดังกล่าว
สามารถทำได้อย่างสบาย ๆ ซึ่งวิธีการเพิ่มเป็น
64 บิต นี้จะเพิ่มประสิทธิภาพได้ถึง2 เท่าของแบบ
32 บิต และเมื่อเทียบกันทางด้านประสิทธิภาพต่อราคาแล้วยังถูกว้าแบบซื้อชิพช่วยอีกด้วย
- มีการคำนวณสูง แม้ว่าชิพส่วนใหญ่สามารถที่จะทำการบวก
ลบเลขจำนวนเต็มแบบความละเอียดสูง ๆ ได้ เช่น
การบวกแบบ 64 บิต 96 บิต หรือ 128 บิตได้อย่างรวดเร็วก็ตามแต่ถ้าเป็นการคูณและหารขนาดความละเอียดสูง
ๆ ดังกล่าวจะทำช้ามาก ๆดังเช่นการทำการเข้ารหัสข้อมูล(Cryptography)
ซึ่งต้องมีการคำนวณการคูณการหารกับตัวเลขขนาดใหญ่
ๆ การคำนวณด้านการเงินการคลังระดับประเทศซึ่รีจิสเตอร์ขนาด
32 บิตก็อาจจะไม่สามารถเก็บจำนวนเงินขนาดนี้ได้
ต้องใช้รีจิสเตอร์ขนาด 64 บิตจึงจะพียงพอ
จากที่กล่าวไปตอนต้นถึงเหตุผลที่จะต้องเพิ่มขนาดรีจิสเตอร์เป็น
64 บิต ก็ยังมีอีกเหตุผลหนึ่งที่น่าสนับสนุนนั่นก็คือเรื่องเมมโมรี
ถ้าเราเพิ่มเป็นระบบ 64 บิตก็จะทำให้การอ้างแอดเดรสในเมมโมรีมากขึ้นกว่าเดิมอีกมากมาย
จากที่ได้กล่าวไปเมื่อตอนต้นถึงเรื่องเวอร์ชวลเมมโมรีและฟิสิคัลเมมโมรีไปแล้ว
จะพบว่าขนาดเมมโมรีที่โปรแกรมหรือซอฟต์แวร์จะเห็นได้นั้นก็ขึ้นกับขนาดของเวอร์ชวลเมมโมรีนั่นเอง
ดังนั่นในระบบคอมพิวเตอร์ส่วนใหญ่จะออกแบบให้ขนาดสูงสุดของเวอร์ชววลเมนโมรีมากกว่าขยาดของฟิสิคัลเมมมโมรี
และหาผู้ใช้ต้องการที่เพ่มิประสิทธิภาพก็ทำได้โดยการเพิ่มขนาดฟิสิคับเมมโมรีไปภายหลัง
แต่การเพิ่มก็จำกัดเพียงขนาดสูงสุดของเวอร์ชวนเมมโมรีเท่านั้น
นั่นก็คือหากยังขืนเพิ่มฟิสิคัลเมมโมรีต่อไปอีก
มันก็ไม่มีประโยชน์อะไรแล้ว เพราะซอฟต์แวร์จะใช้ประโยชน์จากส่วนที่เกินไปกว่าขนาดของเวอร์ชวลเมมโมรีไม่ได้
ยุดวิกฤตของ 32 บิต
รูปที่ 2 เปรียบเทียบเมมโมรีเพิ่มขึ้นทุก
ๆ 2 ปี
จากรูปที่ 2 ซึ่งเป็นการศึกษาเรื่องเมมโมรีที่เพิ่มขึ้นในทุก
ๆ 2 ปี พร้อมกับได้ทำการทำนายว่าขนาดของเวอร์ชวลเมมโมรี
ที่ด้างได้ 32 บิต จะถึงจุดที่เริ่มวิกฤตคือ
ไม่เพียงพอสำหรับซอฟต์แวร์ใหญ่ ๆ โดยข้อมูลนี้นำมาจาก
"Mips Computer System " และ "Sun Microsysttem" มาศึกษาและวาดเป็นกราฟใช้สเกลแบบลอการิทึม
ซึ่งพบว่าอัตราการเพิ่มของเมมโมรีจะเป็นเส่นตรงในอัตรา
2 บิตทุก ๆ 3 ปี เส้นกราฟด้านบนแสดงถึงขนาดสูงสุดของฟิสิคัลเมโมรี
ส่วนกราฟเส้นล่างแสดงขนาดของฟิสิคับเมมโมรี
ซึ่งเป็น 50 เปอร์เซ็นต์ หรือครึ่งหนึ่งของขนาดที่มักจะถูกจำหน่ายจากผู้ขายทั่ว
ๆ ไป เมื่อพิจารณากราฟเส้นบนจะพบว่า ในราวปี
ค.ศ. 1991 จะเริ่มมีโปรแกรมที่ต้องการอ้างเมนโมรีถึง
32 บิตแล้ว และพอราวปี ค.ศ. 1993 หรือ ค.ศ. 1994 จะต้องการเมมโมรีสูงขึ้นไปอีก
จนเกิดวิกฤตกาลที่ไม่สามารถพัฒนาโปรแกรมให้มากขึ้นหรือใหญ่ขึ้นไปกว่านี้อีกแล้วเพราะหากขนาดฟิสิคัลเมมโมรีwbr>wbrbr>
32 บิต ไม่พัฒนาให้เป็นรุ่นถัดไปคือ 64 บิต
จากความจำเป็นที่ต้องเพิ่มเมมโมรีให้มากขึ้นกว่าการอ้างจาก
32 บิต ตามที่กล่าวมาแล้ว สามารถเพิ่มได้โดยยังคงขนาด
32 บิตไว้เช่นเดิม ต้องการแบ่งออกเป็น 2 ส่วน
คือเป็นเซกเมนต์และออปเซต หรือโดยการเพิ่ม
ขนาดรีวิจเตอร์เป็น 64 บิตไปเลย
ผู้อ่านจะสงสัยว่า
แล้วทำไมการเพิ่มขนาดรีจิสเตอร์ต้องเพิ่มเป็น
64 บิต จะเป็นขนาดอื่นเช่น 48 บิตได้หรือไม่
เพราะอาจเห็นว่าขนาด 64 บิตคงมากเกินความจำเป็นไปหน่อย
เหตุผลก็คือคือสถาปัตยกรรมของการอ้างแอดเดรสของภาษาชั้นต่ำที่สามารถเข้าถึงระดับรีจิสเตอร์
เช่น ภาษาแอสเซมบลี ภาษาซี เมื่อมีการอ้างถึงข้อมูลในแต่ละแอดเดรสหนึ่ง
ๆ จะมองข้อมูลเป็นเวิร์ด แต่ละเวิร์ดจะมีขนาด
8 บิต หรือ 1 ไบต์ และหากต้องการข้อมูลมากกว่า
1 เวิร์ดขนาดของมันต้องเพ่มิขึ้นคราวละ
2 เท่าเสมอ เช่นเป็น 16 บิต 32 บิต หรือ 64 บิต เป็นต้น นั่นก็คือ
ถ้าหากใช้ 48 บิต แล้วเราจะต้องทำให้การอ้างข้อมูลแต่ละแอดเดรสเป็น
6 บิต ซึ่งเป็นเรื่องที่ทำได้ค่อนข้างยากถ้าจะมองถึงขนาดดังกล่าวในระบบเลขฐาน
2 หรือฐาน 16 ที่ใช้ ๆ กันอยู่ แต่หากจะทำก็ได้แต่อาร์ดแวร์ที่จัดการส่วนนี้จะต้องช้าลงอย่างแน่นอน
และการเขียนโปรแกรมก็คงยิ่งยากขึ้นไปอีก
เพราะไม่สอดคล้องกับระบบฐานเลข
คราวนี้ก็ลองมาดูโปรแกรมหรือแอพพลิคเคชันด้านเหล่านี้ที่ต้องการขนาดเมมโมรีมาก
ๆ ที่ระบบ 32 บิตก็ยังไม่เพียงพอ หรือเพียงพอแต่ประสิทธิภาพยังต่ำกัน
- ด้านฐานข้อมูล ซึ่งระบบทางด้านฐานข้อมูลจำเป็นต้องเก็บข้อมูลมากมาย
โดยจัดการเก็บเป็นไฟล์ การที่จะแอ็กเซสข้อมูลที่เป็นไฟล์เหล่านี้ต้องการความเร็วสูงมาก
ประสิทธิภาพของระบบถึงดี จากการที่เรารู้
ๆ กันอยู่แล้วว่า ความเร็วของซีพียูนั้นเร็วกว่าพวกอุปกรณ์ภายนอก(external
device)ทั้งหลายมาก ๆ เช่น หน่วยความจำดิสค์ เครื่องพิมพ์
ดังนั้นแม้ซีพียูจะรวดเร็วและมีประสิทธิภาพเพียงใดก็ยังใช้ประโยชน์ได้ไม่เต็มประสิทธิภาพ
หรือเกิด Boltle neck หรือคอขวดซึ่งเป็นจุดอ่อนของระบบ
เพราะต้องเกิดภาวะรอคอยอุปกรณ์เหล่านี้เสมอ
ๆ ดังนั้นในระบบปฏิบัติการที่ดี ๆ จะใช้วิธีทำไฟล์แม็พปิง
กล่าวคือ นำไฟทั้งหมดไปแม๊พไว้กับเวอร์ชวลเมมโมรีทำให้การแอ็กเซสทำห้ดอย่างรวดเร็วขึ้นและมีการกันwbr>wbr>wbr>br>wทำการแคชเมมโมรี ซึ่งเป็นการหลีกเลี่ยงการอ่านและเขียนดิสค์บ่อย
ๆ โดยจะแอ็กเซสเมื่อม่ความจำเป็นเท่านั้น
ดังนั้นถ้าหากขนาดดิสค์ใหญ่มาก ๆ ก็เก็บไฟล์ได้มาก
ด้วยเหตุนี้ระบบฐานข้อมูลจึงต้องการเมมโมรีสูงมาก
- วีดีโอ ในการทำงานด้ารมัลติมีเดีย
จำเป็นต้องใช้วิดีโอเพื่อแสดงภาพสำหรับภาพวิดีโอในแต่
ละเฟรมจะต้องใช้ขนาดถึง 3.75 เมกิไบต์
จากข้อมูลภาพที่มีความละเอียด 1280x1024 จุด
และแต่ละจุดสามารถอ้างอิงสีถึง 24 บิต และการแสดงภาพของวิดีโอต้องใช้ถึง
24 เฟรม ภายในเวลา1 วินาที ซึ่งถ้าระบบคอมพิวเตอร์เป็นแบบ
32 บิต มีขนาดหน่วยความจำ 4 จิกะไบต์ก็ใช้เก็บอิมเมจ
เหล่านี้ได้ 160 เพจ
- CAD แอพพลิเคชันทางด้าน
CAD(Computer Aided Design) ซึ่งใช้ออกแบบโครงสร้างต่างๆ
เมื่อนำมาใช้ในระบบเน็ตเวร์กขนาดใหญ่
ๆ ซึ่งต้องการขนาดหน่วยความจำมากมายเพื่อให้เซอร์ฟเวอร์ใช่ในการเก็บข้อมูลและก็จะมีเครื่องเดสค์ท้อป
ที่จะขอให้บริการจากเซอร์ฟเวอร์เพื่อใช้ข้อมูลจากฐานข้อมูลเซอร์ฟเวอร์มาทำงานด้านซิมูเลชัน
หรืองานจำลอง
- GIS (Geographic Information) เป็นระบบที่รวมเอาทั้งแผนที่
อิมเมจ และข้อมูลจำนวนมาก เข้าไว้ในระบบเดียวกัน
ก็จำเป็นต้องใช้หน่วยความจำ ขนาดมหาศาลเพื่อเพิ่มประสิทธิภาพให้กับมัน
- การจัดการด้าน Number
crunching ซึ่งต้องใช้กับตัวเลขที่มีขนาดใหญ่และมีการคำนวณมากกมาย
ซับซ้อนสูง ซึ่งโปรแกรมลักษณะดังกล่าวนั้นต้องการหน่วยความจำมากมาย
เพื่อเก็บและคำนวณตัวเลขเหล่านี้ เรียกว่า
ยิ่งมากยิ่งดีทีเดียว
ผู้อ่านคงจะเห็นข้อดีของระบบคอมพิวเตอร์แบบ
64 บิต ตามที่ผู้เขียนได้ให้เหตุผลไปในหลาย
ๆ แง่กันบ้างแล้วนะครับ แล้วก็โปรดเตรียมตัวเตรียมใจกันได้แล้ว
เพราะมันกำลังจะมาแทนระบบ32 บิต ที่ใช้
ๆ กันในปัจจุบันนี้ ผู้เขียนก็ยอมรับครับว่าขนาด
64 บิต มันใหญ่มหาศาลจริง ๆ และก็คงต้องยอมรับอีกเช่นกันว่า
เมื่อถึงเวลานั้นแล้วมันอาจจะไม่พออีก็ได้
เพราะความต้องการของคนเราไม่มีขีดกำจัด
อย่างเมื่อก่อนที่ไอบีเอ็มออกไมโครคอมพิวเตอร์เอกซ์ทีมาใหม่
ๆ มีหน่วยความจำ 640 กิโลไบต์ ก็คุยได้แล้วว่าเหลือเฟือแล้วเดี๋ยวนี้เป็นไงครับ
พวกแอพพลิเคชัน ที่ออกมาใหม่ ๆ ตอนนี้ที่มีความสามารถสูง
ๆ ขนาดหน่วยความจำ 640 เค เรียกว่าไม่ต้องคุยกันแล้วมันดูเล็กไปเลยด้วยซ้ำ
ท้ายนี้ผู้เขียนหวังว่าบทความชุดนี้คงทำให้ผู้อ่านเห็นความสำคัญของ
ระบบ 64 บิต ที่กำลังเป็น เทคโนโยลีทางด้านชิพ
ที่กำลังก้าวมาใหม่นี้นะครับ.....
หน้าแรก