ไมโครคอนโทรลเลอร์ / ไมโครโปรเซสเซอร์และรุ่นบิตที่แตกต่างกันแตกต่างกันอย่างไร


20

ในฐานะนักวิศวกรรมทั่วไปฉันกำลังเรียนรู้เกี่ยวกับโลกของไมโครคอนโทรลเลอร์ทุก ๆ วัน มีอยู่ครั้งหนึ่งที่ฉันไม่ค่อยเข้าใจว่าเป็นความสำคัญของไมโครคอนโทรลเลอร์รุ่นบิต

ฉันใช้ ATmega8 มาหลายเดือนแล้วและดูเหมือนว่าจะใช้งานได้ดีสำหรับวัตถุประสงค์ของฉัน ฉันรู้ว่าสิ่งต่าง ๆ เช่นความเร็วสัญญาณนาฬิกาหน่วยความจำจำนวนพิน IO ประเภทของบัสการสื่อสาร ฯลฯ แยกความแตกต่างของไมโครคอนโทรลเลอร์หนึ่งจากอีกอันหนึ่ง แต่ฉันไม่เข้าใจความสำคัญของการพูด 8 บิตและ 16 บิตเทียบกับ 32 บิต ฉันเข้าใจว่ารุ่นบิตที่สูงขึ้นช่วยให้อุปกรณ์สามารถจัดเก็บตัวเลขที่มีขนาดใหญ่ขึ้นได้ แต่สิ่งนี้มีผลต่อการตัดสินใจของฉันอย่างไร ถ้าฉันออกแบบผลิตภัณฑ์ภายใต้สถานการณ์สมมติฉันจะตัดสินใจว่าตัวประมวลผล 8 บิตจะไม่ทำและฉันต้องการอะไรที่สูงกว่า

มีเหตุผลใดบ้างที่จะเชื่อได้ว่า ATmega8 แบบ 32 บิตตามหลักทฤษฏี (สิ่งอื่น ๆ ทั้งหมดเท่ากัน) จะดีกว่ารุ่น 8 บิต (ถ้าเป็นไปได้)

ฉันอาจจะพูดไร้สาระ แต่ฉันคิดว่านั่นเป็นผลมาจากความสับสนของฉัน


ที่เกี่ยวข้อง, electronics.stackexchange.com/questions/42784/ …
pjc50

คำตอบ:


24

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

แกนประมวลผลแบบ 32 บิตของวันนี้เหนือกว่าการออกแบบ 8 แบบในทุก ๆ ด้าน (ความยืดหยุ่นรุ่นหน่วยความจำแบบแบนและประสิทธิภาพการทำงานของหลักสูตร) ​​โดยมีข้อยกเว้นที่สำคัญคือระบบเดิมแอปพลิเคชันที่มีปริมาณมาก เกี่ยวกับขนาดหน่วยความจำชิปมากกว่าความกว้างแกนกลาง) และผลข้างเคียงของกระบวนการ / ความหนาแน่น ในภายหลังสามารถให้สิ่งต่าง ๆ เช่นการทำงาน 5v หรือในบางกรณีอาจมีความแข็งของรังสีมากกว่าหรือมีข้อได้เปรียบที่เรียบง่ายหากพยายามพิสูจน์การออกแบบ CPU ของตัวเองว่าปราศจากข้อผิดพลาดทางตรรกะ หนึ่งในขั้นตอนสุดท้าย / อายุผลข้างเคียงของมูลค่าสำหรับมือสมัครเล่นหลายคนคือคอร์ 8 บิตในแพคเกจกรมทรัพย์สินทางปัญญาเป็นเรื่องธรรมดาในขณะที่อุปกรณ์ 32 บิตในแพคเกจดังกล่าวหายาก


3
ความกว้างที่สามารถจัดการในการทำงานครั้งเดียวอาจมีความสำคัญเมื่อทำการซิงโครไนซ์ส่วนอะซิงโครนัสของโปรแกรม หากคุณจำเป็นต้องอ่านค่า 16 บิตแบบอะตอมบนไมโคร 8 บิตคุณอาจต้องปิดการใช้งานอินเตอร์รัปต์ก่อนซึ่งคุณอาจต้องการหลีกเลี่ยงเวลาตอบสนอง ISR ต่ำ
ndim

อีกลักษณะที่ไมโคร 8 บิตบางตัวสามารถเหนือกว่า ARM (สถาปัตยกรรม 32 บิตที่ได้รับความนิยมมากที่สุด) ก็คือ I / O bit twiddling PIC 18Fxx (8 บิต) สามารถตั้งค่าหรือล้างบิตใด ๆ ในพื้นที่ I / O ด้วยคำสั่งเดียวโดยไม่คำนึงถึงสิ่งที่ลงทะเบียนไว้ในขณะที่ ARM โดยทั่วไปต้องใช้กระบวนการหลายขั้นตอน ชิป ARM สามารถเรียกใช้คำแนะนำเพิ่มเติมต่อวินาทีกว่าชิป PIC ที่มีอยู่ในปัจจุบัน (ชิปที่รองรับ PIC ขนาดเล็กบาง 100MHz ที่ใช้งานได้จาก Scenix แต่ฉันคิดว่ามันหยุดทำงานแล้ว) แต่แม้ PIC ที่มีอยู่ก็ยังสามารถทำการกัดบิตได้บ้าง ได้เร็วขึ้น
supercat

1
ในขณะที่ความเป็นสากลน้อยกว่าอุปกรณ์ ARM บางอย่างมีสิ่งต่าง ๆ เช่นการลงทะเบียน GPIOx_BSRR / GPIOx_BRR ซึ่งสามารถเขียนได้เพื่อตั้งค่าหรือล้างบิต GPIO แต่ละรายการ
Chris Stratton

8

ค่าบิตคือบัสข้อมูลหรือขนาดไพพ์ข้อมูลหมายความว่า MCU 8 บิตสามารถ (ส่วนใหญ่) ทำงานกับค่าจาก 0 ถึง 255 แต่ละรอบนาฬิกาเท่านั้น คิดว่ามันเป็นโปรเซสเซอร์ที่มี 8 สายดิจิตอลในแบบคู่ขนาน และ 16- บิตมี 16 บรรทัดและ 32- บิตมี 32 บรรทัด ดังนั้นสำหรับแต่ละรอบสัญญาณนาฬิกามันจะอ่านบรรทัดข้อมูลเหล่านี้และยิ่งมีค่ามากเท่าไรคุณก็จะสามารถทำงานได้มากขึ้นต่อหนึ่งรอบสัญญาณนาฬิกา

28256

21665,536

2324,294,967,296

บัสข้อมูลขนาดใหญ่ยังช่วยให้โปรเซสเซอร์สามารถเข้าถึงที่อยู่หน่วยความจำขนาดใหญ่ได้

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

ความแตกต่างระหว่างไมโครคอนโทรลเลอร์ขนาด 8 บิตและ 16 บิต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.