วันพฤหัสบดีที่ 19 กรกฎาคม พ.ศ. 2555

ส่งงาน


 จอห์น ฟอน นอยมันน์

จากวิกิพีเดีย สารานุกรมเสรี

จอห์น ฟอน นอยมันน์ ในช่วงปี ค.ศ. 1940
จอห์น ฟอน นอยมันน์ (John von Neumann, Neumann János, 28 ธ.ค. ค.ศ. 1903 - 8 ก.พ.ค.ศ. 1957) เป็นนักคณิตศาสตร์ชาวอเมริกันเชื้อสายฮังการี มีผลงานสำคัญในหลายสาขา ทั้ง ควอนตัมฟิสิกส์ ทฤษฎีเซต วิทยาการคอมพิวเตอร์ เศรษฐศาสตร์ และ จะว่าไปแล้วก็ทุกๆ สาขาในวิชาคณิตศาสตร์เลยก็ว่าได้

[แก้]ประวัติ

เขาเป็นบุตรชายคนโต ในพี่น้อง 3 คน ชื่อเดิมของนอยมันน์ คือ János Lajos Margittai Neumann เกิดที่เมืองบูดาเปส บิดาคือ Neumann Miksa (Max Neumann) เป็นนักการธนาคาร และ มารดาคือ Kann Margit (Margaret Kann) นอยมันน์มีชื่อเล่น ว่า "Jancsi" เขาเติบโตมาในครอบครัวชาวยิวที่ไม่เคร่งครัด และได้แสดงถึงความจำที่เป็นเลิศ มาตั้งแต่ยังเป็นเด็ก โดยสามารถทำการหารเลข 8 หลักในใจได้ตอนอายุ 6 ปี. ในปี ค.ศ. 1911 ก็เข้าเรียนที่ Lutheran Gymnasium (ในประเทศเยอรมนี, gymnasium หมายถึง โรงเรียนมัธยมปลาย) พอปี ค.ศ. 1913 เนื่องจากคุณพ่อของเขาได้รับตำแหน่ง (ยศ) เขาจึงได้รับชื่อในภาษาเยอรมัน von จึงใช้ชื่อเต็มเป็น János von Neumann

[แก้]ผลงาน

เขาเรียนจบปริญญาเอกสาขาคณิตศาสตร์ จาก มหาวิทยาลัยบูดาเปส ประเทศฮังการี ตอนอายุ 23 ปี
ระหว่างปี ค.ศ. 1926 ถึง 1930 เขาทำงานเป็น "อาจารย์อิสระ" ("Privatdozent" เป็นตำแหน่งในระบบมหาวิทยาลัยยุโรป สำหรับผู้ที่ต้องการจะเป็นศาสตราจารย์มหาวิทยาลัย ตำแหน่งนี้ไม่มีเงินเดือนประจำ) โดยในขณะนั้นเขาเป็นอาจารย์อิสระที่อายุน้อยที่สุดมหาวิทยาลัยเบอร์ลิน ประเทศเยอรมนี
ในปี ค.ศ. 1930 นอยมันน์ได้รับเชิญให้ไปยังเมืองพรินซ์ตันรัฐนิวเจอร์ซีย์ และได้เป็นหนึ่งในหกบุคคล (J. W. Alexanderอัลเบิร์ต ไอน์สไตน์,Marston MorseOswald Veblen, จอห์น ฟอน นอยมันน์ และ Hermann Weyl) ที่ถูกคัดเลือกเพื่อเป็นอาจารย์ประจำชุดแรกของ Institute for Advanced Study เขาเป็นศาสตราจารย์คณิตศาสตร์ที่นั่น ตั้งแต่เริ่มก่อตั้งสาขาวิชาในปี ค.ศ. 1933 จนกระทั่งวาระสุดท้ายของชีวิตเขา.
ในช่วงสงครามโลกครั้งที่สอง นอยมันน์ได้มีส่วนร่วมใน โครงการแมนฮัตตัน (Manhattan Project) ซึ่งเป็นโครงการสร้างระเบิดปรมาณู
ช่วง ค.ศ. 1936 จนถึง 1938 แอลัน ทัวริง ได้เป็นนักเรียนแลกเปลี่ยนไปที่สถาบัน และเรียนจบปริญญาเอก โดยมีนอยมันน์เป็นอาจารย์ที่ปรึกษา การไปเป็นนักเรียนแลกเปลี่ยนครั้งนี้ของทัวริง เกิดขึ้นหลักจากที่เขาได้ดีพิมพ์บทความวิชาการ "On Computable Numbers with an Application to the Entscheidungs-problem" ในปี ค.ศ. 1934 ได้ไม่นาน. งานตีพิมพ์นี้ เกี่ยวข้องกับ หลักการของ logical design และ universal machine. ถึงแม้จะเป็นที่แน่ชัดว่า นอยแมนรู้ถึงแนวความคิดของทัวริง แต่ก็ไม่เป็นที่แน่ชัดว่า เขาได้ใช้หลักการของทัวริง ในการออกแบบเครื่อง IAS ที่ถูกสร้างในเวลา 10 ปีต่อมา
นอยมันน์นั้น ได้รับการขนานนามว่าเป็น บิดาของทฤษฎีเกม (game theory). เขาได้ตีพิมพ์หนังสือ Theory of Games and Economic Behaviorโดยร่วมเขียนกับ Oskar Morgenstern ในปี ค.ศ. 1944 เขาได้คิดหลักการ "MAD" (mutually assured destruction) อาจแปลไทยได้เป็น "รับรองได้ว่าเจ๊งไปด้วยกันทั้งคู่แน่" ซึ่งเป็นหลักการซึ่งใช้เป็นหลักสำคัญ ในการวางแผนกลยุทธ์ทางด้านอาวุธนิวเคลียร์ของอเมริกา ในช่วงสงครามเย็น
นอยมันน์เป็นคนคิด สถาปัตยกรรมแบบ ฟอน นอยมันน์ ซึ่งใช้กันในคอมพิวเตอร์ (แบบที่ไม่ได้ประมวลผลแบบขนาน) ส่วนใหญ่ พูดได้ว่า คอมพิวเตอร์เกือบทั้งหมดในโลกนี้ เป็นเครื่องจักรแบบ ฟอน นอยมันน์ เขาเป็นผู้ริเริ่มสาขา cellular automata และได้สร้างตัวอย่างชุดแรกของ self-replicating automata โดยใช้แค่กระดาษกราฟ กับ ดินสอธรรมดาๆ (ไม่มีคอมพิวเตอร์ช่วยเลย) คำว่า เครื่องจักรแบบ ฟอน นอยมันน์ ยังหมายความถึง เครื่องจักรที่สร้างตนเองซ้ำได้ (self-replicating machine)
นอยมันน์ได้พิสูจน์ว่า การใช้เครื่องจักรที่สร้างตนเองซ้ำได้ เป็นวิธีที่มีประสิทธิภาพที่สุด ในการทำเหมืองขนาดใหญ่มากๆ อย่างการทำเหมืองบนดวงจันทร์ หรือ แถบดาวเคราะห์น้อย เนื่องจากกลไกแบบนี้จะมีการเติบโตเป็นแบบเลขชี้กำลัง

