วิวัฒนาการของ INTEL CPU
รุ่น 8080


ในปี ค.ศ. 1974 Intel ผลิต 8080 เป็น microprocessor แบบ 8 บิทออกจำหน่าย ประกอบด้วย ทรานซิสเตอร์ ประมาณ 6,000 ตัว ใช้สัญญาณนาฬิกาที่ความถี่ 2 MHz Ed Roberts เจ้าของบริษัท Micro Instrumentation Telemetry systems ได้จัดชุดคิท (ผู้ซื้อประกอบเอง) เครื่องคอมพิวเตอร์ โดยใช้ 8080 และลงโฆษณาในวารสาร Popular Electronic โดยมีราคา $397 ใช้ชื่อว่า Altair มีการสั่งซื้อเป็นหลายพันเครื่อง ทั้งที่เครื่องต้องโปรแกรม ด้วย สวิตช์ และแสดงผลทาง LED เท่านั้น ถือเป็น ไมโครคอมพิวเตอร์เครื่องแรกๆ

รุ่น 8086
ในปี ค.ศ. 1978 บริษัท Intel ได้ผลิต 8086-8088 Microprocessor ออกสู่ตลาด เป็น microprocessor ขนาด 8 บิทโดยบริษัท IBM นำมาใช้กับเครื่อง PC ในตระกูล IBM PC หรือที่รู้จักกันในนาม XT และ CPU ตัวนี้ก็เป็นต้นแบบของ CPU ในสถาปัตยกรรม X86 ที่ Intel หรือแม้บริษัทอื่น นำมาผลิต CPU ที่ใช้กับเครื่อง PC จนถึงปัจจุบันนี้ (ยกเว้นก็แต่ตัว Intel เอง ซึ่งผลิต CPU ขนาด 64 บิต ที่ไม่ใช้สถาปัตยกรรม X86) 8088, 8086 เป็น CPU ที่ประมวลผลทีละ 8 บิต มีชุดคำสั่ง 76 คำสั่ง ระบบปฏิบัติการที่สนับสนุน CPU ตัวนี้ก็คือ DOS อันเลื่องชื่อของไมโครซอฟท์ นั้นเอง


รุ่น 8088
ในปี ค.ศ. 1980 บริษัท IBM เห็นว่า ตลาดของคอมพิวเตอร์ส่วนบุคคลเป็นตลาดใหญ่ จึงสร้างเครื่อง IBM PC ออกขาย ในปีค.ศ. 1981 ทำให้มีการนำเอาคอมพิวเตอร์ส่วนบุคคลมาใช้ในทางธุรกิจมากขึ้น IBM ได้ซื้อระบบปฏิบัตการ MSDOS และ ภาษา Basic จาก Microsoft เครื่อง IBM PC ใช้ Intel 8088 microprocessor เป็น microprocessor ขนาด 16 บิท หน่วยความจำ 64Kbyte floppy disk drive ขนาด160K ราคาเริ่มต้นที่ $1,565 – $2,880 IBM ขายได้ กว่า 13,500 เครื่อง ใน 4 เดือนแรก และต้องมีการจอง เนื่องจาก IBM ผลิตไม่ทั้ง

