ส่งงาน 20/07/2555






1 .Von Nemann

สถาปัตยกรรมคอมพิวเตอร์
โดยนิยามแล้วคอมพิวเตอร์จะประกอบไปด้วยส่วนที่สำคัญอยู่ 2 ส่วน ด้วยกัน คือ
สถาปัตยกรรม( Computer Architecture) และออร์กาไรเซชั่นคอมพิวเตอร์ ( computer organization)ซึ่งแต่ละส่วนก็จะให้ความหมายอย่างชัดเจนอยู่แล้วแต่ว่าเราก็สามารถให้ความหมายได้อย่างกว้างๆ กับคำสองคำนี้ซึ้งเป็นที่ยอมรับกันโดยทั่วไปคือ • สถาปัตยกรรมคอมพิวเตอร์ ( Computer Architecture) คือ ลักษณะต่างๆของระบบคอมพิวเตอร์ที่ผู้ใช้ๆทั่วไปสามารถ มองเห็นได้และจะมีผลต่อกระบวนการทำงานของคอมพิวเตอร์ • ออร์กาไนเซชั่นคอมพิวเตอร์( computer organization) คือ กระบวนการการเชื่อมต่อคอมพิวเตอร์ที่ต้องมีการคำนึงถึง สถาปัตยกรรมตัวอย่างทางสถาปัตยกรรมได้แก่ ขั้นตอนการประมวลผลของชุดคำสั่ง (Instruction Set) Zจากความสัมพันธ์ของทั้งสองตัวนี้ในการที่คอมพิวเตอร์จะทำการประมวลเช่นทำการบวก ลบ คูณ หรือการหารนั้นถือว่าเป็นการทำงานตามขั้นตอนของสถาปัตยกรรม
Zส่วนขั้นตอนการทำงานทางด้านออร์กาไนเซชั่นนั้นจะหมายถึงการสร้างฮาร์ดแวสำหรับใช้ในการทำงานขึ้นมาโดยตรง ในการสร้างระบบคอมพิวเตอร์ตั้งแต่ยุคแรกเริ่มมาจนถึงยุคประจุบันนี้ จะให้ความสำคัญกับสถาปัตยกรรมและออร์กาไนเซชั่นเป็นอย่างมากซึ้งทั่งสองตัวนี้มีความแตกต่างกันอย่างชัดเจน ในการสร้างคอมพิวเตอร์เครื่องหนึ่งๆ ของสองบริษัทอาจจะมีสถาปัตยกรรมที่เหมือนๆ กัน แต่ว่า มีออร์กาไนเซชั่นที่แตกต่างกันอย่างสิ้นเซิง ซึ้งจะเป็นผลที่ทำให้ราคาของเครื่องคอมพิวเตอร์มี ราคาที่แตกต่างกัน และประสิทธิภาพในการใช้งานไม่เท่ากัน ยิ่งกว่านี้สถาปัตยกรรมอาจมีการ ใช้งานได้หลายๆปี แต่ออร์กาไนเซชั่นมีการเปลี่ยนแปลงตามยุคตามเทคโนโลยีที่ผลิต ตัวอย่าง ที่เห็นๆกันโดยทั่วไป เช่น เครื่องคอมพิวเตอร์ของ IBM System/370 คอมพิวเตอร์รุ่นนี้มีการ ใช้สถาปัตยกรรมที่ออกแบบเมื่อปี พ.ศ. 2513 และได้มีการใช้สถาปัตยกรรมแบบเดียวกันนี้กับ เครื่องคอมพิวเตอร์หลายๆรุ่นสำหรับส่งให้กับลูกค้า ลูกค่าที่ต้องการเครื่องที่มีความเร็วไม่สูงมาก อาจจะจ่ายในราคาที่ต่ำ แต่ต่อมาถ้าลูกค้าต้องการเครื่องที่มีความเร็วสูงขึ้นก็สามารถใช้ซอฟต์แว ตัวเดิมได้โดยที่ไม่จำเป็นต้องมีการออกแบบซอฟแวต์ไหม่ ซึ้งจะมองเห็นว่าเครื่องคอมพิวเตอร์ ของ IBM ได้มีการพัฒนาขึ้นมาจากเดิมเป็นอย่างมากทั่งในเรื่องของความเร็วที่สูงขึ้นในราคาที่ ถูกลง แต่ว่าคอมพิวเตอร์ก็ยังมีการใช้สถาปัตยกรรมเดิม ถึงแม้ว่าจะมีการออกแบบออส์กาไนเซชั่น ไหม่ก็ตาม ทำให้ลูกค้ายังสามารถใช้ซอฟแวต์ตัวเดิมได้เสมอซึ้งสรุปแล้วคอมพิวเตอร์ของ IBM ใน ยุคปัจจุบันยังคงใช้สถาปัตยกรรมในยุคแรก ส่วนคอมพิวเตอร์อีกประเภทหนึ่งที่เรียกว่า Microcomputer นั้นเป็นคอมพิวเตอร์ขนาดเล็ก ความสัมพันธ์ระหว่างสถาปัตยกรรมกับออส์กาไนเซชันนั้นมีความใกล้เคียงกันเป็นอย่าง มากการใช้เทคโนโลยีในการออกแบบออส์กาไนเซชั่นจะมีผลต่อสถาปัตกรรมของเครื่อง คอมพิวเตอร์โดยทั่วไปแล้วความต้องการในการที่จะใช้สถาปัตยกรรมของเครื่องคอมพิวเตอร ์แบบเก่ากับเครื่องแบบไหม่นั้นมีน้อยมากดังนั้นจึงส่งผลให้บทบาทของสถาปัตยกรรมและ ออส์กาไนเซชั่นได้มีการเปลียนแปลงไปพร้อมๆกัน เครื่องคอมพิวเตอร์เป็นระบบที่มีความซับซ้อนมาก ซึ่งดังจะเห็นได้จากการที่เครื่องคอมพิวเตอร์เครื่องหนึ่งจะประกอบไปด้วยชิ้นส่วนๆต่างๆหลาย ล้านชิ้นในการที่จะเรียนรู้หลัการทำงานของเครื่องคอมพิวเตอร์จำเป็นจะต้องมีการเรียนรู้ลักษณะ โครงสร้างลำดับขั้นโดยธรรมชาติของคอมพิวเตอร์ โครงสร้างลำดับชั้นคือ กลุ่มย่อยของระบบที่ถูก นำมาประกอบเข้าด้วยกัน ซึ้งในระบบย่อยแต่ละระบบนั้นก็จะมีโครงสร้างลำดับชั้นของอุปกรณ์ที่ แตกต่างกันออกไป กระบวนการการทำงานแต่ระบบย่อยที่เกิดขึ้นผู้ออแบบสามารถกำหนดได้สอง เรื่องคือโครงสร้าง และหน้าที่คอมพิวเตอร์ • โครงสร้าง คือวิธีที่อุปกรณ์ต่างๆ เชื่อมต่อเข้าด้วยกัน• หน้าที่คือ การทำงานของส่วนประกอบแต่ละส่วนซึ้งถือว่าเป็นส่วนหนึ่งของโครงสร้าง หน้าที่การทำงาน โดยพื้นฐานของคอมพิวเตอร์แล้วจะประกอบไปด้วยส่วนประกอบหลักๆอยู่ 4 ส่วนด้วยกันคือ1 การประมวลผลข้อมูล (Data processing Facility)2.ส่วนเก็บข้อมูล (Data Storage Facility)3.ส่วนเคลื่อนย้ายข้อมูล (Data movement Apparatus)4.ส่วนการควบคุม (Control mechanism) เครื่องคอมพิวเตอร์จะต้องมีความสามารถในการประมวลผลข้อมูลต่างๆ ซึ้งข้อมูลจะมีอยู่ในหลายๆ รูปแบบเช่น เป็นตัวเลข เป็นแรงดันไฟฟ้าเป็นต้น ทำให้ขอบเขตในการประมวลผลข้อมูลนั้นกว้างแต่ลำดับขั้นตอนในการประมวลผลข้อมูลนั่นมีขั้นตอนไม่กี่ขั้นตอนเท่านั้นเครื่องคอมพิวเตอร์จะ ต้องมีความสามารถในการจัดเก็บข้อมูลถึงแม้ว่าคอมพิวเตอร์จะต้องทำการประมวลผลข้อมูลทันที่แต่คอมพิวเตอร์ต้องมีการเก็บบันทึกข้อมูลไว้เป็นการชั่วคราว โดยเฉพาะ ข้อมูลที่กำลังทำการประมวลผลอยู่นั้นซึ้งจะเป็นการเก็บข้อมูลระยะสั้นๆ แต่ว่าการเก็บข้อมูลระยะ ยาวก็มีความสำคัญไม่แพ้กันเครื่องคอมพิวเตอร์จะต้องสามารถทำการเคลื่อนย้ายข้อมูลได้ อาจจะ เป็นการเคลื่อนย้ายข้อมูลจากเครื่องคอมพิวเตอร์ไปยังอุปกรณ์ต่างๆซึ้งสิ่งแวดล้อมของเครื่องคอม พิวเตอร์จะต้องมีการติดต่อกับอุปกรณ์ภายนอกในทางคอมพิวเตอร์เรียกว่า IO หรือส่วนของอุปกรณ์ ต่อพ่วงคอมพิวเตอร์จะต้องมีความสามารถใจการควบคุม การทำงานของระบบต่างๆให้เป็นไป ตามขั้นตอนที่มีการออกแบบไว้การควบคุมต่างๆจะถูกกระทำโดยผู้ใช้งาน ซึ้งจะเป็นลักษณะ ของชุดคำสั่งเฉพาะที่มีการออกแบบมาเพื่อสำหรับควบคุมการทำงานของคอมพิวเตอร์