[แก้]ชีวิตส่วนตัว

นอยมันน์นับเป็นบุคคลที่ฉลาดล้ำลึก และความจำที่เป็นเลิศเกือบจะเรียกได้ว่า จำได้ทุกอย่าง ในระดับรายละเอียดเลยก็ว่าได้ เขาเป็นคนชอบออกสังคมไม่เก็บตัว ชอบดื่มเหล้า เต้นรำ และ การเริงรมย์ เป็นคนสนุกสนาน และขบขัน เสียชีวิตที่กรุงวอชิงตัน ดี.ซี.
จาก การโปรแกรมเชิงเส้น ที่เขียนโดย George B. Dantzig ซึ่งเป็นผู้ที่คิดค้น simplex method ที่ใช้แก้ปัญหาการโปรแกรมเชิงเส้น เขาได้เขียนถึงนอยมันน์ จากประสบการณ์ที่ได้ไปพบและขอคำแนะนำจากนอยมันน์ และยังได้สะท้อนถึงบุคคลิกของนอยมันน์ และได้เล่าถึงตอนที่นอยมันน์ได้ช่วยเหลือ โดยการตอบคำถามของ Hotelling (ผู้คิดค้น Principal components analysis) ระหว่างการนำเสนอผลงานการโปรแกรมเชิงเส้นของเขา








     ชุดคำสั่งหรือชุดคำสั่งสถาปัตยกรรม (ISA), เป็นส่วนหนึ่งของสถาปัตยกรรมคอมพิวเตอร์ที่เกี่ยวข้องกับการเขียนโปรแกรมได้แก่ พื้นเมืองชนิดข้อมูลคำแนะนำการใช้, จิ , ที่อยู่โหมด , สถาปัตยกรรมหน่วยความจำ , ขัดจังหวะและการจัดการข้อยกเว้นและภายนอกI / O . ISA มีสเปคของชุดของopcodes ( ภาษาเครื่อง ) และคำสั่งพื้นเมืองดำเนินการโดยหน่วยประมวลผลโดยเฉพาะ

สถาปัตยกรรมชุดคำสั่งแตกต่างจากmicroarchitectureซึ่งเป็นชุดของเทคนิคการออกแบบหน่วยประมวลผลที่ใช้ในการดำเนินการตามชุดคำสั่ง เครื่องคอมพิวเตอร์ที่มี microarchitectures ที่แตกต่างกันสามารถใช้ร่วมกันชุดคำสั่งที่พบบ่อย ตัวอย่างเช่นIntel PentiumและAMD Athlonใช้รุ่นที่เหมือนกันเกือบ86ชุดคำสั่ง แต่มีการออกแบบภายในที่แตกต่างกันอย่างสิ้นเชิง

บางเครื่องเสมือนที่ bytecode การสนับสนุนสำหรับSmalltalk , เครื่องเสมือน Javaและไมโครซอฟท์รันไทม์ภาษาสามัญเครื่องเสมือนเป็น ISA ของพวกเขาใช้มันโดยแปล bytecode สำหรับใช้เส้นทางรหัสเป็นรหัสเครื่องพื้นเมืองและดำเนินการเส้นทางรหัสน้อยที่ใช้บ่อยโดย การตีความ; Transmetaดำเนินการเรียนการสอน x86 ตั้งอยู่บนยอดVLIWโปรเซสเซอร์ในแบบเดียวกัน