รุ่น 80286
ในปี ค.ศ. 1982 บริษัท Intel เริ่มผลิต 80286 microprocessor ในช่วงเวลา 6 ปีของการผลิต มีเครื่อง PC ประมาณ 15 ล้านเครื่อง ที่ใช้ CPU ตัวนี้ทั่วโลก โดย 80286 สามารถทำงานกับโปรแกรมที่เขียนให้กับ 8088 ได้
ยุคเริ่มต้น CPU ขนาด 16 บิตเริ่มจาก CPU ตัวนี้ โดยมีโหมดการทำงานอยู่ 2 โหมด คือ Standard mode และ Protected mode ( ระบบปฏิบัติการ Windows ที่ทำงานบนเครื่อง 286 จะทำงานใน Standard mode) มีการอ้างอิงตำแหน่งได้ 16Mbyte
รุ่น 80386
ในปี ค.ศ. 1985 บริษัท Intel ผลิต Intel386™ Microprocessor (80386) ออกจำหน่าย ภายในประกอบด้วย ทรานซิสเตอร์ กว่า 275,000 ตัว เป็น CPU เบอร์แรกที่ประมวลผลทีละ 32 บิต ทำให้สามารถจัดการหน่วยความจำได้ดีกว่า 80286 มาก แม้ว่า 80386 จะประมวลผลได้คราวละ 32 บิตก็ตาม แต่อุปกรณ์ต่างๆ ในเวลานั้นยังเป็นแบบ 16 บิตอยู่มาก Intel จึงได้ออกแบบ 80386SX ที่สามารถนำไปใช้กับเมนบอร์ดที่ออกแบบมาสำหรับ 80286 ได้ทันที นอกจากนี้ 80386SX ยังมีราคาถูกว่า 80386 อยู่มาก และเป็นรุ่นที่มีการใช้รูปแบบการทำงานเป็น Multitasking
รุ่น 80486
ความจริงก็คือ 80386 รุ่นปรับปรุงนั้นเองโดยได้เพิ่มตัวประมวลผลทางคณิตศาสตร์ (Math co-processor) เพิ่มหน่วยความจำ Cache ภายใน CPU ทำให้ 80486 ทำงานได้เร็วขึ้นอย่างเห็นได้ชัด และได้เพิ่มการทำงานที่เรียกว่าpipeliningเข้าไป แต่เนื่องจากว่า 80486 ที่มี math co-processor มีราคาค่อนข้างสูง Intel จึงได้ออก CPU 80486SX ซึ่ง ได้ถอด math co-processor ออก ( ตัว 80486 ที่มี math co-processor เรียกว่า 80486DX) ทำให้มีราคาถูกลง ตัว 80486 เองได้มีการปรับปรุงขึ้นมาอีกขั้นขึ้นการทำงานในลักษณะที่เรียกว่า Clock doubling คือ เป็นการเพิ่ม Speed ของ Clock ให้สูงขึ้น เช่น 80486DX/2 ทำงาน Clock speed 40/50/60 MHz 80486DX4 ทำงานที่ Clock speed 100 MHz เป็นต้น จากการที่ Clock speed สูงขึ้น บวกกับการที่ได้เพิ่มอุปกรณ์บางอย่างเช่น หน่วยความจำแคชที่มากขึ้น ทำให้ CPU รุ่นนี้ได้รับความนิยมอยู่เป็นเวลานาน และทำให้มีบริษัทอื่น นอกจาก Intel เริ่มเข้ามาผลิต CPU สำหรับ PC ออกมาแข่งขันกัน ได้แก่ Cylix และ AMD เป็นต้น โดยในรุ่น80486นี้ได้มีการเริ่มใช้ระบบที่เรียกว่า pipeliningในCPU

Pipelining



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


Pentium
เนื่องจากเริ่มมีบริษัทอื่นๆ ผลิต CPU สำหรับ PC ออกมาแข่งขันกับ Intel จึงทำให้ CPU รุ่นถัดมาของ Intel ไม่ใช้ชื่อเรียกเป็นหมายเลข ใช้เป็นชื่ออื่นแทน หลายท่านคงมีความเข้าใจ Pentium เป็น CPU ขนาด 64 บิต แต่จริงๆ แล้วไม่ใช่ เนื่องจาก Pentium จะออกแบบมาคล้ายๆ กับใช้ 80486 สองตัวทำงานคู่ขนานกัน ทำให้กลไกการทำงานทั้งภายในและนอกตัว CPU เป็น 64 บิตไปโดยปริยาย CPU ของค่ายอื่นที่ออกมาในช่วงนี้ ก็มี AMD K5, Cylix 6x86 ซึ่งได้มีการเพิ่มความสามารถที่เรียกว่า Superscalar