สถาปัตยกรรมคอมพิวเตอร์ เป็นทฤษฎีที่อยู่ฉากหลังของการออกแบบคอมพิวเตอร์ โดยทั่วไปหมายถึง การออกแบบโครงสร้างของหน่วยประมวลผลกลาง โดยทั่วไปหมายถึง การออกแบบ
โครงสร้างของหน่วยประมวลผลกลาง


(ซึ่งก็คือ การออกแบบจำนวนรีจิสเตอร์ที่จำเป็น และหน้าที่ที่จำเป็นของ หน่วยควบคุมกับหน่วยประมวลผลตัวเลข)
ชุดของคำสั่งเครื่อง และการอ้างหน่วยความจำ
เทคนิคอื่นๆ เช่น การประมวลผลแบบไปป์ไลน์

วิวัฒนาการของระบบสถาปัตยกรรม
อินเทลพัฒนาซิปซีพียู 8086 ในปี พ.ศ. 2521 หลังจากนั้นในปี พ.ศ. 2524 ไอบีเอ็ม พัฒนาไมโครคอมพิวเตอร์ ออกสู่ตลาดโดยเลือกชิป 8088 เป็นซีพียูของเครื่อง ซึ่งเป็นการเริ่มต้นของซีพียูตระกูล 8086 และมีพัฒนาการ ที่ต่อเนื่องตลอดมาช่วงแรกในการพัฒนาสถาปัตยกรรมแบบ CISC อินเทลออกแบบสถาปัตยกรรมที่เป็นการ ทำงานโดยมีชุดคำสิ่งต่างๆ คู่แข่งของอินเทลอยู่ที่ซีพียูในอีกตระกูลหนึ่ง คือ 68000 ของปริษัทโมโตโรลา ซึ่งได้เร่งขยายขีดความสามารถของบซีพียู โดยการพัฒนา 68010, 68020, 68030 และ 68040 ขณะเดียว กันอินเทลก็พัฒนา 80286, 80386, 80486 ซึ่งพัฒนาการของทั้งสองค่ายต่างก็แข่งขันกัน มาโดยตลอดช่วงเวลาที่อินเทลทิ้งช่วงระหว่าง 80486 กับเพนเทียม (p5) อินเทลได้สร้างโครงการ p5 ซึ่งเป็นการพัฒนาโดย ใช้สถาปัตยกรรมรุ่นใหม่ที่จัดเป็นลำดับที่ 5 ในตระกูล 80xxx อินเทลให้ข่าวอย่างไม่เป็นทางการตลอดมา อินเทล ได้เสนอโมเดลขั้นต้นไว้ว่าจะต้องทำให้คอมแพติเบิลกับของเดิม
อินเทลกับปัญหาที่ต้องแก้ไข
เมื่ออินเทลพัฒนาซีพียู 8086 การจัดการหน่วยความจำของอินเทลมีข้อยุ่งยากมาก มีการกำหนด เซกเมนต์โดย แต่ละเซกเมนค์มีขนาด 64 กิโลไบต์ในซีพียูมีรีจิสเตอร์ที่ใช้สำหรับการจัดการเซกเมนต์เรียกว่า"เซกเมนค์รีจิสเตอร์"
ประเภทของสถาปัตยกรรมการประมวลผลแบบขนาน ของโปรเซสเซอร์


1. SISD(Single Instruction Single Data stream) คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว และ ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา


2. MISD(Multiple Instruction Single Data stream) คือ โปรเซสเซอร์ ที่ใช้การประมวลผลด้วยชุดข้อมูลเพียงชุดเดียว แต่ทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา มักจะไม่ค่อยมีใครพัฒนาโปรเซสเซอร์แบบนี้


3. SIMD(Single Instruction Multiple Data stream)คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด แต่ทำงานด้วยคำสั่งเดียว ภายใน 1 สัญญาณนาฬิกา และได้ผลลัพธ์หลายชุด ใช้ในโปรเซสเซอร์แบบPentium MMX


4. MIMD(Multiple Instruction Multiple Data stream)คือ โปรเซสเซอร์ที่ใช้การประมวลผลด้วยชุดข้อมูลหลายชุด และทำงานด้วยได้หลายคำสั่ง ภายใน 1 สัญญาณนาฬิกา


RISC ( Reduced Instruction- Set Computing หรือชิปที่มีการลดทอนคำสั่ง ) คือ โปรเซสเซอร์ที่มีชุดคำสั่งที่มีรูปแบบและขนาดที่แน่นอน สามารถประมวลผลได้ภายใน 1 สัญญาณนาฬิกา การอ้างอิงหน่วยความจำจะใช้คำสั่ง Load และStore ที่สามารถอ้างอิงหน่วยความจำได้โดยตรงเท่านั้น ใช้การอ้างตำแหน่งแบบตรงๆ ง่ายโดยมีรูปแบบจำกัดอยู่ 2 แบบ คือ 1.แบบอ้างผ่าน Register ( Register Indirect ) Register จะเก็บค่าตำแหน่งไว้ แล้ว ทำการอ้างตำแหน่งนั้นๆผ่านRegister 2.ในแบบ Index จะเป็นการอ้างตำแหน่งจากค่าคงที่ที่มาในคำสั่งนั้นๆเลย


CISC ( Complex Instruction- Set Computing ) คือสถาปัตยกรรมของโปรเซสเซอร์ ที่ใช้คำสั่งซับซ้อนที่มีความยาวเปลี่ยนไปตามชนิดของคำสั่ง มีคำสั่งให้ใช้งานมากมาย ทำให้เขียนโปรแกรมง่าย และโปรแกรมมีขนาดเล็ก การทำงานของคำสั่งจะใช้ Microcode โดยคงความเข้ากันได้กับโปรเซสเซอร์รุ่นเก่า ทำให้ไม่ต้องเขียนโปรแกรมใหม่