การดำเนินการตามชุดคำสั่ง

ชุดคำสั่งใด ๆ ให้สามารถดำเนินการได้ในหลายวิธี วิธีทั้งหมดของการดำเนินการเรียนการสอนกำหนดให้เหมือนรูปแบบการเขียนโปรแกรมและพวกเขาทั้งหมดจะสามารถทำงาน executables ไบนารีเดียวกัน วิธีการต่างๆของการใช้ชุดคำสั่งให้ tradeoffs ที่แตกต่างกันระหว่างค่าใช้จ่ายประสิทธิภาพการใช้พลังงาน, ขนาด, ฯลฯ
เมื่อออกแบบmicroarchitectureของโปรเซสเซอร์วิศวกรใช้บล็อกของ "ยากสาย" วงจรอิเล็กทรอนิกส์ (การออกแบบมักจะแยกกัน) เช่นงู Adder, multiplexers เคาน์เตอร์จิ, ALUs ฯลฯ ชนิดของบางภาษาโอนทะเบียนเป็นแล้วมักจะใช้ในการอธิบาย ถอดรหัสและจัดลำดับการเรียนการสอนของ ISA แต่ละใช้นี้ microarchitecture ทางกายภาพ มีสองวิธีพื้นฐานที่จะสร้างเป็นหน่วยควบคุมที่จะใช้คำอธิบายนี้ (แม้ว่าการออกแบบจำนวนมากใช้วิธีการประนีประนอมหรือกลาง):
  1. การออกแบบคอมพิวเตอร์ก่อนและบางส่วนของคอมพิวเตอร์ที่ง่าย RISC "ยากสาย" การเรียนการสอนชุดที่สมบูรณ์และการถอดรหัสพันธุกรรม (เช่นเดียวกับส่วนที่เหลือของ microarchitecture)
  2. การออกแบบอื่น ๆ จ้างmicrocodeประจำและ / หรือตารางการทำเช่นนี้มักจะเป็น-เกี่ยวกับรอมชิปและ / หรือพลาส (แม้ว่าแยก RAMs มีการใช้ในอดีต)
นอกจากนี้ยังมีบางลาย CPU ใหม่ที่รวบรวมคำแนะนำการตั้งค่าให้สามารถเขียนได้RAMหรือแฟลชภายใน CPU (เช่นRekursivโปรเซสเซอร์และImsysCjip ) [ 3 ]หรือ FPGA ( คอมพิวเตอร์ Reconfigurable ) Western Digital MCP-1600เป็นตัวอย่างที่มีอายุการใช้เฉพาะรอมที่แยกต่างหากสำหรับ microcode
ISA ยังสามารถเทิดทูนในซอฟแวร์โดยล่าม . ธรรมชาติอันเนื่องมาจากค่าใช้จ่ายในการตีความนี้จะช้ากว่าการรันโปรแกรมโดยตรงกับฮาร์ดแวร์เทิดทูนเว้นแต่ฮาร์ดแวร์ทำงานจำลองเป็นลำดับความสำคัญได้เร็วขึ้น วันนี้ก็เป็นเรื่องธรรมดาสำหรับผู้ขายจาก ISAs ใหม่หรือ microarchitectures ที่จะทำให้การเลียนแบบซอฟต์แวร์ที่มีให้นักพัฒนาซอฟต์แวร์ก่อนการใช้ฮาร์ดแวร์พร้อม
บ่อยครั้งที่รายละเอียดของการดำเนินการมีอิทธิพลอย่างมากต่อคำแนะนำที่เฉพาะเจาะจงเลือกสำหรับชุดคำสั่ง ตัวอย่างเช่นการใช้งานหลายท่อการเรียนการสอนเพียงให้หน่วยความจำร้านเดียวโหลดหรือหน่วยความจำต่อการเรียนการสอนที่นำไปสู่​​สถาปัตยกรรมโหลดเก็บ (RISC) ตัวอย่างอื่นที่เป็นวิธีเริ่มต้นของการดำเนินการระบบท่อส่งคำแนะนำและนำไปสู่​​ช่องล่าช้า .
ความต้องการของการประมวลผลสัญญาณความเร็วสูงแบบดิจิตอลได้ผลักในทิศทางที่ตรงข้ามกับคำแนะนำการใช้บังคับ-จะดำเนินการในทางหนึ่งตัวอย่างเช่นในคำสั่งเพื่อดำเนินการตัวกรองดิจิตอลได้อย่างรวดเร็วเพียงพอและคำแนะนำ MAC ในแบบฉบับตัวประมวลผลสัญญาณดิจิตอล (DSP) จะต้องดำเนินการโดยใช้ชนิดของฮาร์วาร์สถาปัตยกรรมที่สามารถเรียกคำสั่งและคำสองคำข้อมูลพร้อมกันและจะต้องเดียว วงจรคูณสะสม คูณ .

แก้ไข ]ความหนาแน่นของรหัส

