โลโก้ Cortex

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

ผลิตภัณฑ์ไมโครคอนโทรลเลอร์ Cortex-M0-Plus

สวัสดี และยินดีต้อนรับสู่การนำเสนอคอร์ ARM® Cortex®-M0+ ซึ่งฝังอยู่ในผลิตภัณฑ์ทั้งหมดของตระกูลไมโครคอนโทรลเลอร์ STM32U0

โปรเซสเซอร์ Cortex-M0+ เหนือกว่าview

  • สถาปัตยกรรม ARMv6-M
  • สถาปัตยกรรมฟอน นอยมันน์ 2-stagไปป์ไลน์
  • สถาปัตยกรรมแบบประเด็นเดียว
  • คูณใน 1 รอบ
  • หน่วยป้องกันหน่วยความจำ (MPU)
  • พอร์ต I/O รอบเดียว

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

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

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

ความเข้ากันได้ของโปรเซสเซอร์ Cortex-M

สถาปัตยกรรมแบบไร้รอยต่อสำหรับทุกแอปพลิเคชัน

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

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

สถาปัตยกรรมแกนหลักเหนือview

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

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

ARM Cortex-M0+ → 2 วินาทีtagไปป์ไลน์

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

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

ประสิทธิภาพของสาขา

แกน Cortex®-M0+
• คำสั่งเงาสาขาสูงสุด 16 คำสั่ง XNUMX บิต

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

ในสาขาที่กำหนด คำสั่งที่ดึงมาล่วงหน้าจะเสียไปน้อยลง (ต้องขอบคุณ 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-Plus-6

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, ไมโครคอนโทรลเลอร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *