กลับไปหน้าบทความ

อ่าน 2 นาที

ภาษาโปรแกรมของฟอน นอยมันน์

ภาษาฟอนนอยมันน์ในการคำนวณคือภาษาโปรแกรม ที่เป็นสำเนา ไอโซมอ ร์ฟิก นามธรรมระดับสูงของสถาปัตยกรรมฟอนนอยมันน์ ณปี 2009 ภาษาโปรแกรมส่วนใหญ่ในปัจจุบันเข้าข่ายคำอธิบายนี้

ภาษาโปรแกรมของฟอน นอยมันน์

(Learn how and when to remove this message)

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

ความแตกต่างระหว่างFortran , Cและแม้แต่Javaแม้จะมีมาก แต่สุดท้ายแล้วก็ถูกจำกัดด้วยพื้นฐานการเขียนโปรแกรมของคอมพิวเตอร์แบบ von Neumann เหมือนกันทั้งหมด ตัวอย่างเช่น หากวัตถุใน Java ทั้งหมดถูกประมวลผลแบบขนานด้วยการส่งข้อความแบบ อะซิงโครนัส และการกำหนดแอดเดรสแบบประกาศตามแอตทริบิวต์แล้ว Java ก็จะไม่จัดอยู่ในกลุ่มนี้

ความเหมือนกันระหว่างภาษาโปรแกรมและสถาปัตยกรรมของฟอน นอยมันน์เป็นไปในลักษณะดังต่อไปนี้:

  • ตัวแปรโปรแกรม ↔ เซลล์หน่วยความจำคอมพิวเตอร์
  • คำสั่งควบคุม ↔ คำสั่งทดสอบและกระโดดของคอมพิวเตอร์
  • คำสั่งกำหนดค่า ↔ คำสั่งดึงข้อมูลและจัดเก็บ
  • นิพจน์ ↔ การอ้างอิงหน่วยความจำและคำสั่งทางคณิตศาสตร์

การวิจารณ์

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

Backus อ้างว่าในปี 1978 มีวงจรที่เลวร้ายเกิดขึ้นในวิทยาศาสตร์คอมพิวเตอร์ซึ่งการเน้นภาษา von Neumann มายาวนานทำให้สถาปัตยกรรมคอมพิวเตอร์ von Neumann ยังคงมีความสำคัญ และการพึ่งพาภาษาดังกล่าวทำให้ภาษาที่ไม่ใช่ von Neumann ไม่คุ้มค่าทางเศรษฐกิจ จึงจำกัดการพัฒนาต่อไป: การขาดแคลนภาษาที่ไม่ใช่ von Neumann ที่มีให้ใช้กันอย่างแพร่หลายและมีประสิทธิภาพ ทำให้นักออกแบบคอมพิวเตอร์ขาดแรงจูงใจและรากฐานทางปัญญาที่จำเป็นในการพัฒนาสถาปัตยกรรมคอมพิวเตอร์ใหม่[ 2 ]

การปรากฏตัวในระบบสมัยใหม่

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

โปรเซสเซอร์เฉพาะทางบางตัว (รวมถึงGPU ) เป็น อุปกรณ์ MIMD ( Multiple Instruction, Multiple Data ) ที่มีความกว้างของแกนประมวลผลสูงมาก CPU ทั่วไปมักมีหลายแกนประมวลผล แต่แต่ละแกนก็เร็วพอที่จะทำให้โปรแกรมหลายโปรแกรมทำงานได้เร็วโดยไม่ต้องใช้การประมวลผลแบบขนาน (โดยทั่วไปจะใช้เธรดในการจัดการกับอินพุตหรือเอาต์พุตแบบอะซิงโครนัส โดยเฉพาะในGUI ) CPU ทั่วไปจัดเป็นอุปกรณ์ MIMD ในทางเทคนิค แต่โดยปกติแล้วจะเรียกเฉพาะฮาร์ดแวร์ที่ออกแบบมาสำหรับการเขียนโปรแกรม MIMD โดยเฉพาะเท่านั้นว่า MIMD

ภาษาโปรแกรมที่ใช้กันอย่างแพร่หลายหลายภาษา เช่นC , C++และJavaไม่ได้เป็นภาษาแบบ von Neumann อย่างเคร่งครัดอีกต่อไปแล้ว เนื่องจากการเพิ่มการสนับสนุนการประมวลผลแบบขนานในรูปแบบของเธรด อย่างไรก็ตาม ภาษา ที่ไม่ใช่ แบบ von Neumann อย่างชัดเจนส่วนใหญ่ก็เป็น ภาษา เชิงฟังก์ชัน เช่นกัน และยังไม่เป็นที่นิยมใช้กันอย่างแพร่หลาย

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Von_Neumann_programming_languages&oldid=1242253626 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาษาโปรแกรมของฟอน นอยมันน์

ภาษาฟอนนอยมันน์ในการคำนวณคือภาษาโปรแกรม ที่เป็นสำเนา ไอโซมอ ร์ฟิก นามธรรมระดับสูงของสถาปัตยกรรมฟอนนอยมันน์ ณปี 2009 ภาษาโปรแกรมส่วนใหญ่ในปัจจุบันเข้าข่ายคำอธิบายนี้

การวิจารณ์

จอห์น แบคคัส กล่าวว่า คำสั่งกำหนดค่าในภาษาฟอน นอยมันน์ แบ่งการเขียนโปรแกรมออกเป็นสองโลก โลกแรกประกอบด้วย นิพจน์ ซึ่งเป็น พื้นที่ทางคณิตศาสตร์ ที่เป็นระเบียบและมีคุณสมบัติทางพีชคณิตที่เป็นประโยชน์: การคำนวณส่วนใหญ่เกิดขึ้นในพื้นที่นี้ โลกที่สองประกอบด้วย...

การปรากฏตัวในระบบสมัยใหม่

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

ดูเพิ่มเติม

ความเหมือนกัน ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Von_Neumann_programming_languages&oldid=1242253626 "