ในเครื่องคอมพิวเตอร์ก่อนหน่วยความจำโปรแกรมมีราคาแพงดังนั้นการลดขนาดของโปรแกรมเพื่อให้แน่ใจว่ามันจะพอดีกับหน่วยความจำ จำกัด ก็มักจะเป็นศูนย์กลาง ดังนั้นขนาดรวมของทุกคำแนะนำที่จำเป็นในการดำเนินงานโดยเฉพาะอย่างยิ่งความหนาแน่นของรหัสเป็นลักษณะสำคัญของชุดคำสั่งใด ๆคอมพิวเตอร์ที่มีความหนาแน่นสูงรหัสยังมักจะมีคำแนะนำการใช้ที่ซับซ้อน (และมียังคง) สำหรับรายการกระบวนงานที่ผลตอบแทนพารามิเตอร์, ลูป ฯลฯ (ดังนั้นชื่อย้อนหลังชุดคำสั่งคอมพิวเตอร์ที่ซับซ้อน , CISC ) อย่างไรก็ตามเพิ่มเติมปกติหรือบ่อย "CISC" คำแนะนำการใช้เพียงการดำเนินงานรวม ALU พื้นฐานเช่น "เพิ่ม" ด้วยการเข้าถึงจากหนึ่งหรือมากกว่าหนึ่งตัวถูกดำเนินการในหน่วยความจำ (โดยใช้โหมดที่อยู่เช่นโดยตรงทางอ้อมที่จัดทำดัชนีและอื่น ๆ ) สถาปัตยกรรมบางอย่างอาจช่วยให้สองหรือสามตัวถูกดำเนินการ (รวมทั้งผล) โดยตรงในหน่วยความจำหรืออาจจะสามารถทำหน้าที่เช่นการเพิ่มตัวชี้อัตโนมัติ ฯลฯ ซอฟแวร์การใช้งานชุดคำสั่งอาจจะมีคำแนะนำการใช้มากขึ้นซับซ้อนและมีประสิทธิภาพ
คอมพิวเตอร์ชุดคําสั่งที่ลดลง , RISCถูกก่อนดำเนินการอย่างกว้างขวางในช่วงระยะเวลาของการเติบโตอย่างรวดเร็วระบบย่อยของหน่วยความจำและความหนาแน่นของรหัสเสียสละเพื่อลดความซับซ้อนของวงจรการดำเนินงานและจึงพยายามที่จะเพิ่มประสิทธิภาพการทำงานผ่านทางที่สูงขึ้นความถี่สัญญาณนาฬิกาและจิมากขึ้น คำแนะนำการใช้ RISC โดยทั่วไปจะดำเนินการเฉพาะการดำเนินการเดียวเช่น "เพิ่ม" จากรีจิสหรือ "โหลด" จากตำแหน่งหน่วยความจำในการลงทะเบียนพวกเขายังปกติใช้ความกว้างของการเรียนการสอนที่ถาวรในขณะที่ CISC ชุดการเรียนการสอนโดยทั่วไปมีหลายคำแนะนำที่สั้นกว่า นี้ความยาวคงที่ คำแนะนำการใช้ความกว้างคงที่มีความซับซ้อนน้อยกว่าที่จะจัดการกับคำแนะนำการใช้ตัวแปรที่มีความกว้างจากหลายสาเหตุ (ไม่ได้มีการตรวจสอบว่าการเรียนการสอนอยู่คร่อมเส้นแคชหรือหน่วยความจำเสมือนขอบเขตหน้า[ 4 ]เป็นต้น) และดังนั้นจึงค่อนข้างง่ายที่จะเพิ่มประสิทธิภาพสำหรับความเร็ว . แต่เป็นคอมพิวเตอร์ RISC มักจำเป็นต้องใช้คำสั่งมากขึ้นและมักจะไม่นำไปใช้งานที่กำหนดพวกเขาโดยเนื้อแท้ทำให้การใช้งานที่เหมาะสมน้อยกว่าของแบนด์วิดธ์ของบัสและความทรงจำแคช
คอมพิวเตอร์ชุดคำสั่งน้อยที่สุด (MISC) เป็นรูปแบบหนึ่งของเครื่องสแต็คที่มีคำแนะนำที่แยกจากกันไม่กี่ (16-64) เพื่อให้คำแนะนำหลาย ๆ สามารถบรรจุลงในเครื่องคำเดียว ชนิดของแกนเหล่านี้มักจะใช้เวลาเพียงเล็กน้อยซิลิกอนที่จะดำเนินการเพื่อให้พวกเขาสามารถรู้ได้อย่างง่ายดายในFPGAหรือในแบบ multi-coreแบบฟอร์ม ความหนาแน่นของรหัสที่คล้ายกับ RISC; ความหนาแน่นของการเรียนการสอนที่เพิ่มขึ้นจะถูกชดเชยโดยกำหนดเพิ่มเติมจากคำแนะนำการดั้งเดิมในการทำงานอ้างอิงที่จำเป็น ]
มีการวิจัยในการบีบอัดปฏิบัติการเป็นกลไกในการปรับปรุงความหนาแน่นของรหัส คณิตศาสตร์จากความซับซ้อนของ Kolmogorovอธิบายความท้าทายและข้อ จำกัด ของการนี้

