KR100946561B1 - 오토노머스 멀티-마이크로컨트롤러 시스템 및 그의 제어방법 - Google Patents
오토노머스 멀티-마이크로컨트롤러 시스템 및 그의 제어방법 Download PDFInfo
- Publication number
- KR100946561B1 KR100946561B1 KR1020060119680A KR20060119680A KR100946561B1 KR 100946561 B1 KR100946561 B1 KR 100946561B1 KR 1020060119680 A KR1020060119680 A KR 1020060119680A KR 20060119680 A KR20060119680 A KR 20060119680A KR 100946561 B1 KR100946561 B1 KR 100946561B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- memory
- mcu
- microcontroller
- logic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
Abstract
Description
Claims (20)
- 오토노머스 멀티-마이크로컨트롤러 시스템(autonomous multi-microcontroller system)에 있어서,복수의 MCU (Microcontroller Unit) 기능 로직들, 및 상기 MCU 기능 로직들에 각각 연결되어 프로그램 어드레스를 상기 MCU 기능 로직들에 제공하기 위한 대응하는 복수의 프로그램 카운터들을 구비하는 멀티-마이크로컨트롤러 유닛;상기 멀티-마이크로컨트롤러 유닛에 연결되어, 상기 MCU 기능 로직들을 인에이블링 또는 디스에이블링하는 마이크로컨트롤러-인에이블 레지스터; 및상기 멀티-마이크로컨트롤러 유닛에 연결되어, 상기 멀티-마이크로컨트롤러 유닛에 의해 요구되는 프로그램을 저장하는 적어도 하나의 메모리;를 포함하고,상기 MCU 기능 로직들 각각은 상기 프로그램 카운터들 중 어느 하나의 내용을 변경할 수 있는, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 제 1 항에 있어서, 상기 MCU 기능 로직들 각각은 적어도 하나의 프로그램을 독립적으로 실행할 수 있고 상기 마이크로컨트롤러-인에이블 레지스터와 협력하여 상기 MCU 기능 로직들 중 다른 MCU 기능 로직에 디스에이블 또는 인에이블 신호를 전송하거나 프로그램 어드레스를 상기 적어도 하나의 메모리 또는 다른 MCU 기능 로직의 프로그램 카운터로 전달하여 다른 MCU 기능 로직을 제어하기 위해 명령을 동시에 실행할 수 있는, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 제 2 항에 있어서, 상기 명령은,상기 다른 MCU 기능 로직을 인에이블링하는 것;상기 다른 MCU 기능 로직을 디스에이블링하는 것;프로그램 어드레스를 상기 다른 MCU 기능 로직에 대응하는 프로그램 카운터로 전달하는 것; 및상기 다른 MCU 기능 로직에 대응하는 프로그램 카운터의 내용을 상기 적어도 하나의 메모리에 전달하는 것;으로 구성된 그룹으로부터 선택된 하나인, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 제 1 항에 있어서, 상기 적어도 하나의 메모리는,프로그램 메모리 버스를 통해 상기 멀티-마이크로컨트롤러 유닛에 연결되고, 적어도 하나의 프로그램을 저장하는 복수의 프로그램 메모리 어드레스들을 가진 적어도 하나의 프로그램 메모리; 및스택 메모리 버스를 통해 상기 멀티-마이크로컨트롤러 유닛에 연결되고, 상기 멀티-마이크로컨트롤러 유닛에 의해 실행되는 프로그램의 적어도 하나의 프로그램 어드레스를 저장하는 복수의 스택 메모리 어드레스들을 가진 적어도 하나의 스택 메모리;를 포함하고,상기 멀티-마이크로컨트롤러 유닛은,상기 MCU 기능 로직들에 각각 연결되어 스택 메모리 어드레스를 제공하는 복수의 스택 포인터들을 더 포함하는, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 제 3 항에 있어서, 상기 다른 MCU 기능 로직에 대응하는 프로그램 카운터의 내용을 상기 적어도 하나의 메모리에 전달하는 상기 명령은 푸시(Push) 명령 및 이동(Move) 명령으로 구성된 그룹으로부터 선택된 하나인, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 제 3 항에 있어서, 프로그램 어드레스를 상기 다른 MCU 기능 로직에 대응하는 프로그램 카운터로 전달하는 상기 명령은 팝(Pop) 명령, 이동(Move) 명령, 호(Call) 명령, 리턴(return) 명령, 및 로드 테이블 연산(Load Table operation)으로 구성된 그룹으로부터 선택된 하나인, 오토노머스 멀티-마이크로컨트롤러 시스템.
- 삭제
- 삭제
- 적어도 하나의 컨트롤러 MCU (Microcontroller Unit) 기능 로직, 피제어 MCU 기능 로직, 상기 피제어 MCU에 대응하는 프로그램 카운터, 및 메모리를 가진 멀티-마이크로컨트롤러 시스템을 위한 제어 방법에 있어서,상기 피제어 MCU 기능 로직을 디스에이블링하는 단계;상기 프로그램 카운터를 프리징(freezing)하는 단계;상기 메모리의 제 1 위치에 있는 내용을 상기 프로그램 카운터로 전달하는 단계; 및상기 피제어 MCU 기능 로직을 인에이블링하는 단계;를 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 9 항에 있어서, 상기 피제어 MCU 기능 로직을 디스에이블링하는 단계는 마이크로컨트롤러-인에이블 레지스터에 의해 상기 피제어 MCU 기능 로직으로 디스에이블 신호가 전송되어 상기 피제어 MCU 기능 로직의 현재 프로그램의 실행이 정지되고 상기 피제어 MCU 기능 로직의 프로그램 카운터가 현재 프로그램 어드레스에서 프리징됨으로써 수행되며,상기 피제어 MCU 기능 로직을 인에이블링하는 단계는 마이크로컨트롤러-인에이블 레지스터에 의해 상기 피제어 MCU 기능 로직으로 인에이블 신호가 전송되어 상기 피제어 MCU 기능 로직이 삽입된 프로그램을 실행함으로써 수행되는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 9 항에 있어서, 상기 메모리의 제 1 위치에 있는 내용을 상기 프로그램 카운터로 전달하기 전에, 상기 프로그램 카운터의 상기 내용을 상기 메모리의 제 2 위치에 저장하는 단계를 더 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 11 항에 있어서, 상기 피제어 MCU 기능 로직을 인에이블링하여 상기 피제어 MCU 기능 로직이 상기 메모리의 상기 제 1 위치에 있는 상기 내용에 대응하는 태스크를 완료한 후, 상기 메모리의 상기 제 2 위치에 있는 상기 내용을 상기 프로그램 카운터로 복구시키는 단계를 더 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 9 항에 있어서, 상기 메모리의 제 1 위치에 있는 내용을 상기 프로그램 카운터로 전달하는 상기 단계는 팝(Pop) 명령, 이동(Move) 명령, 호(Call) 명령, 및 로드 테이블 연산으로 구성된 그룹으로부터 선택된 하나인, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 11 항에 있어서, 상기 프로그램 카운터의 내용을 상기 메모리의 제 2 위치에 저장하는 상기 단계는 푸시(Push) 명령, 및 이동(Move) 명령으로 구성된 그룹 으로부터 선택된 하나인, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 12 항에 있어서, 상기 메모리의 상기 제 2 위치에 있는 상기 내용을 상기 프로그램 카운터로 복구시키는 상기 단계는 팝 명령, 이동 명령, 호 명령, 리턴 명령, 및 로드 테이블 연산으로 구성된 그룹으로부터 선택된 하나인, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 9 항에 있어서, 상기 메모리의 상기 제 1 위치는 프로그램 메모리내의 한 위치인, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 11 항에 있어서, 상기 메모리의 상기 제 2 위치는 스택 메모리내의 한 위치인, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 17 항에 있어서, 상기 시스템은 상기 스택 메모리에 대응하는 스택 포인터를 더 포함하고, 상기 프로그램 카운터의 내용을 상기 메모리의 제 2 위치에 저장하는 상기 단계는,상기 스택 포인터의 인덱스에 따라 상기 프로그램 카운터의 내용을 상기 스택 메모리의 위치에 저장하는 단계를 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 제 16 항에 있어서, 상기 시스템은 스택 메모리 및 상기 스택 메모리에 대응하는 스택 포인터를 더 포함하고,상기 메모리의 제 1 위치에 있는 내용을 상기 프로그램 카운터에 전달하는 상기 단계는,상기 메모리의 제 1 위치에 있는 상기 내용을 상기 스택 메모리의 한 위치에 임시 저장하는 단계; 및상기 스택 메모리의 상기 위치에 있는 상기 내용을 상기 프로그램 카운터에 저장하는 단계를 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
- 적어도 하나의 컨트롤러 MCU(Microcontroller Unit) 기능 로직, 피제어 MCU 기능 로직, 상기 피제어 MCU에 대응하는 프로그램 카운터, 프로그램 메모리, 스택 메모리, 및 상기 스택 메모리에 대응하는 스택 포인터를 가진 멀티-마이크로컨트롤러 시스템을 위한 제어 방법에 있어서,상기 피제어 MCU 기능 로직을 디스에이블링하는 단계;상기 프로그램 카운터를 프리징하는 단계;상기 스택 포인터의 제 1 인덱스에 따라 상기 프로그램 카운터의 내용을 상기 스택 메모리의 제 1 위치에 저장하는 단계;상기 스택 포인터의 제 2 인덱스에 따라 상기 프로그램 메모리의 어드레스를 상기 스택 메모리의 제 2 위치에 임시 저장하는 단계;상기 스택 포인터의 상기 제 2 인덱스에 따라 상기 스택 메모리의 상기 제 2 위치에 있는 내용을 상기 프로그램카운터에 저장하는 단계;상기 피제어 MCU 기능 로직을 인에이블링하여 상기 피제어 MCU 기능 로직이 상기 프로그램 메모리의 상기 어드레스에 있는 내용에 대응하는 태스크를 완료하는 단계;상기 피제어 MCU 기능 로직을 디스에이블링하는 단계;상기 스택 메모리의 상기 제 1 위치에 있는 내용을 상기 프로그램 카운터로 복구시키는 단계; 및상기 피제어 MCU 기능 로직을 인에이블링하여 상기 피제어 MCU 기능 로직이 그것의 원 태스크를 재개하는 단계;를 포함하는, 멀티-마이크로컨트롤러 시스템을 위한 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW095113415 | 2006-04-14 | ||
TW095113415A TW200725393A (en) | 2005-12-23 | 2006-04-14 | Self-control multi-microcontroller system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070102370A KR20070102370A (ko) | 2007-10-18 |
KR100946561B1 true KR100946561B1 (ko) | 2010-03-11 |
Family
ID=38758803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060119680A KR100946561B1 (ko) | 2006-04-14 | 2006-11-30 | 오토노머스 멀티-마이크로컨트롤러 시스템 및 그의 제어방법 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2007287126A (ko) |
KR (1) | KR100946561B1 (ko) |
FR (1) | FR2911415B1 (ko) |
TW (1) | TW200725393A (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833476B (zh) * | 2010-05-28 | 2013-08-14 | 西安交通大学 | 基于cmp的推测多线程机制下的独立栈函数调用方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000005265A (ko) * | 1996-04-08 | 2000-01-25 | 토마스 데주어 | 다중 통신 인터페이스 회로 및 그 방법 |
US6085307A (en) * | 1996-11-27 | 2000-07-04 | Vlsi Technology, Inc. | Multiple native instruction set master/slave processor arrangement and method thereof |
US6341344B1 (en) | 1998-03-20 | 2002-01-22 | Texas Instruments Incorporated | Apparatus and method for manipulating data for aligning the stack memory |
-
2006
- 2006-04-14 TW TW095113415A patent/TW200725393A/zh unknown
- 2006-11-30 KR KR1020060119680A patent/KR100946561B1/ko active IP Right Grant
- 2006-12-04 JP JP2006326773A patent/JP2007287126A/ja active Pending
-
2007
- 2007-01-17 FR FR0752727A patent/FR2911415B1/fr active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000005265A (ko) * | 1996-04-08 | 2000-01-25 | 토마스 데주어 | 다중 통신 인터페이스 회로 및 그 방법 |
US6085307A (en) * | 1996-11-27 | 2000-07-04 | Vlsi Technology, Inc. | Multiple native instruction set master/slave processor arrangement and method thereof |
US6341344B1 (en) | 1998-03-20 | 2002-01-22 | Texas Instruments Incorporated | Apparatus and method for manipulating data for aligning the stack memory |
Also Published As
Publication number | Publication date |
---|---|
TWI312941B (ko) | 2009-08-01 |
TW200725393A (en) | 2007-07-01 |
KR20070102370A (ko) | 2007-10-18 |
FR2911415A1 (fr) | 2008-07-18 |
FR2911415B1 (fr) | 2013-12-27 |
JP2007287126A (ja) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949249B2 (en) | Task processor | |
CN107408036B (zh) | 用户级分叉与结合处理器、方法、系统和指令 | |
US8972699B2 (en) | Multicore interface with dynamic task management capability and task loading and offloading method thereof | |
KR102187912B1 (ko) | 인터럽트들의 세트들을 구성하는 장치 및 방법 | |
US5727227A (en) | Interrupt coprocessor configured to process interrupts in a computer system | |
CN100533428C (zh) | 半导体器件 | |
US20070162640A1 (en) | Method and system for efficient context swapping | |
US10459773B2 (en) | PLD management method and PLD management system | |
CN109522099B (zh) | 提高非实时性操作系统实时性的方法及其系统 | |
WO2008023426A1 (fr) | Dispositif de traitement de tâche | |
GB2318194A (en) | Power saving in asynchronous data processing apparatus | |
EP3770759A1 (en) | Wake-up and scheduling of functions with context hints | |
US5948093A (en) | Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state | |
KR100946561B1 (ko) | 오토노머스 멀티-마이크로컨트롤러 시스템 및 그의 제어방법 | |
US20070220234A1 (en) | Autonomous multi-microcontroller system and the control method thereof | |
US10073810B2 (en) | Parallel processing device and parallel processing method | |
US6418540B1 (en) | State transfer with throw-away thread | |
US9946665B2 (en) | Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU) | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
US20120066415A1 (en) | Methods and systems for direct memory access (dma) in-flight status | |
US9342312B2 (en) | Processor with inter-execution unit instruction issue | |
US9043507B2 (en) | Information processing system | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
US20150363227A1 (en) | Data processing unit and method for operating a data processing unit | |
US20230161616A1 (en) | Communications across privilege domains within a central processing unit core |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130116 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140221 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150303 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151221 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180305 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20200303 Year of fee payment: 11 |