ไมโครคอนโทรลเลอร์ Cortex-M0 Plus

สวัสดี และยินดีต้อนรับสู่การนำเสนอคอร์ ARM® Cortex®-M0+ ซึ่งฝังอยู่ในผลิตภัณฑ์ทั้งหมดของตระกูลไมโครคอนโทรลเลอร์ STM32U0
โปรเซสเซอร์ Cortex-M0+ เหนือกว่าview
- สถาปัตยกรรม ARMv6-M
- สถาปัตยกรรมฟอน นอยมันน์ 2-stagไปป์ไลน์
- สถาปัตยกรรมแบบประเด็นเดียว
- คูณใน 1 รอบ
- หน่วยป้องกันหน่วยความจำ (MPU)
- พอร์ต I/O รอบเดียว

| การออกแบบพลังงานต่ำเป็นพิเศษ โค้ดที่กะทัดรัดมาก | |
| การใช้พลังงานต่ำและประสิทธิภาพการใช้พลังงานสูง | ยกเว้นคำสั่งควบคุมและการแยกสาขาและลิงก์ คำสั่งทั้งหมดมีความยาว 16 บิต |
คอร์ Cortex®-M0+ เป็นส่วนหนึ่งของกลุ่ม ARM Cortex-M ของคอร์ RISC 32 บิต ซึ่งใช้สถาปัตยกรรม ARMv6-M และมีคุณลักษณะ 2-บิตtagอีไปป์ไลน์
Cortex®-M0+ มีพอร์ตมาสเตอร์ AHB-Lite ที่ไม่ซ้ำใคร แต่รองรับการดึงคำสั่งพร้อมกันและการเข้าถึงข้อมูลเมื่อการเข้าถึงข้อมูลกำหนดเป้าหมายไปที่ช่วงที่อยู่พอร์ต Fast I/O
ความเข้ากันได้ของโปรเซสเซอร์ Cortex-M
สถาปัตยกรรมแบบไร้รอยต่อสำหรับทุกแอปพลิเคชัน

ไมโครคอนโทรลเลอร์ STM32U0 ผสานรวมคอร์ ARM® Cortex®-M0+ เพื่อให้ได้รับประโยชน์จากประสิทธิภาพต่ออัตราส่วนมิลลิวัตต์ที่ไม่มีใครเทียบได้
CPU Cortex®-M ทั้งหมดมีสถาปัตยกรรม 32 บิต
Cortex®-M3 เป็น CPU Cortex®-M ตัวแรกที่เปิดตัวโดย ARM
จากนั้น ARM จึงตัดสินใจแยกกลุ่มผลิตภัณฑ์ออกเป็นสองกลุ่ม ได้แก่ กลุ่มผลิตภัณฑ์ประสิทธิภาพสูงและพลังงานต่ำ โดยยังคงรักษาความเข้ากันได้ระหว่างกลุ่มผลิตภัณฑ์ทั้งสองไว้
Cortex®-M0+ เป็นผลิตภัณฑ์ในกลุ่มพลังงานต่ำ ออกแบบมาสำหรับอุปกรณ์ที่ใช้แบตเตอรี่ ซึ่งไวต่อการใช้พลังงานมาก
สถาปัตยกรรมแกนหลักเหนือview

แกน Cortex®-M0+ มอบประสิทธิภาพที่มากกว่าแกน Cortex®-M0 ด้วย 2-stage ท่อคำสั่ง
มาเริ่มอธิบาย CPU โดยใช้แกนโปรเซสเซอร์ที่ทำหน้าที่ดึงและดำเนินการคำสั่ง
ARM Cortex-M0+ → 2 วินาทีtagไปป์ไลน์

คำสั่ง V6-M ส่วนใหญ่มีความยาว 16 บิต มีคำสั่ง 32 บิตเพียง 32 คำสั่ง และส่วนใหญ่เป็นคำสั่งควบคุมซึ่งไม่ค่อยได้ใช้ อย่างไรก็ตาม คำสั่งแยกสาขาและลิงก์ซึ่งใช้ในการเรียกโปรแกรมย่อยก็มีความยาว XNUMX บิตเช่นกัน เพื่อรองรับออฟเซ็ตขนาดใหญ่ระหว่างคำสั่งนี้และป้ายกำกับที่ชี้ไปยังคำสั่งถัดไปที่จะดำเนินการ
ในอุดมคติ การเข้าถึง 32 บิตหนึ่งครั้งจะโหลดคำสั่ง 16 บิตสองคำสั่ง ซึ่งส่งผลให้การดึงข้อมูลต่อคำสั่งน้อยลง
ระหว่างที่นาฬิกาหมายเลข 2 ไม่มีการดึงคำสั่งเกิดขึ้น พอร์ต AHB Lite พร้อมใช้งานเพื่อดำเนินการเข้าถึงข้อมูลเมื่อคำสั่ง N เป็นคำสั่งโหลด/จัดเก็บ
ประสิทธิภาพของสาขา
แกน Cortex®-M0+
• คำสั่งเงาสาขาสูงสุด 16 คำสั่ง XNUMX บิต

