ในหลาย ๆ กรณีทางเลือกนั้นค่อนข้างสมบูรณ์หรือขึ้นอยู่กับ "ที่ใดก็ตามที่เหมาะสมที่สุด" เมื่อ ISAs เติบโตขึ้นตามกาลเวลา อย่างไรก็ตาม MOS 6502 เป็นตัวอย่างที่ยอดเยี่ยมของชิปที่การออกแบบ ISA ได้รับอิทธิพลอย่างมากจากการพยายามบีบทรานซิสเตอร์ให้ได้มากที่สุดเท่าที่จะทำได้
ลองชมวิดีโอนี้เพื่ออธิบายว่า 6502 นั้นถูกออกแบบวิศวกรรมย้อนกลับโดยเฉพาะจาก 34:20 เป็นต้นไป
6502 เป็นไมโครโปรเซสเซอร์ 8 บิตที่นำมาใช้ในปี 1975 แม้ว่าจะมีประตูน้อยกว่า Z80 ถึง 60% แต่ก็เร็วเป็นสองเท่าและแม้ว่าจะมีข้อ จำกัด มากกว่า (ในแง่ของรีจิสเตอร์เป็นต้น) แต่ก็สร้างขึ้นด้วย ชุดคำสั่งที่สง่างาม
มันมีทรานซิสเตอร์เพียง 3510 ตัวซึ่งถูกดึงออกมาด้วยมือโดยทีมงานกลุ่มเล็ก ๆ ที่คลานไปบนแผ่นพลาสติกขนาดใหญ่บางแผ่นซึ่งต่อมาถูกลดทอนสายตาลงทำให้กลายเป็นชั้นต่าง ๆ ของ 6502
ดังที่คุณเห็นด้านล่าง 6502 ผ่าน opcode คำสั่งและข้อมูลเวลาลงใน ROM ถอดรหัสจากนั้นส่งผ่านไปยังองค์ประกอบ "ตรรกะการควบคุมแบบสุ่ม" ซึ่งมีวัตถุประสงค์ที่จะลบล้างเอาต์พุตของ ROM ในสถานการณ์ที่ซับซ้อนบางอย่าง
เวลา 37:00 น. ในวิดีโอคุณสามารถดูตารางของการถอดรหัส ROM ซึ่งแสดงให้เห็นว่าเงื่อนไขใดที่อินพุตจะต้องตอบสนองเพื่อรับ "1" สำหรับเอาต์พุตควบคุมที่กำหนด คุณสามารถค้นหาได้ในหน้านี้
คุณสามารถเห็นได้ว่าสิ่งต่าง ๆ ส่วนใหญ่ในตารางนี้มี Xs ในตำแหน่งต่าง ๆ ลองยกตัวอย่าง
011XXXXX 2 X RORRORA
นี่หมายความว่า 3 บิตแรกของ opcode ต้องเป็น 011 และ G ต้องเป็น 2 ไม่มีอะไรอื่นที่สำคัญ ถ้าเป็นเช่นนั้นเอาต์พุตชื่อ RORRORA จะเป็นจริง ตัวเลือก ROR ทั้งหมดเริ่มต้นด้วย 011 แต่มีคำแนะนำอื่น ๆ ซึ่งเริ่มต้นด้วย 011 เช่นกัน สิ่งเหล่านี้อาจต้องถูกกรองออกโดยหน่วย "ตรรกะการควบคุมแบบสุ่ม"
โดยพื้นฐานแล้ว opcodes ได้รับเลือกดังนั้นคำแนะนำที่จำเป็นต้องทำในสิ่งเดียวกันกับที่คนอื่นมีบางสิ่งที่เหมือนกันในรูปแบบบิตของพวกเขา คุณสามารถดูนี้โดยการมองหาที่โต๊ะ opcode ; คำสั่ง OR ทั้งหมดเริ่มต้นด้วย 000 คำแนะนำร้านค้าทั้งหมดเริ่มต้นด้วย 010 คำแนะนำทั้งหมดที่ใช้การกำหนดแอดเดรสศูนย์หน้าเป็นแบบฟอร์ม xxxx01xx แน่นอนว่าคำแนะนำบางอย่างดูเหมือนจะไม่“ พอดี” เพราะเป้าหมายไม่ใช่รูปแบบ opcode ปกติอย่างสมบูรณ์ แต่ให้ชุดคำสั่งที่มีประสิทธิภาพ และนี่คือเหตุผลที่ "ตรรกะควบคุมแบบสุ่ม" มีความจำเป็น
หน้าที่ฉันกล่าวถึงข้างต้นบอกว่าบางบรรทัดเอาท์พุทใน ROM ปรากฏขึ้นสองครั้ง "เราถือว่าสิ่งนี้ทำได้เพราะพวกเขาไม่มีทางที่จะกำหนดเส้นทางเอาท์พุทของบางบรรทัดที่พวกเขาต้องการดังนั้นพวกเขาจึงใส่บรรทัดเดียวกัน ตำแหน่งอีกครั้ง " ฉันแค่นึกภาพวิศวกรวาดภาพประตูเหล่านั้นทีละคนและรู้ตัวว่ามีข้อบกพร่องในการออกแบบและพยายามหาวิธีหลีกเลี่ยงที่จะเริ่มกระบวนการทั้งหมดใหม่