SMP(Symmetric MultiProcessing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์ หลายตัว ที่ใช้ทรัพยากรของระบบเช่น บัส หน่วยความจำ I/O ร่วมกัน ไม่สามารถแบ่งเป็น partition ย่อยๆได้ และสมรรถนะของระบบจะลดลงเมื่อใช้โปรเซสเซอร์ มากกว่า 8 ตัว ความสามารถในการขยายสเกลยังจำกัด แต่สามารถใช้โปรแกรมแบบเดิมได้ไม่ต้องเขียนขึ้นใหม่


ระบบคอมพิวเตอร์ คือ องค์ประกอบที่จะทำให้คอมพิวเตอร์สามารถทำงานได้อย่างสมบูรณ์ถ้าขาดองค์ประกอบส่วนใดส่วนหนึ่งแล้ว เครื่องคอมพิวเตอร์ก็ไม่สามารถทำงานได้ระบบของคอมพิวเตอร์จะประกอบไปด้วย 5 ประการคือ


1.Hardware


2.Software


3.Peopleware


4.Data


5. Procedure


ประเภทของคอมพิวเตอร์


1. คอมพิวเตอร์ระดับใหญ่(Mainframe Computer)


2. คอมพิวเตอร์ระดับเล็ก(Mini Computer)


3. คอมพิวเตอร์ระดับยิ่งใหญ่ (Supper Computer)


4. คอมพิวเตอร์ส่วนบุคคล(PC:Personal Computer)


5. คอมพิวเตอร์ขนาดสมุดบันทึก(Note Book)


6. คอมพิวเตอร์ที่ทำหน้าที่เลขาส่วนตัว หรือ พีดีเอ(PDA:Personal Digital Assistant)


7. คอมพิวเตอร์เครือข่าย(Net)


ฮาร์ดแวร์(Hardware)
หน่วยรับข้อมูลหรือ (Input Unit)
หน่วยประมูลผลกลางหรือซีพียู(CPU:Central Processing Unit)
หน่วยเก็บข้อมูล(Storage) / หน่วยเก็บข้อมูลหรือความจำหลัก(Primany Storage หรือ Main Memory) และหน่วยความจำสำรอง (Secondary Storage)
หน่วยแสดงผล (Output Unit)




รายชื่อต่อไปนี้เป็นส่วนหนึ่งของชิปเซตที่ใช้กับสถาปัตยกรรมหน่วยประมวลผลกลางแบบ x86
Intel produces chipsets for its own line of processors:
i845E/GV Bus 533 MHz AGP4 2Go DDR PC2700 max
i850e i855G (855GME for the Pentium M)
i865G/P ( 4 GiB DDR2, 533 MHz FSB, AGP8, serial ATA )
i875p = optimized i865
E7205 (for Pentium 4 servers), E7500/E7501/E7505 (for Xeon servers)), E7520/E7525/E7530 (for dual Xeon servers)
910GML/GMZ, 915GM/PM, 945PM/GM
945PM/GM + Intel PRO/Wireless 3945ABG + Intel Core Solo = Centrino (third generation)
945PM/GM + Intel PRO/Wireless 3945ABG + Intel Core Duo = Centrino Duo
910GL, 915P/PL/G/GL/GV, 925X/XE, 945P/PL/G/GZ, 955X (for Pentium D/XE)
963Q, 965P/G/Q, 975X (for Intel Core 2 Duo)
P35 (for Intel [Core 2 Duo], [Core 2 Quad], and [Core 2 Extreme])
VIA Technologies produces chipsets for Intel and AMD processors:
VIA KT133 KT133A
VIA KT266A FSB 200/266 MHz AGP4
VIA KT333
VIA Apollo KT400A ( Serial ATA )
VIA P4X400
K8T400M
Silicon Integrated Systems produces chipsets for Intel and AMD processors (and formerly for Cyrix processors):
SiS 645 648
SiS 650 651 655
SiS 735 740
NVIDIA produces chipsets for AMD and Intel processors, as well as graphics processors:

·
Chipsets :
nForce 1 :
nForce 2 : Ultra 400Gb , Ultra 400R , Ultra 400.
nForce 3 : Go , Professional.
nForce 4 : SLI Intel , Series AMD , SLI/XE Ultra Intel , Intel x16.
nForce 5 : 520 , SLI/570/550 AMD , 590SLI AMD , 570 SLI Intel , 590 SLI Intel.
nForce 6 : 650i , SLI/650i Ultra , 680a SLI , 680 SLI/680i LT SLI.
Graphics cards:
TNT : TNT2 Pro , TNT2 Ultra , TNT2 Model 64 (M64) , TNT Model 64 (M64) Pro
Vanta , Vanta LT
GeForce 1 : 256 , DDR
GeForce 2 : GTS , Pro , TI , Ultra , MX , MX100 , MX200 , MX400 , MX Integrated graphics
GeForce 3 : TI200 , TI500
GeForce 4 : MX 420 , MX440 , MX440-SE , MX460 , MX Integrated graphics , MX 4000 , TI 4200 , TI4400 , TI4600 , TI4800 , TI4800SE
GeForce 5 : FX5100 , FX5200 , FX 5200LE , FX 5200 Ultra , FX5500 , FX5600 , FX5600 Ultra , FX5600 SE , FX5600 XT , FX5700 , FX5700 VE , FX5700 Ultra , FX5700 LE , FX5800 , FX5800 Ultra , FX5900 , FX5900 Ultra , FX5900 XT , FX5900 ZT , FX5950 Ultra , PCX 5300 , PCX 5750 , PCX 5900
GeForce 6 : 6100 , 6150 LE , 6150 , 6200 , 6200 LE , 6200 TC , 6200 SE TC , 6500 , 6600 , 6600 LE , 6600 VE , 6600 GT , 6610 XL , 6700 XL , 6800 , 6800 LE , 6800 XE , 6800 XT , 6800 GS , 6800 GT , 6800 Ultra
GeForce 7 : 7100 GS , 7300 LE , 7300 SE , 7300 GS , 7300 GT , 7500 LE , 7600 GS , 7600 GT , 7800 GS , 7800 GT , 7800GTX , 7900 GS , 7900 GTO , 7900 GT , 7900 GTX , 7950 GX2
GeForce 8 : 8300 GS , 8400 GS , 8500 GT , 8600 GT , 8600 GTS , 8800 GTS , 8800 GTX , 8800 Ultra
Quadro 2 : MXR , DCC , PRO , EX
Quadro 4 : 200 , 400 NVS , 380 , 500 , 550 , 580 , 700 , 750 , 780 , 900 , 980 XGL
Quadro FX : 330 , 350 , 500 , 540 , 550 , 560 , 600 , 700 , 1000 , 1100 , 1300 , 1400 , 1500 , 2000 , 3000 , 3000G , 3400 , 3450 , 3500 , 4000 SDI , 4400 , 4400G , 4500 , 4500SDI , 4500X2 , 5500 , 5500SDI
Quadro NVS : 200 , 210s , 280 , 280SD , 400 , 440 , 280PCI , 285
ATI (acquired by AMD in 2006) produced chipsets for Intel and AMD processors, as well as graphics processors:
Chipsets for AMD processors:
AMD 690, AMD M690 (mobile)
AMD 580X CrossFire
AMD 480X CrossFire
ATI Radeon Xpress 1100 (with integrated graphics)
ATI Radeon Xpress 200, 200M (mobile) (with integrated graphics)
ATI SB600 (southbridge)
Chipsets for Intel processors:
ATI CrossFire Xpress 3200 (for Intel Core 2 Duo)
ATI Radeon Xpress 1250 (with integrated graphics)
ATI Radeon Xpress 1100 (with integrated graphics)
ATI Radeon Xpress 200
ATI SB600 Series (southbridge)
Graphics processors:
ATI Radeon 9200 Pro
ATI Radeon 9500 Pro
ATI Radeon 9700 Pro 128DDR AGP8x
ATI Radeon 9800 Pro (128 MiB)




องค์ประกอบระบบคอมพิวเตอร์


Computer Systems





ระบบคอมพิวเตอร์

ระบบคอมพิวเตอร์ที่จะขอกล่าวเป็นตัวอย่างแรกนี้ เป็นสถาปัตยกรรมแรกเริ่มที่เรียกว่า ฟอนนอยมันน์ (von Neumann Architecture) คิดค้นโดยจอหน์ ฟอน นอยมันน์ (John von Neumann) ที่ครั้งแรกออกแบบตามแนวความคิดให้เป็นเครื่องจัดเก็บโปรแกรม (Stored-program Concept) มาตั้งแต่ปี พ.ศ. 2488 เรียกชื่อเครื่องนี้ว่า IAS ถึงแม้ว่าต่อมาอีกหลายปีจึงสร้างจริงได้สำเร็จ แต่ก็นับได้ว่าเป็นเครื่องคอมพิวเตอร์ที่มีสถาปัตยกรรมต้นแบบที่ควรเริ่มต้นศึกษา