ในสาขาที่กำหนด คำสั่งที่ดึงมาล่วงหน้าจะเสียไปน้อยลง (ต้องขอบคุณ 2-stagอีไปป์ไลน์)
ในนาฬิกาหมายเลข 1 โปรเซสเซอร์ดึง Inst0 และคำสั่งสาขาแบบไม่มีเงื่อนไข
ในนาฬิกาหมายเลข 2 จะดำเนินการ Instr0
ในนาฬิกาหมายเลข 3 มันจะดำเนินการคำสั่งแยกสาขาในขณะที่ดึงคำสั่งลำดับถัดไป 1 คำสั่งคือ Inst2 และ InstXNUMX ที่เรียกว่าคำสั่งเงาของแยกสาขา
ในนาฬิกาหมายเลข 4 โปรเซสเซอร์จะทิ้ง Inst1 และ Inst2 และดึง InstrN และ InstN+1 กลับมา
Cortex-M0, M3 และ M4 ใช้ 3-stage pipeline: ดึงข้อมูล ถอดรหัส และดำเนินการ จำนวนคำสั่งเงาของสาขาจะมากขึ้น: สูงสุด 16 คำสั่ง XNUMX บิต
สถาปัตยกรรมแกนหลักเหนือview

Cortex®-M0+ ไม่มีแคชฝังหรือ RAM ภายใน ดังนั้นธุรกรรมการดึงคำสั่งใดๆ จะถูกส่งต่อไปยังอินเทอร์เฟซ AHB-Lite และการเข้าถึงข้อมูลใดๆ จะถูกส่งต่อไปยังอินเทอร์เฟซ AHB-Lite หรือพอร์ต I/O แบบวงจรเดียว
โปรดทราบว่า STM32U0 ใช้คำสั่งแคชระดับ SoC ที่อยู่ภายนอก CPU และอยู่ในตัวควบคุมแฟลชแบบฝังตัว
พอร์ตมาสเตอร์ AHB-Lite เชื่อมต่อกับเมทริกซ์บัส ทำให้ซีพียูสามารถเข้าถึงหน่วยความจำและอุปกรณ์ต่อพ่วงได้ เนื่องจากธุรกรรมต่างๆ ถูกส่งผ่านท่อบน AHB-Lite อัตราข้อมูลหรือคำสั่งที่ดีที่สุดคือ 32 บิตต่อสัญญาณนาฬิกา โดยมีค่าหน่วงเวลาขั้นต่ำ 2 สัญญาณนาฬิกา
Cortex®-M0+ ยังมีพอร์ต I/O แบบวงจรเดียว ซึ่งช่วยให้ซีพียูสามารถเข้าถึงข้อมูลได้ด้วยความหน่วง 1 นาฬิกา ลอจิกการถอดรหัสภายนอกจะกำหนดช่วงที่อยู่ซึ่งการเข้าถึงข้อมูลจะถูกส่งต่อไปยังพอร์ตนี้
ใน STM32U0 พอร์ต I/O แบบวงจรเดียวจะไม่ถูกใช้เพื่อเข้าถึงรีจิสเตอร์พอร์ต GPIO พอร์ต GPIO จะถูกแมปกับ AHB แทน ทำให้สามารถเข้าถึงได้โดย DMA
หน่วยป้องกันหน่วยความจำ
- การตั้งค่าแอตทริบิวต์ MPU กำหนดสิทธิ์การเข้าถึง
- พื้นที่หน่วยความจำอิสระ 8 แห่ง
- สามารถรันโค้ดได้ไหม?
- เขียนข้อมูลได้ไหม?
- การเข้าถึงโหมดที่ไม่มีสิทธิ์พิเศษ?
MPU ในไมโครคอนโทรลเลอร์ STM32U0 รองรับพื้นที่หน่วยความจำอิสระ XNUMX แห่ง โดยมีแอตทริบิวต์ที่กำหนดค่าได้อิสระสำหรับ:
- การอนุญาตการเข้าถึง: อนุญาตหรือไม่อ่าน/เขียนในโหมดมีสิทธิพิเศษ/ไม่มีสิทธิพิเศษ
- การอนุญาตการดำเนินการ: ขอบเขตการทำงานหรือขอบเขตที่ห้ามใช้ในการดึงคำสั่ง
อ้างอิง
- สำหรับรายละเอียดเพิ่มเติมโปรดดูเอกสารต่อไปนี้:
- คู่มือการเขียนโปรแกรมโปรเซสเซอร์ Cortex®-M32+ ซีรีย์ STM0G0 (PM0223)
- การจัดการหน่วยป้องกันหน่วยความจำ (MPU) ใน STM32 MCU (AN4838)
- แขน webเว็บไซต์ได้ตามลิงค์ต่อไปนี้:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
สำหรับรายละเอียดเพิ่มเติม โปรดดูหมายเหตุการใช้งานเหล่านี้และคู่มือการเขียนโปรแกรม Cortex®-M0+ ที่มีอยู่บน www.st.com webเว็บไซต์.
แวะไปเยี่ยมชม ARM ได้ด้วย webไซต์ที่คุณจะพบข้อมูลเพิ่มเติมเกี่ยวกับแกน Cortex®-M0+
ขอบคุณ
© STMicroelectronics – สงวนลิขสิทธิ์
โลโก้ ST เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ STMicroelectronics International NV หรือบริษัทในเครือในสหภาพยุโรปและ/หรือประเทศอื่นๆ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้า ST โปรดดูที่ www.st.com/trademarks
ชื่อผลิตภัณฑ์หรือบริการอื่น ๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
เอกสาร / แหล่งข้อมูล
![]() |
ไมโครคอนโทรลเลอร์ ST Cortex-M0 Plus [พีดีเอฟ] คู่มือการใช้งาน Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus ไมโครคอนโทรลเลอร์, Cortex-M0 Plus, ไมโครคอนโทรลเลอร์ |

