ชุดคำสั่งคืออะไร?

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

รหัสลับ

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

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

เมื่อคำสั่งถูกถอดรหัสแล้ว คำสั่งนั้นจะถูกดำเนินการ ลักษณะการทำงานที่แน่นอนของ CPU จะขึ้นอยู่กับการทำงาน การดำเนินการเพิ่มเติมจะรวมสองค่าเข้าด้วยกัน การดำเนินการข้ามจะคำนวณตำแหน่งในโปรแกรมที่จะข้ามไป การดำเนินการเปรียบเทียบจะเปรียบเทียบค่าสองค่า การดำเนินการของ NOP จะไม่ได้ใช้งาน เนื่องจาก NOP ย่อมาจาก No Operation

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

Opcodes ที่ผิดกฎหมาย

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

เกมคอมพิวเตอร์ในยุคแรก ๆ บางเกมใน Apple II อาศัย opcodes ที่ผิดกฎหมายโดยเฉพาะ จากนั้นพวกเขาประสบปัญหาด้านประสิทธิภาพและความเสถียรในการแก้ไข Apple IIc CPU ในภายหลังเนื่องจาก IIc ได้ลบ opcodes ที่ผิดกฎหมายที่เกมต้องการ นอกจากนี้ยังใช้รหัสที่ผิดกฎหมายในแวดวงการคุ้มครองลิขสิทธิ์เป็นวิธีการรักษาความปลอดภัยผ่านความสับสนในการต่อสู้กับโจรสลัดที่ถอดรหัสเนื้อหาของพวกเขา opcodes ที่ผิดกฎหมายบางตัวหมายถึงเครื่องมือแก้ไขข้อบกพร่องและตัวจัดการข้อผิดพลาด

ชุดคำสั่ง x86 มี opcodes ผิดกฎหมายที่ไม่มีเอกสารจำนวนมาก ที่น่าสนใจคือ สิ่งเหล่านี้บางส่วนใช้ร่วมกันระหว่างซีพียู Intel และ AMD ซึ่งบ่งชี้ว่าทั้งสองบริษัทรับรู้ถึงวัตถุประสงค์ของพวกเขาต่อสาธารณะในขณะที่ไม่มีเอกสาร

คอมไพเลอร์และการประกอบ

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

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

บทสรุป

ชุดคำสั่งคือรายการฟังก์ชันอย่างเป็นทางการที่สถาปัตยกรรม CPU สามารถเรียกใช้ได้ เป็นรายการการดำเนินการที่สามารถดำเนินการได้ การดำเนินการเหล่านี้ถูกฮาร์ดโค้ดลงใน CPU และเรียกโดยใช้ opcodes ที่เกี่ยวข้อง

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



Leave a Comment

วิธีการโคลนฮาร์ดไดรฟ์

วิธีการโคลนฮาร์ดไดรฟ์

ในยุคดิจิทัลสมัยใหม่ ที่ข้อมูลเป็นทรัพย์สินที่มีค่า การโคลนฮาร์ดไดรฟ์บน Windows อาจเป็นกระบวนการที่สำคัญสำหรับหลายๆ คน คู่มือที่ครอบคลุมนี้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

คุณกำลังเผชิญกับข้อความแสดงข้อผิดพลาดขณะบูตเครื่องคอมพิวเตอร์ซึ่งระบุว่าไดรเวอร์ WUDFRd ไม่สามารถโหลดบนคอมพิวเตอร์ของคุณได้ใช่หรือไม่?

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? หากใช่ โปรดอ่านบล็อกเพื่อดูวิธีแก้ไขข้อผิดพลาดนี้อย่างรวดเร็วและง่ายดาย

Roomba Stops, Sticks and Turns Around – Fix

Roomba Stops, Sticks and Turns Around – Fix

Fix a problem where your Roomba robot vacuum stops, sticks, and keeps turning around.

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

คุณจำเป็นต้องลบ GPU ออกจากพีซีของคุณหรือไม่? เข้าร่วมกับฉันในขณะที่ฉันอธิบายวิธีลบ GPU ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

ซื้อ NVMe M.2 SSD ใหม่ แต่ไม่รู้ว่าจะติดตั้งอย่างไร? อ่านเพื่อเรียนรู้วิธีติดตั้ง NVMe SSD บนแล็ปท็อปหรือเดสก์ท็อป

Logic Bomb คืออะไร?

Logic Bomb คืออะไร?

ลอจิกบอมบ์คือเหตุการณ์ด้านความปลอดภัยที่ผู้โจมตีดำเนินการล่าช้า อ่านต่อเพื่อหาข้อมูลเพิ่มเติม

SoC คืออะไร?

SoC คืออะไร?

หากคุณเคยดูภายในพีซีทาวเวอร์ คุณจะเห็นว่ามีส่วนประกอบต่างๆ มากมาย แล็ปท็อปทั่วไปของคุณมีส่วนประกอบที่เหมือนกันเป็นส่วนใหญ่

การเข้ารหัสแบบอสมมาตรคืออะไร?

การเข้ารหัสแบบอสมมาตรคืออะไร?

อัลกอริธึมการเข้ารหัสแบบอสมมาตรใช้สองคีย์ที่แตกต่างกัน คีย์หนึ่งใช้สำหรับเข้ารหัสและอีกคีย์หนึ่งสำหรับถอดรหัส

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck มีตัวเลือกพื้นที่เก็บข้อมูลสามแบบ: 64GB eMMC, 256GB NVMe SSD และ 512GB NVMe SSD ขึ้นอยู่กับคลังเกมของคุณและขนาดของเกม