Superscalar
โปรเซสเซอร์ที่มีมาในอดีต จะใช้จักรกลของการคำนวณและจัดการกับคำสั่ง เพียงชุดเดียวเท่านั้น ถึงแม้ว่า โปรเซสเซอร์ดังกล่าว จะสามารถทำงานในระบบ Pipelining ก็ตาม ลักษณะนี้ตัวโปรเซสเซอร์จะสามารถสร้างผลลัพธ์ ต่อหนึ่งชุดคำสั่งที่ได้รับด้วยเวลา คิดเป็น Clock Cycle จำนวนหนึ่ง แต่ด้วยการเพิ่มชุดของจักรกลการคำนวณและการจัดการ เข้าไปหลายๆชุด จะทำให้โปรเซสเซอร์สามารถจัดการกับคำสั่ง ได้มากกว่า 1 คำสั่งขึ้นไป ต่อหนึ่ง Clock Cycle ด้วยวิธีการ เช่นนี้ ทำให้โปรเซสเซอร์ Pentium ที่ถูกจัดว่า เป็นสถาปัตยกรรมแบบ Superscalar สามารถจัดการกับคำสั่ง ได้ถึง 2 คำสั่งภายในหนึ่งลูกคลื่นสัญญาณนาฬิกาเท่านั้น ซึ่งผิดกับ 80486 CPU ที่จะต้องใช้เวลาถึง 2 ลูกคลื่นสัญญาณนาฬิกา เพียงเพื่อจัดการกับ 1 คำสั่งเท่านั้น

Pentium PRO
เป็นรุ่นที่พัฒนาต่อจากPentium ซึ่งได้มีการเพิ่มประสิทธิภาพของ Superscalar ให้ดีขึ้นและได้มีการเปลี่ยนชื่อของRegister และที่สำคัญที่สุดคือการเพิ่มเทคโนโลยี Dynamic Executionซึ่งประกอบไปด้วย
- branch prediction
- data flow analysis
- speculative execution

Branch Prediction
เป็นวิธีการทำนายการไหลของโปรแกรมโดยการใช้ Branches หลายแขนง ( ในบางครั้งก็มีความเป็นไปได้ที่จะพยากรณ์แอดเดรสเป้าหมายของ Branch เงื่อนไข โดยอาศัยลักษณะพิเศษของการ Execute คำสั่ง ตัวอย่าง เช่น แอดเดรสเป้าหมาย ของ Branch Instruction ที่ควบคุม การทำงานลักษณะย้ำแบบ Loop นั้น หากคล้ายกับแอดเดรสของคำสั่งแรกใน Loop ก็จะทำการดึงออกมาใช้งานพร้อมกันแบบ Pipeline ได้ทันที) ซึ่งการใช้กรรมวิธี Multiple Branch จะช่วยให้การทำนายตำแหน่งของข้อมูลคำสั่งที่จะเข้าไปดึงออกมาได้รวดเร็วยิ่งขึ้น โดยสามารถพยากรณ์ได้ว่า คำสั่งต่อไปที่โปรเซสเซอร์ต้องการจะนำมาจัดการนั้น อยู่ ณ ที่ใดของหน่วยความจำ ด้วยประสิทธิภาพสูงถึง 90% ซึ่งสามารถทำได้ เนื่องจากขณะที่โปรเซสเซอร์กำลัง ดึงคำสั่งจากหน่วยความจำอยู่นั้น มันจะมองคำสั่งชุดต่อไป จากโปรแกรมแบบล่วงหน้า ซึ่งลักษณะนี้จะช่วยให้เกิดการเร่งการไหลของงานสู่โปรเซสเซอร์ ได้อย่างมีประสิทธิภาพมากยิ่งขึ้น

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