โครงสร้างหลักทั่วไปของเครื่อง IAS ประกอบด้วย

· หน่วยความจำหลัก (Main Memory) ทำหน้าที่จัดเก็บข้อมูลและโปรแกรม

· หน่วยคำนวณและตรรกะ (ALU : Arithmetic and Logic Unit) ทำหน้าที่ดำเนินการกับข้อมูลเลขฐานสอง

· หน่วยควบคุม (Control Unit) ทำหน้าที่แปลคำสั่งภาษาเครื่อง (Instructions) ที่จัดเก็บในหน่วยความจำหลักเพื่อให้สั่งกระทำการ (Execute) ต่อไป

· หน่วยข้อมูลรับเข้า-ส่งออก (Input/Output Unit) ทำหน้าที่แปลงสัญญาณและการแทนค่าข้อมูลที่รับเข้า-ส่งออกตามที่หน่วยควบคุมสั่งการ
2 .Instruction set


สถาปัตยกรรม Computer แบบ RISC (Reduced Instruction Set Computer) คือการพยายามที่จะออกแบบ CPU ใหมีความาสามารถมากขึ้น โดยการใช ชุดคําสั่งนอยๆ และเปนชุดคําสั่งงายๆไมยุงยากซับซอนการออกแบบสถาปตยกรรม Processor แบบ RISC นั้นจะเนนการลดจํานวนและลดความซับซอนของชุดคําสั่งภายใน (Instruction Set) ซึ่งในความเปนจริงแลว ก็ยังมีอีกหลายอยางที่เปนการออกแบบสถาปตยกรรมแบบRISC อันไดแก การจัดการเกี่ยวกับ Cache, หารทํา Pipeline, SuperScalar และอื่นๆ ในการที่จะปรับปรุงประสิทธิภาพของการพัฒนา Softwareใหดีขึ้นนั้น ทําใหมีการพัฒนา High-Level programming Languages ใหมีความสมารถและความซับซอน มากขึ้น ซึ่งมันชวยให programmer สามารถสราง algorithm ที่มีความสั้นกระทัดรัด สามารถจัดการกับงานที่มีความละเอียดและซับซอนไดงายขึ้น และชวยสนับสนุนในการเขียนโปรแกรมใหมีโครงสรางที่เปนธรรมชาติมากขึ้น

อยางไรก็ตามการที่ High-Level programming Languages นั้นมีการพัฒนาขึ้นมาเรื่อยๆนั้นมันก็มีขอเสียที่เกิดขึ้นเหมือนกัน ซึ่งเราเรียกปญหานี้วา Semantic Gap จากความแตกตางกันในการดําเนินงานที่ถูกจัดหาโดย High-Level programming Languages (HLL) กับการดําเนินงานที่ถูกจัดหาโดย Machine Language ชองวางที่เกิดจากความแตกตางในการดําเนินงานนี้จะหมายถึง การปฏิบัติงานที่ไมมีประสิทธิภาพ ขนาดของ Machine program ที่ใหญเกินไป และ Complier ที่มีความยุงยากซับซอนมาก


The Semantic Gap.

การแกปญหาที่เกิดขึ้นนี้ คือการพยายามลด Gap ที่เกิดขึ้น ซึ่งมี 2 แนวทางดวยกันคือ

1. CICS (Complex Instruction Set Computer) การออกแบบ Computer โดยใชสถาปตยกรรมแบบ CISC คือการออกแบบโดยใหมีชุดคําสั่ง (Machine program) เปนเปนจํานวนมาก มีความซับซอน และใกลเคียงกับ คําสั่งใน High-Level programming Languages (HLL) รวมถึงการใหมีวิธีที่ใชในการระบุตําแหนง Address หลายวิธีการ (Addressing Mode)





2. RISC (Reduced Instruction Set Computer) การออกแบบ Computer โดยใชสถาปตยกรรมแบบ RISC คือการออกแบบโดยการพยายามลดความซับซอนและจํานวนของชุดคําสั่ง (Machine program) ใหนอยลง

และดัดแปลงใหเหมาะสมกับความตองการที่แทจริงของผูใชงานจากการศึกษาในหลายๆดานไดนําไปสูการหาคุณสมบัติในการดําเนินงานของภาษาเครื่อง (Machine Language) ซึ่งถูกสรางขึ้นอยางเปนลําดับขั้นตอนโดย High-Level programming Languages (HLL) ซึ่งเปนเหตุผลที่มาสนับสนุนการออกแบบ Computer โดยใช้ สถาปตยกรรมแบบ RISC สิ่งที่มีความนาสนใจที่จะมาพิจารณากันมีดังนี้

- ความถี่ของชนิดของงาน (functions) ที่มีการดําเนินงาน

- ชนิดของตัวถูกดําเนินการ (operands) และความถี่ที่มันถูกใชงาน

- การดําเนินงานอยางเปนลําดับขั้นตอน (execution sequencing)


Operations

จากการศึกษาวิเคราะหคุณลักษณะการทํางานของ High-Level programming Languages (HLL) นั้นพบวาคําสั่งที่ใชในการกําหนดคานั้นมีมากกวาอยางอื่น ซึ่งเปนสิ่งที่ชี้ใหเห็นวาการเคลื่อนยายขอมูลแบบงายๆนั้นมีความสําคัญสูง เชนเดียวกัน คําสั่งที่เกี่ยวกับการทําเงื่อนไขก็มีน้ำหนักมากเหมือนกัน ซึ่งแสดงใหเห็นวาการควบคุมการทํางานของชุดคําสั่งใหมีการทํางานอยางมีลําดับขั้นตอนนั้นมีความสําคัญมากเพื่อแสดงใหเห็นถึงคุณลักษณะการทํางานของ High-Level programming Languages (HLL) ใหชัดเจนยิ่งขึ้น เราไดใช VAX, PDP-11, และ Motorola 68000 มาแปลโปรแกรม Patterson programs [PATT82a] เพื่อแสดงใหเห็นถึงจํานวนเฉลี่ยของคําสั่งพื้นฐาน (machine instructions) และ การอางอิงถึงหนวยความจําตอชนิดของคําสั่งใน HLL program ในโปรแกรมหลายๆหลายๆแบบ







จากตารางนี้เราจะเห็นวา การทํางานที่เกี่ยวกับ การเรียก และการสงคืน (call / return) นั้นเปนการดําเนินงานที่มีการใชเวลามากที่สุดในHLL programs ทั่วๆไป

Addressing Mode โดยสวนมากของคําสั่งในการดําเนินงานจะมีวิธีการที่ใชใน การระบุตําแหนงของหนวยความจําแบบงายๆ (simple addressing mode), ที่ซึ่งตําแหนงของหนวยความจําสามารถคํานวณหาออกมาไดโดยใชแค 1 รอบการทํางาน (register, register indirect, displacement) ซึ่งในขณะที่การระบุตําแหนงของหนวยความจําแบบซับซอน (complex addressing mode เชน memory indirect, indexed + indirect, displacement

+ indexed, stack) นั้น จะมีการใชงานอยูเพียงแค 18% ของคําสั่งตางๆเทานั้น


Operands

จากการศึกษาและทดสอบพบวา 74% ถึง 80% ของตัวถูกดําเนินการ (operands) ที่ถูกอางอิงถึง เปน ตัวแปรที่ใชระบุในเชิงของขนาด(Scalar such as integers, reals, characters, etc.) และสวนมากจะเปนการถูกใชในการอางอิงไวใชงานภายใน (localized) ซึ่งสามารถเก็บในregister ได สวนที่เหลือ (20–26%) นั้นเปนลักษณะ ขอมูลแบบ array/structures ซึ่งก็ตองการใชตัวแปรที่มีความหมายในเชิงปริมาณที่เปนlocalized เพื่ออางอิงถึงตําแหนงและขนาดของมันเชนเดียวกัน ซึ่งเราจะสามารถสรุปไดวา operands ที่ถูกอางอิงถึงนั้นสวนใหญจะเปนแบบ scalarโดยมีการใชงานเปนแบบ localized และ 80% ของตัวแปรเหลานี้นั้นถูกเกบอยูใน registers


Procedure Calls

จากการศึกษาเราพบวา ฟงกชั่นงานที่เปนการ Calls และ Returns นั้นมีความสําคัญอยางมากใน HLL

programs เนื่องเวลาโดยมากจะถูกใชไปในการดําเนินงานฟงกชั่นทั้ง 2 นี้ ถึงแมวาจะมีแค 15% ของคําสั่งใน HLL

programs ที่เปนคําสั่งของการ Calls และ Returns แตวามันเปนสวนที่ใชเวลาในการดําเนินการมากที่สุดเนื่องจาก

ความซับซอนของมัน (nesting)

ฟงกชั่น Calls และ Returns จะถูกแปรไปเปนลักษณะของคําสั่งพื้นฐานหลายๆคําสั่ง (machine instructions) ที่มีความสัมพันธเปนลําดับขั้นตอนตอเนื่องกันอยางยืดยาว และมีการอางอิงถึงหนวยความจําเป็นจํานวนมาก

สิ่งสําคัญที่เกี่ยวของกับการดําเนินงานของฟงกชั่น Calls และ Returns คือ จํานวนคาตัวแปร (parameters

& variables) ที่มีการสงผานในฟงกชั่นของการ Calls และ Returns และ ระดับความลึกของการซอนทับ (depth of

nesting) ของฟงกชั่น Calls และ Returns อีกอยางคือ ตัวแปรสวนมากที่ถูกใชงานใน ฟงกชั่น Calls และ Returns จะเปนแบบ local



จากสิ่งที่กลาวมาขางตนเราสามารถสรุปไดวา

- การดําเนินงานพื้นฐาน (simple operations, ALU และ move) นั้นมีการดําเนินงานมากกวาการดําเนินงานที่มีความซับซอน (complex operations) มาก

- การมีการใชงานอยางมากของ การใช การระบุตําแหนงของหนวยความจําแบบงายๆ (Simple Addressing mode) ในคําสั่งตางๆ

- การใชงานตัวถูกดําเนินการที่มีความบอยครั้งมาก เฉลี่ยแลวแตละคําสั่งจะมีการใชตัวถูกดําเนินการประมาณ 1.9 ตัวถูกดําเนินการ

- ตัวถูกดําเนินการสวนใหญที่ถูกอางอิงถึงจะเปนในลักษณะของคาในเชิงปริมาณ (Scalar) ซึ่งหมายความวามันสามารถถูกเก็บอยูในregister ได และตัวถูกดําเนินการเหลานั้นเปนตัวแปรหรือพารามิเตอรที่ถูกกําหนดใหเปนแบบภายใน (local) ดวย

- การเพิ่มประสิทธิภาพของการทํางานของฟงกชั่น Call / Return จะทําใหไดความเร็วที่เพิ่มขึ้นอยางมากจากขอสรุปที่กลาวมาเหลานี้ จะเปนจุดเริ่มตนที่จะนําเขาไปสู Reduced Instruction Set Computer (RISC)


คุณลักษณะหลั กของสถาปตยกรรมแบบ RISC

- ชุดคําสั่ง ในสถาปตยกรรมแบบ RISC นั้นจะถูกจํากัดและจะมีเพียงแคคําสั่งที่เปนคําสั่งพื้นฐาน งายๆเทานั้น

- จุดประสงคก็เพื่อใหมีการสรางชุดคําสั่งที่รวบรวมเอาคำสั่งที่สามารถทํางานใหเสร็จสิ้นไดอยางรวดเร็วไวดวยกัน คําสั่งสวนมากในสถาปตยกรรมแบบ RISC นั้นสามารถทําใหเสร็จสิ้นได 1 คําสั่งใน 1 รอบสัญญาณนาฬิกา (one instruction per single machine cycle) (หลังจากคําสั่งถูกทําการ fetched และถูก decoded)

- มีการทํางานแบบ Pipeline (โดยปราศจากการอางอิงหนวยความจํา[without memory reference])



คําสั่งในสถาปตยกรรมแบบ RISC จะมีจํานวนนอยๆและไมซับซอน ในขณะที่คําสั่งในสถาปตยกรรมแบบ CISC นั้นตองมีการใชmicroprogramming เพื่อที่จะทําการสรางคําสั่งที่มีความซับซอนขึ้นมาเพื่อใชในการดําเนินงาน และมีคําสั่งเปนจํานวนมาก

- การที่มีเพียงแตคําสั่งที่งายๆไมซับซอนนั้นจะชวยลดควมซับซอนของ Control Unit และ เสนทางลําเลียงขอมูล (data path) ลงได ซึ่งสงผลใหหนวยประมวลผล (processor) นั้นสามารถทํางานที่สัญญาณนาฬิกาที่มีความถี่สูงขึ้นได

- การทํางานแบบ pipeline นั้นจะถูกใชงานไดอยางมีประสิทธิภาพถาคําสั่งเหลานั้นเปนคําสั่งที่งายๆไมซับซอนและการใชเวลาในการปฎิบัติงานในคําสั่งเหลานั้นคลายๆกัน



ในการดําเนินงานที่ซับซอนในสถาปตยกรรมแบบ RISC นั้นจะถูกดําเนินงานโดยการใชคําสั่งที่เปน

คําสั่งที่งายๆไมซับซอนหลายๆคําสั่งมาทํางานเรียงตอกันอยางเปนลําดับขั้นตอน เพื่อใหไดผลลัพธ

ออกมา สวนในกรณีของ CISC นั้น จะทําการดําเนินงานที่ซับซอนนั้นดวยคําสั่งที่มีความซับซอนเพียง

แคคําสั่งเดียวหรือแคไมกี่คําสั่งเทานั้น




ตัวอยางงายๆสําหรับการเปรียบเทียบการทํางานใน CISC & RISC

สมมุติวา เรามี program ที่ 80% ของการดําเนินงานทั้งหมดนั้นสามารถทําใหเสร็จสิ้นไดดวยคําสั่งแบบงาย ๆ สวนอีก 20% ที่เหลือนั้นเปนการดําเนินงานที่ตองใชคําสั่งที่มีความซับซอน บน เครื่องที่ใชสถาปตยกรรมแบบ CISC นั้นการปฏิบัติคําสั่งงายๆจะใชเวลาในการทํางานตอ 1 คําสั่งเทากับ 4 รอบสัญญาณนาฬิกา สวนการปฏิบัติคําสั่งที่มีความซับซอนนั้นจะใชเวลาในการทํางานตอ 1 คําสั่งเทากับ 8 รอบสัญญาณนาฬิกา โดยที่ 1รอบสัญญาณนาฬิกาจะคิดเปนเวลาเทากับ 100 ns ( 10-7 s) บน เครื่องที่ใชสถาปตยกรรมแบบ RISC นั้นการปฏิบัติคําสั่งงายๆจะใชเวลาในการทํางานตอ 1 คําสั่งเทากับ 1 รอบสัญญาณนาฬิกา สวนการปฏิบัติคําสั่งที่มีความซับซอนนั้นจะใชการนําเอาคําสั่งที่เปนคําสั่งที่งายๆไมซับซอนหลายๆคําสั่งมาทํางานเรียงตอกันอยางเปนลําดับขั้นตอน เราคิดเปนคาเฉลี่ยวา 1 การดําเนินงานที่มีความซับซอนนั้นจะตองใชคําสั่งงายๆทั้งหมด14 คําสั่ง ก็คือตองใชเวลาทั้งหมดเทากับ 14 รอบสัญญาณนาฬิกา โดยที่ 1 รอบสัญญาณนาฬิกาจะคิดเปนเวลาเทากับ 75 ns ( 0.75 * 10-7 s)หากเรามีโปรแกรมที่มีจํานวนคําสั่งทั้งหมดเทากับ 1 ลานคําสั่ง เราจะใชเวลาทั้งหมดเทาไหรในการทํางาน จนเสร็จทุกคําสั่งของโปรแกรมนี้โดยใชสมมุติฐานขางตนมาคํานวณเปรียบเทียบ

CISC: (106 * 0.80 * 4 + 106 * 0.20 * 8) * 10-7 = 0.48 s

RISC: (106 * 0.80 * 1 + 106 * 0.20 * 14) * 0.75 * 10-7 = 0.27 s



จากผลลัพธขางตนเราจะเห็นวา

