ฉันเรียนที่วิทยาลัย 68HC11 พวกมันง่ายมากที่จะทำงานกับ แต่ไมโครคอนโทรลเลอร์ที่ใช้พลังงานต่ำส่วนใหญ่จะมีความคล้ายคลึงกัน (AVR, 8051, PIC, MSP430) สิ่งที่ใหญ่ที่สุดที่จะเพิ่มความซับซ้อนให้กับการเขียนโปรแกรม ASM สำหรับไมโครคอนโทรลเลอร์เป็นจำนวนและประเภทของหน่วยความจำที่รองรับอยู่โหมด คุณควรหลีกเลี่ยงอุปกรณ์ที่ซับซ้อนมากขึ้นในตอนแรกเช่นโปรเซสเซอร์ ARM ระดับสูงขึ้น
ฉันอาจแนะนำ MSP430 เป็นจุดเริ่มต้นที่ดี อาจจะเขียนโปรแกรมใน C และเรียนรู้โดยแทนที่ฟังก์ชั่นต่าง ๆ ด้วยชุดประกอบแบบอินไลน์ เริ่มง่าย ๆ x + y = z เป็นต้น
หลังจากที่คุณได้แทนที่ฟังก์ชั่นหรืออัลกอริทึมด้วยชุดประกอบให้เปรียบเทียบและความคมชัดว่าคุณเขียนโค้ดอย่างไรและสร้างคอมไพเลอร์ C อย่างไร นี่อาจเป็นหนึ่งในวิธีที่ดีกว่าในการเรียนรู้การชุมนุมในความคิดของฉันและในเวลาเดียวกันเรียนรู้ว่าคอมไพเลอร์ทำงานอย่างไรซึ่งมีคุณค่าอย่างเหลือเชื่อในฐานะโปรแกรมเมอร์ฝังตัว เพียงให้แน่ใจว่าคุณปิดการเพิ่มประสิทธิภาพในคอมไพเลอร์ C ในตอนแรกหรือคุณอาจจะสับสนมากโดยรหัสที่สร้างขึ้นของคอมไพเลอร์ เปิดการปรับให้เหมาะสมแล้วค่อยๆบันทึกสิ่งที่คอมไพเลอร์ทำ
RISC กับ CISC
RISC หมายถึง 'Reduced Instruction Set Computing' ไม่ได้อ้างถึงชุดคำสั่งเฉพาะ แต่เป็นเพียงกลยุทธ์การออกแบบที่บอกว่า CPU มีชุดคำสั่งน้อยที่สุด คำแนะนำเล็กน้อยที่แต่ละคนทำสิ่งพื้นฐาน ไม่มีคำจำกัดความด้านเทคนิคอย่างเข้มงวดเกี่ยวกับสิ่งที่ 'เป็น RISC' ในทางกลับกันสถาปัตยกรรม CISC มีคำแนะนำมากมาย แต่แต่ละคน 'ทำมากกว่า'
ข้อได้เปรียบของ RISC คือการออกแบบซีพียูของคุณต้องการทรานซิสเตอร์น้อยลงซึ่งหมายถึงการใช้พลังงานน้อยลง (ใหญ่สำหรับไมโครคอนโทรลเลอร์) ราคาถูกลงและราคานาฬิกาที่สูงขึ้นซึ่งนำไปสู่ประสิทธิภาพที่สูงขึ้น การใช้พลังงานที่ต่ำกว่าและการผลิตที่ถูกกว่านั้นเป็นเรื่องจริงประสิทธิภาพที่มากขึ้นนั้นไม่ได้บรรลุเป้าหมายตามการปรับปรุงการออกแบบในสถาปัตยกรรม CISC
เกือบทุกคอร์ CPU เป็น RISC หรือการออกแบบ 'พื้นกลาง' วันนี้ แม้จะมีสถาปัตยกรรม CISC ที่มีชื่อเสียงที่สุด (หรือเสียชื่อ), x86 ซีพียู x86 ที่ทันสมัยอยู่ภายใน RISC เหมือนแกนประมวลผลที่ติดตั้งตัวถอดรหัสที่ส่วนหน้าซึ่งแบ่งคำสั่ง x86 เป็นคำสั่ง RISC หลายตัวเช่นคำแนะนำ ฉันคิดว่า Intel เรียกสิ่งเหล่านี้ว่า 'micro-ops'
สำหรับเรื่องที่ (RISC vs CISC) นั้นง่ายต่อการเรียนรู้ในการชุมนุมฉันคิดว่ามันเป็นการโยนขึ้น การทำบางสิ่งบางอย่างกับชุดคำสั่ง RISC โดยทั่วไปต้องใช้ชุดประกอบมากกว่าบรรทัดในการทำสิ่งเดียวกันกับชุดคำสั่ง CISC ในทางกลับกันชุดคำสั่ง CISC นั้นซับซ้อนกว่าการเรียนรู้เนื่องจากมีจำนวนคำสั่งมากกว่า
เหตุผลส่วนใหญ่ CISC ได้รับชื่อที่ไม่ดีคือ x86 นั้นเป็นตัวอย่างที่พบบ่อยที่สุดและเป็นระเบียบที่จะทำงานด้วย ฉันคิดว่าส่วนใหญ่เป็นผลมาจากชุดคำสั่ง x86 นั้นเก่ามากและมีการขยายครึ่งโหลหรือมากกว่านั้นในขณะที่รักษาความเข้ากันได้แบบย้อนหลัง แม้แต่ i7 4.5Ghz core i7 ของคุณก็สามารถทำงานได้ในโหมด 286 (และทำงานตอนบู๊ต)
สำหรับ ARM เป็นสถาปัตยกรรม RISC ฉันคิดว่ามันเป็นที่ถกเถียงกันในระดับปานกลาง เป็นสถาปัตยกรรมโหลดแน่นอน ชุดคำสั่งพื้นฐานคือ RISC เช่นกัน แต่ในการปรับปรุงล่าสุดชุดคำสั่งได้เพิ่มขึ้นเล็กน้อยจนถึงจุดที่ฉันคิดว่ามันเป็นจุดกึ่งกลางระหว่าง RISC และ CISC มากขึ้น ชุดคำสั่งแบบใช้นิ้วหัวแม่มือนั้นเป็นชุดคำสั่ง 'RISCish' ที่สุดของชุด ARM