แก้ไข ]จำนวนตัวถูกดำเนินการ

ชุดการสอนอาจจะแบ่งตามจำนวนสูงสุดของตัวถูกดำเนินการอย่างชัดเจนที่ระบุไว้ในคำแนะนำ
(ในตัวอย่างที่เป็นไปตาม, BและCมี (โดยตรงหรือจากการคำนวณ) ที่อยู่หมายถึงเซลล์หน่วยความจำในขณะที่reg1และอื่น ๆ ดูที่ลงทะเบียนเครื่อง.)
  • 0-ตัวถูกดำเนินการ ( เครื่องศูนย์ที่อยู่ ) เรียกว่าเครื่องสแต็ค : ทั้งหมดดำเนินการทางคณิตศาสตร์จะใช้สถานที่โดยใช้ชั้นหนึ่งหรือสองตำแหน่งในสแตก; คำแนะนำการผลักดัน 1-pop ตัวถูกดำเนินการและจะใช้ในการเข้าถึงหน่วยความจำ: กด , กด B, เพิ่ม , ป๊อป
  • 1-ตัวถูกดำเนินการ ( เครื่องหนึ่งที่อยู่ ) เรียกว่าเครื่องสะสม , รวมถึงคอมพิวเตอร์และต้นขนาดเล็กจำนวนมากไมโครคอนโทรลเลอร์ : คำแนะนำการใช้มากที่สุดระบุตัวถูกดำเนินการทางด้านขวาเพียงครั้งเดียว (นั่นคือค่าคงที่ลงทะเบียนหรือตำแหน่งหน่วยความจำ) กับนัยสะสมเป็น ตัวถูกดำเนินการทางด้านซ้าย (และปลายทางหากมีหนึ่ง): โหลด เพิ่ม  , เก็บ  . คลาสที่เกี่ยวข้องกับการปฏิบัติเป็นเครื่องสแต็คที่มักจะอนุญาตให้ตัวถูกดำเนินการที่ชัดเจนในคำแนะนำเดียวเลขคณิต: ดัน , เพิ่มข, ป๊อป
  • 2-ตัวถูกดำเนินการ - หลาย CISC และ RISC เครื่องตกอยู่ภายใต้หมวดหมู่นี้:
    • CISC - มักจะโหลด , reg1 ; เพิ่ม reg1, B ; เก็บ reg1, Cบนเครื่องที่จะถูก จำกัด ให้ตัวถูกดำเนินการอย่างใดอย่างหนึ่งต่อหน่วยความจำและคำแนะนำ; นี้อาจจะเป็นภาระและเก็บในสถานที่เดียวกัน
    • CISC - ย้าย -> c ; เพิ่ม C + = b .
    • RISC - การกำหนดหน่วยความจำที่ชัดเจนโหลดคำแนะนำการใช้จะเป็น: โหลด , reg1 ; ภาระ B, reg2 ; เพิ่ม reg1, reg2 ; เก็บ reg2, C
  • 3-ตัวถูกดำเนินการเพื่อให้สามารถนำมาใช้ใหม่ที่ดีขึ้นของข้อมูล: [ 4 ]
    • CISC - มันจะกลายเป็นทั้งคำเดียว: เพิ่ม , B, C , หรือมากกว่าปกติ: ย้าย , reg1 ; เพิ่ม reg1, B, Cเป็นเครื่องส่วนใหญ่จะถูก จำกัด ให้สองตัวถูกดำเนินการของหน่วยความจำ
    • RISC - เลขคณิตการใช้คำแนะนำการใช้ที่ลงทะเบียนเท่านั้นที่ชัดเจนเพื่อให้ตัวถูกดำเนินการ 2-คำแนะนำการโหลด / ร้านค้าที่มีความจำเป็น:โหลด , reg1 ; ภาระ B, reg2 ; เพิ่ม reg1 + reg2-> reg3 ; เก็บ reg3, C ; แตกต่างจาก 2-ตัวถูกดำเนินการหรือ 1 - ตัวถูกดำเนินการ, ใบนี้ออกจากทั้งสามค่า A, B, C และในการลงทะเบียนพร้อมใช้งานสำหรับนำมาใช้ใหม่ต่อไป[ 4 ] .
  • ตัวถูกดำเนินการบางอย่างมากขึ้นเครื่อง CISC อนุญาตให้มีความหลากหลายของรูปแบบที่อยู่ที่ให้ได้มากกว่า 3 ตัวถูกดำเนินการ (จิหรือเข้าถึงหน่วยความจำ) เช่นVAX "POLY" การเรียนการสอนการประเมินผลการพหุนาม