Speculative Execution
เป็นวิธีการรเพิ่มอัตราของการ Execution หรือการจัดการกับคำสั่งที่มีประสิทธิภาพ โดยใช้หลักการมองไปข้างหน้าที่โปรแกรม เคาน์เตอร์ (Program Counter) โดยที่ Program Counter หรือ PC จะทำหน้าที่สร้างแอดเดรสที่ต้องการจะ Execute สำหรับรอบต่อไปของโปรเซสเซอร์ พูดง่ายๆก็คือ ขณะที่โปรเซสเซอร์กำลังจะปลดปล่อยแอดเดรสออกไปที่ปลายทางนั้น มันจะเตรียมการป้อนค่าแอดเดรสถัดไป ที่มันต้องการใช้ในโปรแกรม เคาน์เตอร์แบบล่วงหน้า ทำให้ประหยัดเวลา ไม่ต้องรอคอย และสามารถส่ง แอดเดรสไปยังเป้าหมายทีเดียวถึง 5 ตำแหน่งแอดเดรสในเวลาเดียวกัน ทำให้เกิดกระแสของข้อมูล และ แอดเดรสไปกลับระหว่างโปรเซสเซอร์ และเป้าหมายอย่างต่อเนื่อง Pentium MMX, AMD K63DNOW, Cylix 6X86MX คือ Pentium ที่เพิ่มความสามารถในเชิงมัลติมิเดีย ( MMX สำหรับ Pentium, 3DNOW สำหรับ AMD) และนอกจากนี้ยังได้เพิ่ม หน่วยความจำแคช Level 2 เข้ามาในตัว CPU มากน้อยแตกต่างกันในแต่ละค่าย ซึ่งได้มีการเพิ่มเทคโนโลยีใหม่ที่ชื่อว่า SIMD (Single Instruction Multiple Data ) เป็นเทคโนโลยีที่ทำให้คำสั่งเดี่ยวๆ เพียงคำสั่งหนึ่ง สามารถใช้กับข้อมูลได้หลายๆชุดพร้อมกัน ในเวลาเดียวกัน ซึ่งตรงนี้เป็นข้อดี ถ้าหากจะต้องเกี่ยวข้องกับการปฏิบัติงานแบบซ้ำๆกันบน ชุดของข้อมูลที่แตกต่างกัน ตัวอย่างของการทำงานประเภทนี้ ได้แก่การแปลงข้อมูลสำหรับการสร้างภาพที่มีด้านหลายๆด้าน (Polygon) ในทางคณิตศาสตร์ ให้เป็นภาพ Polygon แบบ 3D บนจอภาพ ซึ่งปกติกระบวนการนี้ จะต้องใช้การคำนวณทางคณิตศาสตร์ที่ค่อนข้างซับซ้อน

Pentium II
Celeron, PentiumII, Pentium III จะมีการเพิ่มส่วนขยาย MMX ออกไป ปรับสถาปัตยกรรมภายในใหม่ ทำให้มีการประมวลผลในเชิงจุดทศนิยมได้ละเอียดและถูกต้องมากขึ้น เพิ่มความสามารถในเชิง 3 มิติเข้าไป ส่วน Celeron จะมีคุณสมบัติอื่นๆ เหมือนกับ Pemtium เพียงแต่ตัด L2 ( หน่วยความจำแคช ระดับ 2) ออกไปให้น้อยกว่า หรือไม่มีเลยในบางรุ่น ส่วน CPU ของค่ายอื่นๆ ก็ปรับปรุงขึ้นเป็น AMD K6, AMD K7 ตามลำดับ นอกจากนี้ CPU ในตระกูลเหล่านี้ยังสามารถทำงานกับ Clock speed สูงๆ ได้ 600 - 700 MHz เลยที่เดียว (แล้วแต่รุ่นของ CPU)

Pentium
รุ่นแรกมีสถาปัตยกรรมแบบเดียวกับ Pentium แต่เพิ่มชุดคำสั่งที่ใช้ในการประมวลผล Multimedia เข้าไปที่เรียกว่า KNI หรือ MMX2 หรือ SSE (Steamming SIMD Extension) และมีการลดขนาด แคช จาก 512 KB เป็น 256 KB ทำงานที่ความเร็วเดียวกับ CPU โดยในปัจจุบัน Pentium III จะถูกแบ่งออกเป็นหลายรุ่นโดยจะมีรหัส E และ B ต่อท้าย โดย E มีความหมายว่าเป็น CPU ที่ใช้สถาปัตยกรรม 0.18 Micron ซึ่งจากเดิมจะเป็นแบบ 0.25 Micron ส่วน B มีความหมายว่า เป็น CPU ที่ใช้ Bus 133 MHz ซึ่ง CPU ในรุ่นนี้ยังได้มีการเปลี่ยนแปลงสถาปัตยกรรมบางอย่าง เพื่อเพิ่มประสิทธิภาพของ CPU ให้สูงขึ้นกว่าเดิม และใช้ Packet แบบ FCPGA

Pentium IV