- ในการดําเนินงานที่มีความซับซอนนั้น การทํางานโดยใช สถาปตยกรรมแบบ RISC นั้นจะใชเวลา มากกวาแบบ CISC แตวาจํานวนของการดําเนินงานที่มีความซับซอนนั้นมีไมมากเมื่อเทียบการดําเนินงานแบบงายๆที่ไมซับซอน

- เนื่องจากความที่สถาปตยกรรมแบบ RISC นั้นงายไมซับซอน ทําใหมันสามารถทํางานไดที่สัญญาณนาฬิกาที่มีความถี่สูงกวา 1 รอบสัญญาณนาฬิกานั้นจะเล็กกวา ในกรสถาปตยกรรมแบบ CISC นั้นการทํางานที่เปนคําสั่งงายๆนั้นจะใชเวลามากกวาเนื่องจากการที่ความยาวของ data path นั้นถูกเพิ่มมากขึ้นและจากการที่ในสวนของตัวควบคุมนั้นมีความซับซอนเพิ่มมากขึ้นดวย


สถาปตยกรรมในการดึงขอมูล (load) และ การเก็บขอมูล (store)

เฉพาะคําสั่งในการดึงขอมูล (load) และการเก็บขอมูล (store) เทานั้นที่จะมีการอางอิงถึงขอมูลในหนวยความจํา สวนคําสั่งอื่นๆจะมีการทํางานรวมกับกับ register เทานั้น (คือเปนลักษณะคําสั่งแบบ register-to-register) ดังนั้นจะมีเพียงแคไมกี่คําสั่งเทานั้นที่มีการเขาถึงหนวยความจําที่ทําใหตองใช เวลาในการทํางานมากกวา 1 รอบสัญญาณนาฬิกา (หลังจากคําสั่งถูกทําการ fetched และถูก decoded)

การทํางานแบบ Pipeline ที่มีการอางอิงถึงหนว







สถาปตยกรรมแบบ RISC นั้น เมื่อจะทําการจัดการกับคําสั่งตางๆ ก็จําเปนจะตองนํา Operand มาเก็บ

ไวใน Register กอน และ ในแตละคําสั่งนั้น ก็ถูกจํากัดไวที่ 1 Word ซึ่งก็ไมเพียงพอตอการเก็บคาของ

Operand ตางๆ ดังนั้นจึงใชการอางตําแหนงในหนวยความจําแทน แต การเขาถึงหนวยความจํานั้นตอง

เสียเวลาอยูพอสมควร จึงมีการกําหนดใหใชเพียงแค 2 คําสั่งเทานั้น คือการ load และ การ store เพื่อลด

traffic ระหวาง หนวยประมวลผล และ หนวยความจํา สวนเวลาในการ load หรือ store นั้น ก็ขึ้นอยูกั บ


ขนาดของ Operand

คําสั่งตางๆจะใชวิธีการในการระบุตําแหนงของหนวยความจํา (addressing mode) เพียงไมกี่แบบเทานั้น

- Addressing Mode โดยสวนมากของคําสั่งในการดําเนินงานจะมีวิธีการที่ใชใน การระบุตําแหนงของหนวยความจําแบบงายๆ (simple addressing mode), ที่ซึ่งตําแหนงของหนวยความจําสามารถคํานวณหาออกมาไดโดยใชแค 1 รอบการทํางาน โดยทั่วไป Addressing Mode ที่ใชงานจะเปนพวก register, direct, register indirect, displacement ซึ่งในขณะที่การระบุตําแหนงของหน วยความจําแบบซับซอน (complex addressing mode เชน memory indirect, indexed + indirect, displacement+ indexed, stack) นั้น จะมีการใชงานอยูเพียงแค 18% ของคําสั่งตางๆเทานั้น

- การใช Addressing Mode แบบงายเปนหลักจะไดประโยชนในเรื่องของความเร็วที่เพิ่มขึ้นเมื่อเปรียบเทียบกับการใช Addressing Modeที่มีความซับซอน เนื่องจากไมตองเสียเวลาในการคํานวณหาตําแหนงของหนวยความจําที่มีการทํางานดวย

- กําหนดขนาดของคําสั่ง (Instructions) ใหมีขนาดที่แนนอน (Fixed Instruction Length) และมีรูปแบบเดียวกัน (Uniform Format)

- การทําอยางนี้จะมีผลทําใหการ load และการ decode คําสั่งนั้นทําไดงายไมยุงยากซับซอน และทําไดอยางรวดเร็ว มันไมมีความจําเปนที่จะตองรอจนกวาจะรูวาความยาวของคําสั่งนั้นๆมีความยาวเทาไหร่ กอนที่จะเริ่มทําการ decode คําสั่งนั้นๆ เนื่องจากทุกๆคําสั่งนั้นมีความยาวที่แนนอนอยูแลว (Fixed Instruction Length)

- การ decode คําสั่งนั้นทําไดงาย เนื่องจากสวน (field) ที่แบงเอาไวสําหรับตัวดําเนินการ (Opcode) และสวนที่เปนคาตําแหนงของหนวนความจํา (address) ที่บรรจุอยูใน code ของคําสั่ง นั้นจะมีการแบง ตําแหนงเอาไวอยางเปนรูปแบบที่แนนอนอยูแลว ซึ่งทุกๆคําสั่งจะมีการแบงตําแหนงเหมือนๆกันทุกคําสั่ง (Uniform Format)

- ถาหากวาจะทําใหมีการทํางานแตละคําสั่งใหเสร็จสิ้นภายใน 1 รอบสัญญาณนาฬิกาไดนั้น ก็จําเปนที่จะตองมีการจํากัดขนาดของคําสั่งเพื่อ ไมใหมีขนาดที่ยาวเกินไป ซึ่งโดยปกติแลวจะใชขนาด 1 Word ( จะมีขนาดไมแนนอน แลวแตเครื่อง แตโดยทั่วๆไป CPU แบบ RISCจะมีขนาดของ Word = 32 Bits ) โดยใน 1 Word นั้น ก็จะกําหนดทุกๆอยางทั้ง Opcode ที่จะใชในคําสั่งนั้น, จะดึง Operand จากที่ไหน ,จะใหเก็บผลลัพธ ( Result ) ที่ไหน และ คําสั่งถัดไปอยูที่ไหน

- มีการใช Register เปนจํานวนมาก ( Large number of registers)

- ทั้งคาของตัวแปรและผลลัพธระหวางการดําเนินงาน สามารถถูกเก็บไวใน registers ที่มีอยูเป็นจํานวนมากได ซึ่งทําใหไมมีความจําเปนที่จะตองทําการ load และ store ขอมูลกับ memory บอยซึ่งชวยใหการทํางานมีความเริ่มเพิ่มมากขึ้น

- ตัวแปรที่ถูกกําหนดเปนตัวแปรภายใน (local variables) ทั้งหมดของ procedures ตางๆ และparameters ตางๆที่มีการสงถูกคาผานเขาและออกนั้น สามารถถูกเก็บไวใน registers ไดจะเกิดอะไรขึ้นเมื่อมีการเรียกเอา Procedure ใหมเขามาทํางาน

- ตามปรกติแลว registers จะตองทําการเก็บคาตางๆที่อยูในตัวมันลงไปยัง memory (ในขณะนั้นคาตางๆที่เก็บอยูใน registers จะเปนคาของตัวแปรและคาของ parameters ตางๆที่ใชสําหรับการเรียกเอาprocedure อันใหมเขามาทํางาน) และหากในระหวางนั้นมีการทํางานที่จะตองทําการเรียก procedureเขามาอีกครั้งนั้น ก็จะตองทําการ load เอาคาของตัวแปร และคาของ parameters ตางๆออกมาจากmemory มาใสใน registers อีกครั้ง ซึ่งจะทําใหเกิดการเสียเวลาอยางมาก

- แตถาหากวาเรามี registers เปนจํานวนมากแลว เราสามารถกําหนดใหกลุมของ registers กลุมใหมทําการเก็บคาที่ใชในการเรียกprocedure ใหมอีก procedure เขามาทํางานไดโดยที่เราไมจําเปนตองเอาคาใน



