ไมโครโปรเซสเซอร์64บิด

รูปภาพของ stn39397

ไมโครโปรเซสเซอร์ 64 บิต

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

อะไรคือขนาดของชีพ

ชิพ 64 บิตหรือระบบ 64 บิตนั้น แท้จริงแล้วใช้อะไรมาเป็นมาตรฐานในกางกล่าวเช่นนั้น เราคงต้องมาพูดเรื่องนี้กันหน่อยผู้เขียนเชื่อแน่ว่ายังมีอีกหลายท่านยังไม่ทราบที่มา แล้วเข้าใจผิดว่าดูที่ขนาดดาต้าบัสบ้างหรือดูที่ขนาดแอดเดรสบัสบ้าง ซึ่งยังไม่ถูกต้องเสมอไป เพราะขนาดดังกล่าวอาจจะมากกว่าหรือน้อยกว่าขนาดชิพจริง ๆ ก็ได้ แล้วแต่การออำแบบมาใช้งาน ขนาดชิพจะต้องดูดจากขนาดรีจิสเตอร์จำนวนเต็ม (integerregister) เท่านั้นยกตัวอย่างเช่น ในชิพ 8088 ซึ่งมีรีจิสเตอร์ขนาด 16 บิต แต่มีขนาดดาต้าบัสเป็ฯ 8 บิต และมีขนาดแดเดรสบัสเป็น 20 บิต ส่วนชิพ 8086 ซึ่งมีสถาปัตยกรรมเดียวกับ 8088 ทุกอย่าง ยกเว้นเพียงดาต้าบัสมีขนาด 16 บิต (ซึ่งถ้าเป็นปัจจุบันนี้อินเทลคงจะเรียกชิพ 8088 ว่า 8086sx ดังเช่นที่เรียกชิพ 386sx ซึ่งมีขนาด ดาต้าบัสแค่ 16 บิต และอย่าง 386dx ก็มีขนาดดาต้าบัสเป็น 24 บิต ขณะที่ 386 แท้แล้วขนาดบัสจะเป็ฯ 32 บิต จริงถ้าเป็นของมอโนโรลาคือ ไมโครโปรเซสเซอร์ตระกูล 680×0 ซึ่งมีขนาดรีจิสเตอร์ 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. โดยการใช้รีจิสเตอร์อ้างโดยตรงเลย ซึ่งก็จะอ้างขนาดแอดเดรสได้น้อยกว่าหรือเท่ากับ R2. โดยการแบ่งส่วนเป็นส่วนเซกเมนต์รีจิสเตอร์และส่วนออปเซตเมื่อนำทั้ง 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>wbr<wbr> 32 บิต ไม่พัฒนาให้เป็นรุ่นถัดไปคือ 64 บิต

ทำไมต้อง 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>w<wbr>br>w<wทำการแคชเมมโมรี ซึ่งเป็นการหลีกเลี่ยงการอ่านและเขียนดิสค์บ่อย ๆ โดยจะแอ็กเซสเมื่อม่ความจำเป็นเท่านั้น ดังนั้นถ้าหากขนาดดิสค์ใหญ่มาก ๆ ก็เก็บไฟล์ได้มาก ด้วยเหตุนี้ระบบฐานข้อมูลจึงต้องการเมมโมรีสูงมาก- วีดีโอ ในการทำงานด้ารมัลติมีเดีย จำเป็นต้องใช้วิดีโอเพื่อแสดงภาพสำหรับภาพวิดีโอในแต่ ละเฟรมจะต้องใช้ขนาดถึง 3.75 เมกิไบต์ จากข้อมูลภาพที่มีความละเอียด 1280×1024 จุด และแต่ละจุดสามารถอ้างอิงสีถึง 24 บิต และการแสดงภาพของวิดีโอต้องใช้ถึง 24 เฟรม ภายในเวลา1 วินาที ซึ่งถ้าระบบคอมพิวเตอร์เป็นแบบ 32 บิต มีขนาดหน่วยความจำ 4 จิกะไบต์ก็ใช้เก็บอิมเมจ เหล่านี้ได้ 160 เพจ- CAD แอพพลิเคชันทางด้าน CAD(Computer Aided Design) ซึ่งใช้ออกแบบโครงสร้างต่างๆ เมื่อนำมาใช้ในระบบเน็ตเวร์กขนาดใหญ่ ๆ ซึ่งต้องการขนาดหน่วยความจำมากมายเพื่อให้เซอร์ฟเวอร์ใช่ในการเก็บข้อมูลและก็จะมีเครื่องเดสค์ท้อป ที่จะขอให้บริการจากเซอร์ฟเวอร์เพื่อใช้ข้อมูลจากฐานข้อมูลเซอร์ฟเวอร์มาทำงานด้านซิมูเลชัน หรืองานจำลอง- GIS (Geographic Information) เป็นระบบที่รวมเอาทั้งแผนที่ อิมเมจ และข้อมูลจำนวนมาก เข้าไว้ในระบบเดียวกัน ก็จำเป็นต้องใช้หน่วยความจำ ขนาดมหาศาลเพื่อเพิ่มประสิทธิภาพให้กับมัน- การจัดการด้าน Number crunching ซึ่งต้องใช้กับตัวเลขที่มีขนาดใหญ่และมีการคำนวณมากกมาย ซับซ้อนสูง ซึ่งโปรแกรมลักษณะดังกล่าวนั้นต้องการหน่วยความจำมากมาย เพื่อเก็บและคำนวณตัวเลขเหล่านี้ เรียกว่า ยิ่งมากยิ่งดีทีเดียว

มหาวิทยาลัยศรีปทุม ผู้ใหญ่ใจดี
 

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

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

ด่วน...... ขณะนี้
พระราชบัญญัติลิขสิทธิ์ (ฉบับที่ 2) พ.ศ. 2558 
มีผลบังคับใช้แล้ว 
ขอให้นักเรียนและคุณครูที่ใช้งาน
เว็บ thaigoodview ในการส่งการบ้าน
ระมัดระวังการละเมิดลิขสิทธิ์ด้วย
อ่านรายละเอียดที่นี่ครับ

 

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 20 คน กำลังออนไลน์