Pentium 4 เป็น CPU รุ่นล้าสุดซึ่งสนับสนุนความเร็ว Bus ที่ 400 MHz และมีการเพิ่มชุดคำสั่งใหม่เข้าไปที่เรียกว่า SSE2 ซึ่งทำให้ประสิทธิภาพในการประมวลผล Multimedia ดีขึ้น
Itanium หรือ เดิมชื่อ Merced ซึ่งเป็น CPU สำหรับ Server หรือ Workstation Itanium นี้ มี Transistor อย่ 2.5 ล้านตัว บรรจุอยู่ใน Cartridge ซึ่งจะมีการรวมเอา Cache ระดับ 3 ขนาด 4 M เข้าไว้ด้วย แถมยังมีการนิยาม คุณสมบัติใหม่อีก คือ BSB หรือ Back-Side Bus ซึ่งจะทำให้ Cache ระดับ 3 นั้น สามารถทำงานด้วยความเร็วเท่าๆ กับ CPU ได้เลย แม้ว่าจะ ไม่ได้อยู่บนแผ่น Die เดียวกันกับ CPส่วน FSB หรือ Front-Side Bus นั้นจะใช้ระดับ 266 ล้าน Transfers per Second ซึ่งจะมากเป็นเท่าตัว ของ Bus 133 MHz on ซึ่งCPUรุ่นนี้ประมวลผลทีละ64 bit

SledgeHammer
SledgeHammer หรือมีชื่อเป็นทางการว่า Opteron ซึ่งจะเป็นซีพียูในระดับไฮเอนด์สำหรับเซิร์ฟเวอร์และเวิร์กสเตชั่นที่ต้องการความเร็วสูงเป็นพิเศษ SledgeHammer เป็น CPU 64 Bit แต่จะสนับสนุนการทำงานของ CPU มากกว่า 2 ตัวขึ้นไป
Sledgehammer มีรีจีสเตอร์สำหรับคำนวนเลขทศนิยม 16 ตัว มีรีจีสเตอร์สำหรับงานทั่วไป (General-purpose register GPR) 16 ตัว มีแคช L1 128KB L2 512 - 2MB เป็น CPU แบบ socket A ใช้ Mainboard ที่มี Clock Speed 266 MHz และออกแบบวงจรขนาด 0.13 ไมครอน และใช้การเชื่อมต่อโดยทองแดงในขบวนการผลิต



ข้อแตกต่างระหว่างDRAM กับ SRAM
DRAMต้องการการรีเฟรช (Refresh) เซลเก็บข้อมูลหรือการประจุไฟ (Charge) ในทุกๆ ช่วงมิลลิวินาที ในขณะที่SRAMไม่ต้องการการรีเฟรชเซลเก็บข้อมูล เนื่องจากมันทำงานบนทฤษฎีของการเคลื่อนที่ของกระแสไฟฟ้าซึ่งมีการเปลี่ยนแปลงใน 2 ทิศทาง ไม่เหมือนกับเซลเก็บข้อมูลซึ่งเป็นเพียงตัวเก็บประจุไฟฟ้าเท่านั้น โดยทั่วไป



SRAM มักจะถูกใช้เป็นหน่วยความจำแคช (Cache Memory) ซึ่งโปรเซสเซอร์สามารถเข้าถึงได้เร็วกว่า ในขณะที่ DRAM จะเก็บทุกๆบิตในเซลเก็บข้อมูล ซึ่งประกอบขึ้นด้วยกลุ่มตัวเก็บประจุ (คาปาซิเตอร์; Capacitor) และทรานซิสเตอร์ (Transistor) คาปาซิเตอร์จะสูญเสียประจุไฟฟ้าอย่างรวดเร็ว และนั่นเป็นเห็นเหตุผลว่า ทำไม DRAM จึงต้องการการรีชาร์ต

ซีพียูCPU

ความหมายเป็นคำที่ผู้ใช้คอมพิวเตอร์ต้องรู้จัก ย่อมาจาก Central Processing Unit แปลว่า ตัวประมวลผลกลาง หมายถึงส่วนสมองของเครื่องคอมพิวเตอร์นั่นเอง ประกอบด้วยหน่วย ความจำ หน่วคำนวณ และหน่วยควบคุม เมื่อพูดถึง "ซีพียู" ของไมโครคอมพิว เตอร์ มักจะหมายถึงชิป (chip) ที่ใช้ ว่าเป็นเบอร์ 80286