วิธีการนี้สามารถทําใหเปนจริงไดเนื่องจากวา จํานวนของตัวแปรภายใน (local variables) ใน procedures ตางๆนั้นไมไดมีเปนจํานวนมาก และถาหากไมเปนกรณีพิเศษที่ผิดธรรมดาแลว procedure calls จะไมมีการทํางานเชื่อมโยงซอนๆกัน (chains of nested procedure calls)มากกวา 6

ถาหากเกิดมีกรณีที่ procedure calls มีการทํางานเชื่อมโยงซอนๆกันมากๆขึ้นมา และทําใหจํานวน registers ไมเพียงพอที่กําหนดใหเปนregisters กลุมใหมที่จะทําการเก็บคาที่ใชในการเรียก procedure เขามาทํางานอีกไดนั้น registers จะก็จะทําการเก็บคาตัวแปรภายใน (local variables) และคาของ parameters ตางๆที่อยูในตัวมันลงไปยัง memory กอนแลวคอยทําการ load คาใหมเขามาใน registers

อีกสิ่งหนึ่งที่นาจะพิจารณาคือทําไมสามารถทําใหมีจํานวน Register เปนจํานวนมากไดในสถาปตยกรรมแบบ RISC มันสามารถทําไดเนื่องจากการที่ในสถาปตยกรรมแบบ RISC นั้นมีการลดความซับซอนของตัว processor ลงซึ่งนั่นก็เปนการเพียงพอที่จะทําใหมีพื้นที่บน chip ที่จะเอาไวใชสําหรับการเพิ่มจํานวน registers ใหมีจํานวนมากขึ้น ซึ่งโดยปรกติแลวกรณีทําแบบนี้จะไมเกิดขึ้นบนสถาปตยกรรมแบบ CISC

3.platform

platform คืออะไร
แพลตฟอร์ม คือสภาวะแวดล้อมที่ประกอบด้วยฮาร์ดแวร์และซอฟต์แวร์ของระบบคอมพิวเตอร์ระบบหนึ่ง เช่น แพลตฟอร์มเอ็มเแสดอสบนเครื่องคอมพิวเตอร์ที่ใช้ซีพียู 80486, ยูนิกส์ บนเครื่องซัน SPARC station, System 7 บนเครื่องแมคอินทอช Powerbook 180 เป็นต้น จะเห็นได้ว่าในคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการต่างกัน ก็จะมี Platform ที่ต่างกันไปด้วย
Platform จะประกอบด้วย ระบบปฏิบัติการ ,โปรแกรมประสานงานระบบคอมพิวเตอร์ และ ไมโครโพรเซสเซอร์ ซึ่ง Microchip ของคอมพิวเตอร์ใช้ในการทำงานด้ายตรรกะ และจัดการการเคลื่อนย้ายข้อมูล ระบบปฏิบัติการต้องได้รับการออกแบบให้ทำงานกับคำสั่งของ ไมโครโพรเซสเซอร์ เช่น Microsoft Windows 95 ได้รับการสร้างให้ทำงานกับชุดคำสั่งของ ไมโครโพรเซสเซอร์ของ Intel เพื่อการใช้คำสั่งร่วมกัน นอกจากนี้ ยังหมายถึงส่วนอื่น ๆ เช่น เมนบอร์ด และ บัสของข้อมูล แต่ส่วนเหล่านี้กำลังเพิ่มลักษณะที่เป็นโมดูล และมาตรฐานมากขึ้น ในอดีตโปรแกรมประยุกต์แต่ละโปรแกรมยังจะเขียนใหม่ให้ทำงานเฉพาะ platform เนื่องจากแต่ละ Platform มีโปรแกรมอินเตอร์เฟซที่ต่างกัน ดังนั้น โปรแกรมของคอมพิวเตอร์ส่วนบุคคลต้องมีการเขียนให้ทำงานกับ Windows ชุดหนึ่ง และทำงานกับ Macintosh อีกชุดหนึ่ง แต่ระบบเปิดหรือมาตรฐานด้านอินเตอร์เฟซยินยอมให้บางโปรแกรมทำงานกับ Platform ที่ต่างกันโดยผ่านโปรแกรมตัวกลาง หรือ broker Programs

4.ระบบบัสคอมพิวเตอร์



บัส (bus)



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

บัสประกอบด้วย 2 ส่วน คือ บัสข้อมูลและบัสที่อยู่ บัสข้อมูลจะส่งข้อมูลจริงๆ ส่วนบัสที่อยู่จะส่งข้อมูลเกี่ยวกับตำแหน่งที่ข้อมูลควรจะอยู่ในหน่วยความจำ



ขนาดของบัส สามารถวัดได้เป็นความกว้างบัส ซึ่งเป็นตัวระบุจำนวนบิทที่คอมพิวเตอร์สามารถส่งได้ในแต่ละครั้ง เช่น บัสที่มีขนาด 32 บิท (32-bit bus) จะสามารถส่งข้อมูลได้ 32 บิท หรือ 4 ไบท์ในแต่ละครั้ง ถ้าเราต้องการส่งข้อมูล 8 บิท โดยใช้บัสขนาดนี้ ก็จะต้องแบ่งส่ง 2 ครั้งด้วยกัน แต่ถ้าเราใช้บัสที่มีขนาด 64 บิท ก็จะสามารถส่งข้อมูลได้ทั้งหมดภายในครั้งเดียว

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

บัสจะมีสัญญาณนาฬิกาเช่นเดียวกับหน่วยประมวลผล ซึ่งผู้ผลิตกำหนดให้ีสัญญาณนาฬิกามีความถี่เป็นเฮิร์ต (hertz หรือ Hz) คำว่าเมกะเฮิร์ต (MHz) คือสัญญาณนาฬิกา (ติ๊ก) 1 ล้านครั้งใน 1 วินาที ในปัจจุบันส่วนใหญ่ หน่วยประมวลจะมีสัญญาณนาฬิกา ประมาณ 400, 533, 800 MHz ยิ่งค่าสัญญาณนาฬิกาสูงเท่าไหร่ ความเร็วในการส่งข็อมูลก็มากเท่านั้น

คอมพิวเตอร์มีบัสอยู่ 2 ชนิดคือ บัสระบบ (system bus) และ บัสเสริม (expansion bus)

บัสระบบ (system bus) เป็นส่วนหนึ่งเมนบอร์ด หรือแผงวงจรหลัก บัสระบบทำหน้าที่เป็นเส้นทางต่อระหว่างหน่วยประมวลผลกับหน่วยความจำ ส่วนบัสเสริมเป็นบัสที่ทำให้หน่วยประมวลสามารถติดต่อสื่อสารกับอุปกรณ์ต่อพ่วงอื่นๆ ได้ ส่วนใหญ่ที่มีการอ้างถึง บัส เฉยๆ จะหมายถึง บัสระบบ

บัสเสริม (expansion bus) จะทำให้อุปกรณ์ภายนอกระบบสามารถติดต่อกับหน่วยประมวลผลได้ อุปกรณ์ต่อพ่วงจะต่อเข้ากับพอร์ต ซึ่งพอร์ตจะต่ออยู่บน ช่องเสริม (expansion slot) ซึ่งช่องเสริมนี้จะต่อกับ บัสเสริมเพื่อส่งข้อมูลไปยังหน่วยประมวลผล รูปข้างล่างนี้เป็นรูปของการส่งข้อมูลระหว่างหน่วยประมวลผล หน่วยความจำ อุปกรณ์ต่อพ่วงต่างๆ ผ่านทางบัสระบบ และบัสเสริม บัสเสริมบนเมนบอร์ดมีหลายชนิด แต่ละชนิดบ่งบอกถึงชนิดของการ์ดที่ต่างๆ ที่ต่ออย่บนคอมพิวเตอร์ ได้แก่ บัส ISA, บัส PCI, บัส AGP, บัส USB และบัสไฟร์ไวร์

โดยทั่วไปบัสที่มีการส่งข้อมูลช้าที่สุด คือ ISA bus ย่อมาจาก (Industry Standard Architecture bus) ตัวอย่างอุปกรณ์ ได้แก่ เมาส์, โมเด็ม, การ์ดเสียง และการ์ดเครือข่ายที่มีความเร็วต่ำ