เนื่องจากจำนวนมากของบิตที่จำเป็นในการเข้ารหัสสามของการลงทะเบียนเรียนการสอน 3-ตัวถูกดำเนินการประมวลผล RISC โดยใช้คำแนะนำ 16-bit มีคงเส้นคงวาเครื่อง 2-ตัวถูกดำเนินการเช่น Atmel AVR, TI MSP430และบางรุ่นของARM Thumb . โปรเซสเซอร์ RISC โดยใช้คำแนะนำ 32-บิตมักจะเครื่อง 3-ตัวถูกดำเนินการเช่นการใช้หน่วยประมวลผลสถาปัตยกรรมไฟฟ้า , SPARCสถาปัตยกรรมMIPS สถาปัตยกรรม , สถาปัตยกรรม ARMและAVR32สถาปัตยกรรม
การเรียนการสอนแต่ละระบุจำนวนบางส่วนของตัวถูกดำเนินการ (จิ, สถานที่หน่วยความจำหรือค่าทันที) อย่างชัดเจน . คำแนะนำการใช้บางอย่างให้ตัวถูกดำเนินการอย่างใดอย่างหนึ่งหรือทั้งสองโดยปริยายเช่นโดยการถูกเก็บไว้ที่ด้านบนของสแต็กในการลงทะเบียนหรือโดยนัย เมื่อบางส่วนของตัวถูกดำเนินการจะได้รับโดยปริยายจำนวนตัวถูกดำเนินการที่ระบุไว้ในคำสั่งมีขนาดเล็กกว่าarityของการดำเนินงาน เมื่อ "ตัวถูกดำเนินปลายทาง" อย่างชัดเจนระบุปลายทางจำนวนของตัวถูกดำเนินการตัวชี้เฉพาะในการสอนมีขนาดใหญ่กว่า arity ของการดำเนินงาน บางชุดคำสั่งจะมีตัวเลขที่แตกต่างกันของตัวถูกดำเนินการสำหรับคำแนะนำที่แตกต่างกัน


plat form


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

                Platform คือ เทคโนโลยีพื้นฐานของเทคโนโลยีหรือกระบวนการอื่น




 หน่วยความจำ หลัก (RAM)

ระบบบัส

♦ External Static RAM (แคชบนเมนบอร์ด)
♦ การ์ดควบคุมการแสดงผล (VGA Card)
♦ การ์ดเพิ่มขยาย
♦ ฮาร์ดดิสก์ (Harddisk)
♦ ชิปเซต (Chipset)

บทบาทของระบบบัส


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

จะพบว่าบัสแบ่งได้เป็น 4 ส่วนใหญ่ๆดังนี้


1.สายไฟฟ้า (POWER LINE) จะให้พลังไฟฟ้ากับการ์ดขยายต่างๆ

2. สายควบคุม (CONTROL LINE) ใช้สำหรับส่งผ่านสัญญาณเวลา (TIMING SIGNS) จาก นาฬิกาขอระบบ และส่งสัญญาณอินเตอร์รัพต์

3. สายแอดเดรส (ADDRESS LINE) ข้อมูลใดๆที่จะถูกส่งผ่านไป แอดเดรสเป้าหมายจะถูกส่งมาตามสายข้อมูลและบอกให้ตำแหน่งรับข้อมูล (แอดเดรส) รู้ว่าจะมีข้อมูลบางอย่างพร้อมที่จะส่งมาให้

4. สายข้อมูล (DATA LINE) ไมโครเมตรจะตรวจสอบว่ามีสัญญาณแสดงความพร้อมหรือยัง (บนสาย I/O CHANNEL READY) เมื่อทุกอย่างเป็นไปด้วยดี ข้อมูลก็จะถูกส่งผ่านไปตามสายข้อมูล จำนวนสายที่ระบุถึงแอดเดรสของบัส หมายถึง จำนวนของหน่วยความจำที่อ้างแอดเดรสได้ทั้งหมด เช่น สายแอดเดรส 20 สาย สามารถใช้หน่วยความจำได้ 1 เมกะไบต์ จำนวนของสายบัสจะหมายถึงบัสข้อมูล ซึ่งก็คือข้อมูลทั้งหมดที่ส่งผ่านไปในบัสตามกฎที่ตั้งไว้ ความเร็วในการทำงานที่เหมาะสมจะเป็นไปได้ก็ต่อเมื่อ จำนวนสายข้อมูลเพียงพอกับจำนวนสายส่งข้อมูลของไมโครโพรเซสเซอร์ จำนวนสายส่งข้อมูลมักจะระบุถึงคุณสมบัติของบัสในเครื่องพีซีนั้นๆ เช่น บัส 16 บิต หมายถึง บัสที่ใช้สายข้อมูล 16 สายนั่นเอง


ประเภทของบัส


โดยทั่วไป ระบบบัส ในเครื่องคอมพิวเตอร์ ถูกแบ่งออกเป็น 3 ประเภท กล่าวคือ


1. ADDRESS BUS คือ ระบบบัสที่ใช้สำหรับแจ้งตำแหน่งหรือ ระบุตำแหน่งที่อยู่ ในระบบคอมพิวเตอร์

2. CONTROL BUS คือ ระบบบัสที่ใช้สำหรับส่งการควบคุม ไปยังส่วนต่างๆ ในระบบคอมพิวเตอร์

3. DATA BUS คือ ระบบบัสที่ใช้สำหรับการส่งข้อมูลไปยังตำแหน่งที่ระบุโดย Address bus และ ถูกควบคุมโดย Control bus


การทำงานของบัส