มาจากคำว่า Centrซีพียูสร้างเมื่อ 10-01-2007 โดย minkymonky ซีพียู (CPU) หรือ ไมโครโปรเซสเซอร์ (Microprocessor) นั้น ย่อมาจากคำว่าCentral Processing Unit ซึ่ง หมายความว่าเป็นหน่วยประมวลผลกลาง ซึ่งเปรียบเสมือนสมองของคอมพิวเตอร์ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา ถือเป็นหัวใจหลักในการประมวลผลของคอมพิวเตอร์ โดยพื้นฐานแล้วซีพียูทำหน้าที่ประมวลผลข้อมูลทางคณิตศาสตร์และข้อมูลเชิงตรรกะโดยมีกระบวนการพื้นฐานคือ อ่านชุดคำสั่ง (fetch) ซีพียู (CPU) หรือ ไมโครโปรเซสเซอร์ (Microprocessor) นั้น ย่อProcessing Unit ซึ่งหมายความว่าเป็นหน่วยประมวลผลกลาง ซึ่งเปรียบเสมือนสมองของคอมพิวเตอร์ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา ถือเป็นหัวใจหลักในการประมวลผลของคอมพิวเตอร์ โดยพื้นฐานแล้วซีพียูทำหน้าที่ประมวลผลข้อมูลทางคณิตศาสตร์และข้อมูลเชิงตรรกะโดยมีกระบวนการพื้นฐานคือ

อ่านชุดคำสั่ง (fetch)
ตีความชุดคำสั่ง
(decode)
ผลชุดคำสั่ง
(execute)
อ่านข้อมูลจากหน่วยความจำ
(memory)
เขียนข้อมูล/ส่งผลการประมวลกลับ (write back)



สถาปัตยกรรมของหน่วยประมวลผลกลาง ประกอบไปด้วย ส่วนควบคุมการประมวลผล (control unit) และ ส่วนประมวลผล (execution unit)
และจะเก็บข้อมูลระหว่างการคำนวน ไว้ในระบบเรจิสเตอร์


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


Bandwidth
เป็นคำที่ใช้วัดความเร็วในการส่งข้อมูลของอินเทอร์เน็ต ซึ่งโดยมากเรามักวัดความเร็วของการส่งข้อมูลเป็น bps (bit per second) , Mbp (bps*1000000) เช่น Bandwidth ของการใช้สายโทรศัพท์ในประเทศไทย เท่ากับ 14.4 Kbps,Bandwidth ของสายส่งข้อมูลของ KSC ที่ใช้ในการเชื่อมต่อกับอเมริกาเท่ากับ 2 Mbps เป็นต้น แต่ก่อนที่เราจะเข้าสู่บทความมารู้จักก่อนว่าอะไรคือ Bandwidth และ Latency

ความหมายBandwidth