บัสท้องถิ่น (local bus) เป็นบัสเสริมที่มีความเร็วสูง จะต่อกับอุปกรณ์ที่มีการทำงานเร็วๆ เช่น ฮาร์ดดิสก์ บัสท้องถิ่นที่ควรรู้จักได้แก่ VESA local bus (Video Electronics Standards Association local bus) ซึ่งส่วนใหญ่ใช้กับการ์ดวิดีโอเท่านั้น และบัส PCI เป็นบัสที่ใช้กับอุปกรณ์ต่างๆ ได้หลากหลายกว่า VESA lacal bus มาก และมีความเร็วในการส่งข้อมูลเป็น 4 เท่าของบัส ISA

AGP (Accelelrated Graphics Port) เป็นบัสที่ออกแบบโดยบริษัทอินเทล (Intel) เพื่อเพิ่มประสิทธิภาพในการแสดงผลภาพ 3 มิติ หรือ ภาพวิดีโอ

USB (Universal Serial Bus) และ FireWire เป็นบัสที่ไม่ต้องมีการติดตั้งการ์ดลงบนเมนบอร์ด นั่นคือ อุปกรณ์ จะต่อกับพอร์ต USB ที่ต่อกับ บัส USB ซึ่งต่อกับ บัส PCI อีกที บัส FireWire ก็ทำงานคล้ายๆ กัน

ปัจจุบันเป็นที่เห็นพ้องต้องกันว่า PCI BUS เป็นระบบบัสที่มีประสิทธิภาพสำหรับการประมวลผลของคอมพิวเตอร์ ในอดีตมี ISA BUS มี MCA BUS ปัจจุบัน ISA BUS ก็ยังคงมีใช้อยู่ในคอมพิวเตอร์ เนื่องจากมีอุปกรณ์ต่อพ่วงจำพวกการ์ดอีกหลายยี่ห้อยังต้องการใช้งานอยู่ แต่เท่าที่ดูมีแนวโน้มว่าความต้องการ ISA BUS ในเมนบอร์ดจะลดน้อยลงเรื่อยๆ สังเกตได้จากเมนบอร์ดรุ่นใหม่ อาจจะมีสล๊อตสำหรับ PCI 5 ช่อง สำหรับ ISA เพียง 2 ช่อง และล่าสุด เมนบอร์ดหลายๆรุ่น ไม่มี ISA Slot สำหรับใช้งานอีกต่อไป

สำหรับระบบการควบคุมการแสดงผลของจอภาพ สมัยที่คอมพิวเตอร์ 80486 อาจจะเคยได้ยิน VL-BUS หรือ VESA Local BUS ซึ่งกำหนดให้ซีพียูและการแสดงผลของคอมพิวเตอร์มีบัสเฉพาะที่มีความกว้าง 32 บิต ต่อมาอินเทลเห็นว่า VL BUS ไม่สามารถสนับสนุนการทำงานของเพนเทียมได้อย่างมีประสิทธิภาพ จึงได้ออกแบบบัสแบบใหม่ที่ชื่อว่า PCI BUS ซึ่งไม่ได้ใช้เฉพาะการควบคุมการแสดงผลของจอภาพหรือสำหรับการ์ดวีจีเอเท่านั้น แต่ออกแบบให้ใช้กับอุปกรณ์ทั่วๆ ไปได้ด้วย และในตอนปลายของปี 2540 AGP BUS (Accelerator Graphic Port) ซึ่งออกแบบโดยอินเทลเช่นเดียวกัน ออกมาในลักษณะเดียวกับ VLBUS คือ เพื่อใช้งานกับการ์ดควบคุมการแสดงผลของคอมพิวเตอร์โดยเฉพาะ

5.หน้าที่แต่ละส่วนประกอบของสถาปัตกรรม คอมพิวเตอร์ตามโมเดลของ Von Neumannองค์ประกอบระบบคอมพิวเตอร์


:ฮาร์ดแวร์ (Hardware)
:ซอฟต์แวร์ (Software)
:บุคลากร (Pepleware)
:ข้อมูล (Data)
:กระบวนการทำงาน (Procedure)

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




ฮาร์ดแวร์ (Hardware)

:หน่วยรับข้อมูลหรืออินพุต (Input Unit)
:หน่วยประมวลผลกลางหรือซีพียู (CPU : Central Processing Unit)
:หน่วยเก็บข้อมูล (Storage)
8หน่วยเก็บข้อมูลหรือความจำหลัก (Primary Storage หรือ Main Memory)
8หน่วยเก็บข้อมูลสำรอง (Secondary Storage)
:หน่วยแสดงข้อมูลหรือเอาต์พุต (Output Unit) ซอฟต์แวร์ (Software)
:ซอฟต์แวร์ระบบ (System Software)

8โปรแกรมระบบปฏิบัติการ (OS : Operating System)
8โปรแกรมแปลภาษาคอมพิวเตอร์ (Translator Program)
8ยูทิลิตี้หรือโปรแกรมอรรถประโยชน์ (Utility Program):ซอฟต์แวร์ประยุกต์ (Application Software)
:ซอฟต์แวร์สำเร็จรูป (Package)


บุคลากร (Peopleware)



:ผู้ออกแบบและวิเคราะห์ระบบ (System Analysis and Design)
:โปรแกรมเมอร์ (Programming)
:ผู้บริหารฐานข้อมูล (Database Administrator : DBA)
:ผู้ปฏิบัติการ (Operator)
:ผู้ใช้ (User)
:ผู้บริหาร (Manager)

สถาปัตยกรรมคอมพิวเตอร์คืออะไร ?



:ผู้ออกแบบระบบ IBM System/360 “สถาปัตยกรรมคอมพิวเตอร์ หมายถึงโครงสร้างของคอมพิวเตอร์ที่โปรแกรมเมอร์ของระบบจะต้องเข้าใจในภาษาเครื่องเพื่อเขียนโปรแกรมให้เครื่องทำงานได้อย่างถูกต้อง”


:Bell และ Newell ให้แนวคิดของสถาปัตยกรรมคอมพิวเตอร์ในรูปแบบระดับชั้นที่เรียกว่า hierarchical, multilevel descriptionระดับทั้ง 4 ประกอบด้วยระดับวงจรอิเล็กทรอนิกส์ (Electronics Circuit Level), ระดับการออกแบบลิจิก (Logic Design Level), ระดับการโปรแกรม (Programming Level) และระดับการสวิตช์โปรเซสเซอร์และหน่วยความจำ (Processor-Memory-Switch Level)


พื้นฐานสถาปัตยกรรมคอมพิวเตอร์



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



:ช่องการสื่อสารข้อมูลที่เชื่อมระบบเข้าด้วยกันอาจจะเป็นการเชื่อมต่อระหว่างอุปกรณ์ 2 อุปกรณ์ หรือเป็นสวิตช์ที่ซับซ้อนที่เชื่อมต่อหลาย ๆ องค์ประกอบเข้าด้วยกัน
:แผนภาพ PMS แทนส่วนประกอบหลักของเครื่องคอมพิวเตอร์ส่วนบุคคลแอปเปิลแมคอินทอช (Apple Macintosh) ในตอนต้นจะใช้ช่องสื่อสารข้อมูลเดี่ยวที่เรียกว่า “บัส” (bus) ซึ่งจะเชื่อมต่อส่วนประกอบหลักทั้งหมด จนเมื่อบัสเป็นสวิตช์จะมีส่วนประกอบเพียงสองส่วนที่สามารถติดต่อซึ่งกันและกันในเวลาหนึ่ง ๆ เมื่อสวิตช์ถูกสร้างขึ้นเพื่อการถ่านโอนข้อมูลของอุปกรณ์อินพุต/เอาต์พุต














โมเดลของ von Neumann ของคอมพิวเตอร์แบบดิจิตอลhttp://musicstation.kapook.com/%E0%B8%98%E0%B8%B4%E0%B8%94%E0%B8%B2%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B9%8D%E0%B8%B2%E0%B8%AD%E0%B9%8D%E0%B8%B2%E0%B9%80%E0%B8%A0%E0%B8%AD.html?ac=favorite

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แผ่นบูตและโปรแกรมป้องกันและกำจัดไวรัสใน USB Drive

คำสั่ง network บน Dos เบื้องต้น

จุลดิศ พินิจพาระ