เมื่อ BUS เป็นเส้นทางการส่งข้อมูลที่เป็นสัญญานไฟฟ้าในระบบคอมพิวเตอร์ของเรา ดังนั้นก็จะมี วงจร สำหรับควบคุมการทำงานของระบบ BUS เรียกว่า BUS Controller ซึ่งในอดีต มี Chip IC ที่ทำหน้าที่นี้โดยตรงแยกออกไป ในปัจจุบัน ได้มีการ รวมวงจรควบคุม BUS นี้เข้าไว้ใน North Bridge Chip โดยที่วงจรควบคุมระบบ BUS นี้จะทำหน้าที่ จัดช่องสัญญานประเภทต่างๆให้ทำงานร่วมกันอย่างเป็นระบบ บนเมนบอร์ดให้กับอุปกรณ์ที่ร้องขอใช้งาน เช่น CPU , อุปกรณ์ I/O , Port ต่างๆ เป็นต้นอีกนัยหนึ่งของ BUS มีเรียกขานกันในเรื่องเกี่ยวกับเครื่อข่ายคอมพิวเตอร์ ( Computer Network ) โดยมีความหมายว่า เป็นสถาปัตยกรรมการต่อเชื่อมเครื่อข่ายคอมพิวเตอร์รูปแบบหนึ่ง โดยมีแนวเส้นหลัก ทำหน้าที่เสมือนหนึ่งเป็น " ถนนสายหลัก " ที่ใช้สำหรับ " เดินทาง " หรือ " ขนส่งข้อมูล " และ เครื่องคอมพิวเตอร์ที่ต่ออยู่กับระบบ BUS Network นี้ เป็นเสมือนหนึ่ง " บ้าน " ที่อยู่ใน " ถนนย่อย " ที่แยกออกจากถนนหลัก โดยที่ " ถนนย่อย " ที่แยกแต่ละถนนนั้น จะมี " เครื่องคอมพิวเตอร์ หรือ บ้าน " เพียงหลังเดียวอยู่ที่ปลายถนนย่อยแต่ละเส้น นั่นเอง โดยที่จุดแยกเข้าถนนย่อยนั้น จะมีอุปกรณ์ตัวหนึ่งที่ทำหน้าที่ " แยกสัญญาน " หรือ " พ่วงสัญญาน " ที่เรียกว่า MAC ( Media Access Connector ) เป็นตัวเชื่อมต่อและแยกสัญญานให้


บัสหมายถึง


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

ระบบ BUS ทางกายภาพ คือสายทองแดงที่วางตัวอยู่บนแผงวงจรของเครื่องคอมพิวเตอร์ ที่เชื่อมโยงกับอุปกรณ์ต่างๆ ความกว้างของระบบบัส จะนับขนาดข้อมูลที่วิ่งอยู่โดยจะมีหน่วยเป็น บิต (BIT) บนเครื่องไมโครคอมพิวเตอร์ บัสจะมีความกว้างหลายขนาด ขึ้นอยู่กับรุ่นของเครื่องพีซี เช่น บัสขนาด 8 บิต 16 บิต และ 32 บิต โดยปัจจุบันจะกว้าง 16 บิต บัสยิ่งกว้างจะทำให้การส่งถ่ายข้อมูลจะทำได้ครั้งละมากๆ จะมีผลทำให้คอมพิวเตอร์เครื่องนั้นทำงานได้เร็วตามไปด้วย ทั้ง ISA, PCI, AGP, VLPCI ล้วนแต่เป็น CARD เพิ่มขยาย (EXPANSION CARD) ซึ่งนำมาต่อกับระบบบัสเพิ่มขยาย (EXPANSION BUS) ที่จะช่วยเพิ่มประสิทธิภาพ และช่วยเพิ่มขีดความสามารถให้กับคอมพิวเตอร์ระบบบัสเพิ่มขยายนั้น จะช่วยให้เราสามารถปรับแต่ง หรือเพิ่มขยายความสามารถของระบบ โดยผ่านทาง PLUG-IN BOARD หรือเรียกว่า เป็น CARD เพิ่มขยาย EXPANSION CARD เช่นเมื่อต้องการให้เครื่อง COMPUTER มีเสียง อยากให้คอมพิวเตอร์เล่นเพลงได้ก็ต้องหาซื้อ SOUNDCARD และลำโพงมาต่อเพิ่ม โดยแค่นำมา PLUG ลงใน EXPANSION SLIT บน MAINBOARD และทำการ CONFIG ก็สามารถใช้งานได้ โดยไม่จำเป็นต้องเดินสายไฟ รื้อ MAINBOARD ให้ยุ่งยาก

ระบบบัสเพิ่มขยายนี้มีใช้มานานแล้ว โดยสมัยแรกๆที่ทำการลดขนาดเมนเฟรม เป็นMINICOMPUTER บริษัท DIGITAL EQUIPMENT CORPORATION หรือที่รู้จักกันในนาม DEC

ได้วางตลาดMINICOMPUTER ลักษณะ BUS-ORIENTED DESIGN ซึ่งประกอบไปด้วย