คือ ความกว้างของช่องทางในการรับ-ส่งข้อมูล ส่วน Latency คือ เวลาที่ใช้ไปในการเข้าถึงข้อมูลของหน่วยความจำ เมื่อเรารู้ความหมายกันแล้วคราวนี้เรามารู้จักถึงหลักการต่างๆ ของ Bandwidth และ Latency ในการพิจารณาการรับ-ส่งข้อมูลบนระบบบัสหลายคนมักจะนึกถึง Bus Bandwidth (Bandwidth ก็คือความกว้างของเส้นทางในการส่งข้อมูล ที่เราสามารถเปรียบเทียบได้กับเลนถนน ยิ่งมีเลนกว้างเท่าไรรถยนต์ซึ่งเปรียบได้กับข้อมูลก็สามารถวิ่งได้สะดวกมากขึ้นเท่านั้น) ที่ใช้ในการรับ-ส่งข้อมูล ซึ่งพิจารณาจากข้อมูลที่รับ-ส่งบนระบบบัส Bus Bandwidth ด้วยปริมาณจำนวนข้อมูลของเลข single number (0 หรือ 1) ที่ระบบบัสสามารถรองรับได้ แต่ปริมาณข้อมูลของเลข single number อาจแปรผันได้ตามเวลา เราจึงพิจารณาการรับ-ส่งข้อมูลผ่านทาง Bus Bandwidth ด้วย Peak bandwidth Bus หรือ ความกว้างสูงสุดในการรับ-ส่งข้อมูลของบัส ซึ่งวัดด้วยจำนวนข้อมูลสูงสุดที่ รับ-ส่งกันระหว่างซีพียูและแรมภายในหนึ่งคาบเวล จากความเร็วสัญญาณนาฬิการะหว่างหน่วยความจำและซีพียูจากรูปที่ 1 ถ้าเรามาคำนวณหา Bandwidth ของบัสที่มีความเร็วสัญญาณนาฬิการะหว่างหน่วยความจำและซีพียู ที่สัญญาณนาฬิกา 100 เมกะเฮิรตซ์ โดยที่มีการรับ-ส่งข้อมูลจำนวน 8 ไบต์ในแต่ละหนึ่งรอบของสัญญาณนาฬิกา จะคำนวณออกมาได้ดังนี้ 8 bytes * 100MHz = 800 MB/s และถ้าหากเราคำนวณหา Bandwidth ของบัสที่มีความเร็วสัญญาณนาฬิการะหว่างหน่วยความจำและซีพียูที่ 133 เมกะเฮิรตซ์ โดยที่มีการรับ-ส่งข้อมูลจำนวน 8 ไบต์ในแต่ละหนึ่งรอบสัญญาณนาฬิกา จะคำนวณออกมาได้ดังนี้ 8 bytes * 133MHz = 1064 MB/s ซึ่งตัวเลข Bandwidth ที่ได้นี้เป็นพียงตัวเลขทางทฤษฎีที่บอกถึงปริมาณของข้อมูลที่เข้าสู่ซีพียูในแต่ละวินาที

ในความเป็นจริง Bandwidth ของระบบจริงอาจมีค่าน้อยกว่าที่คำนวณเพียงเล็กน้อย Bandwidth ในทางปฏิบัติ ระบบบัสที่ผ่านมาจะมีลักษณะการส่งผ่านข้อมูลแบบทางเดียว จึงทำให้ไม่สามารถรับและส่งข้อมูลในเวลาเดียวกัน จึงต้องผลัดกันส่งและรับข้อมูลทำให้ความเร็วในการส่งผ่านข้อมูลช้า เปรียบเทียบระบบบัสได้กับการสื่อสารผ่านทางวิทยุรับส่งโดยที่อีกฝ่ายหนึ่งเป็นฝ่ายพูดอีกฝ่ายจะต้องเป็นผู้รับฟัง เนื่องจากต้องผลัดกันรับส่งข้อมูลดังนั้นเมื่อซีพียูต้องการร้องข้อมูลจากหน่วยความจำหลัก (RAM) ซีพียูจะต้องร้องขอผ่านทาง Bus Control จากนั้น Bus Control จะร้องขอข้อมูลมาที่หน่วยความจำหลัก (RAM) เมื่อค้นหาข้อมูลที่ซีพียูต้องการได้แล้ว หน่วยความจำหลักจะส่งต่อข้อมูลให้ Bus Control กลับไปให้ซีพียู โดยทั้งหมดนี้กระทำบนบัสเดียวกัน ถ้าพิจารณาเวลาที่สูญเสียไปจากการร้องขอข้อมูลจาก Bus Control และที่ต้องเสียเวลารอหน่วยความจำหลักค้นหาข้อมูลที่ซีพียูต้องการแล้วจึงส่งข้อมูลที่ต้องการกลับไปสู่ Bus Control และส่งกลับไปสู่ซีพียูได้ ซึ่งทั้งหมดนี้จะเป็น Delay Time ที่มีผลต่อค่า Read Latency โดยที่ Read Latency หมายถึง เวลาที่ใช้ระหว่างการร้องขอข้อมูลจากซีพียูผ่านทาง Frontside Bus (FSB)

สรุป ทฤษฎีของ Bandwidth นั้นได้ว่า ถ้าระบบบัสมี Bandwidth ที่กว้างก็ยิ่งจะดีต่อการรับ-ส่ง

ข้อมูล