แผงวงจรย่อยๆบน BOARD นำมาประกอบรวมกัน ต่อมา เครื่องจักรที่ได้รับยกย่องว่าเป็น PC (PERSONAL COMPUTER) เครื่องแรกก็ได้ถือกำเนิดขึ้น เป็นผลงานของ ED ROBERTS

โดยให้ชื่อว่า ALTAIR (อัลแตร์) ซึ่งลักษณะของเครื่องนี้ จะเป็นลักษณะ SINGLE BOARD MACHINE กล่าวคือมีเพียง BOARD เปล่าๆ ซึ่งมี SLOT เพิ่มขยายให้จำนวนหนึ่ง และตัว CPU เองรวมทั้งหน่วยความจำหลัก (MAIN MEMORY/RAM) ก็อยู่บน BOARD เพิ่มขยายที่นำมา PLUG บน SLOT นั้นๆนั่นเอง โดยระบบบัสที่ใช้เรียกว่า S-100 หรือ ALTAIR BUS (IEEE 696) ซึ่งก็ใช้เป็นมาตรฐานในวงการนี้มานานหลายปี แต่ก็ใช่ว่าเครื่องทุกๆเครื่องจะต้องใช้ ALTAIR BUS นี้ เพราะทาง APPLE เองก็ออกมาตรฐานของตัวเองขึ้นมา เรียกว่า APPLE BUS และทาง IBM เอง ก็ได้กำหนดมาตรฐาน PC BUS ขึ้นมาพร้อมๆกับการ IBM PC ต้นแบบ


ส่วนประกอบของระบบบัส


ระบบบัสนั้นประกอบด้วย


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



ผลของความเร็วบัส


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


ปกรณ์ที่ได้รับผลจากการเปลี่ยนแปลงความเร็วบัส


♦ หน่วยความจำ หลัก (RAM)
♦ External Static RAM (แคชบนเมนบอร์ด)
♦ การ์ดควบคุมการแสดงผล (VGA Card)
♦ การ์ดเพิ่มขยาย
♦ ฮาร์ดดิสก์ (Harddisk)
♦ ชิปเซต (Chipset)

                                                                   




                                                             John von Neumann
        ได้คิดโครงสร้างสถาปัตยกรรมฟอนนอยมันน์ (อังกฤษ: von Neumann architecture) คือรูปแบบการออกแบบพื้นฐานของคอมพิวเตอร์ที่ใช้หน่วยประมวลผลกับพื้นที่บันทึกความจำเป็นโครงสร้างในการเก็บคำสั่งและข้อมูล รูปแบบนี้ตั้งชื่อตามจอห์น ฟอน นอยมันน์ ผู้เป็นนักคณิตศาสตร์และนักวิทยาการคอมพิวเตอร์ในยุคบุกเบิก

โครงสร้างของสถาปัตยกรรมฟอนนอยมันน์ ประกอบด้วยรูปแบบการทำงานหลักๆ 3 แบบได้แก่:

1.ตัวเครื่องคอมพิวเตอร์ ซึ่งประกอบด้วย 4 ส่วนย่อย คือ
หน่วยความจำ (Memory)
หน่วยคำนวณและตรรกะ (Arithmetic Logic Unit หรือ ALU)
หน่วยควบคุม (Control unit)
ระบบรับค่าและแสดงผล (Input/Output System หรือ I/O)
2.โปรแกรม ซึ่งจะถูกเก็บไว้ในหน่วยความจำ จนกว่าจะถูกเรียกใช้
3.คำสั่งของโปรแกรม ซึ่งจะทำงานตามลำดับขั้นตอน เมื่อโปรแกรมถูกเรียกใช้


มีแนวคิดพื้นฐานที่สำคัญอยู่ 3 ประการ คือ
• ข้อมูลและคำสั่งจะต้องเก็บอยู่ในหน่วยความจำที่สามารถอ่านเขียน
• สิ่งที่เก็บอยู่ในหน่วยความจำนี้จะสามารถเข้าถึงได้โดยการระบุตำแหน่ง โดยไม่คำนึงถึงชนิดของข้อมูลที่บรรจุอยู่ภายใน
• การทำงานตามคำสั่งจะเป็นการทำแบบเรียงตามลำดับจากคำสั่งหนึ่งไปยังคำสั่งถัดไป (ยกเว้นบางกรณีที่มีการเปลี่ยนลำดับคำสั่ง)
เหตุผลของแนวคิดนี้ก็สืบเนื่องมาจากการข้อเสียของการออกแบบในเครื่องในยุคแรกๆ ที่สร้างขึ้นจากส่วนประกอบทางตรรกะขนาดเล็กหลายๆ ตัวนำมาเชื่อมต่อกันเพื่อให้สามารถเก็บข้อมูลและทำการคำนวณทางคณิตศาสตร์และตรรกะกับข้อมูลนั้นๆ ได้ เมื่อต้องการคำนวณแบบใดก็ตาม ต้องมีการออกแบบและกำหนดค่า (Configuration) ให้กับส่วนประกอบทางตรรกะแต่ละตัวเหล่านี้ เพื่อใช้สำหรับการคำนวณนั้นๆ ขึ้นมาโดยเฉพาะ 2
กระบวนการเชื่อมต่อส่วนประกอบเหล่านี้ตามที่แบบที่ได้กำหนดไว้