CA2233435A1 - Enhanced program counter stack for multi-tasking central processing unit - Google Patents
Enhanced program counter stack for multi-tasking central processing unit Download PDFInfo
- Publication number
- CA2233435A1 CA2233435A1 CA002233435A CA2233435A CA2233435A1 CA 2233435 A1 CA2233435 A1 CA 2233435A1 CA 002233435 A CA002233435 A CA 002233435A CA 2233435 A CA2233435 A CA 2233435A CA 2233435 A1 CA2233435 A1 CA 2233435A1
- Authority
- CA
- Canada
- Prior art keywords
- program counter
- processing unit
- central processing
- tasking
- stack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
Abstract
A central processing unit having at least one memory for storing instructions and data includes a program counter for storing program counter values. An execution unit retrieves and processes instructions located in the memory at addresses corresponding to the contents of the program counter. Multiple stacks independent of the memory are provided for storing program counter values. A multiplexer connects the program counter to each stack. A stack select register connected to a control input of the multiplexer enables the transfer of program counter values between the program counter and one of the stacks indicated by the contents of the stack select register. The central processing unit provides an efficient multi-tasking capability since the program counter state of each task can be stored in one of the multiple stacks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002233435A CA2233435C (en) | 1998-03-27 | 1998-03-27 | Enhanced program counter stack for multi-tasking central processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002233435A CA2233435C (en) | 1998-03-27 | 1998-03-27 | Enhanced program counter stack for multi-tasking central processing unit |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2233435A1 true CA2233435A1 (en) | 1999-09-27 |
CA2233435C CA2233435C (en) | 2008-08-19 |
Family
ID=29275440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002233435A Expired - Lifetime CA2233435C (en) | 1998-03-27 | 1998-03-27 | Enhanced program counter stack for multi-tasking central processing unit |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2233435C (en) |
-
1998
- 1998-03-27 CA CA002233435A patent/CA2233435C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2233435C (en) | 2008-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940015852A (en) | Handler with long instruction word | |
MY115173A (en) | Inverse transport processor with memory address circuitry | |
CA2145106A1 (en) | Intelligent Memory-Based Input/Output System | |
HK1006263A1 (en) | System for allocating tasks between two actuators servicing the same magnetic disk media in a singledisk drive | |
MY116707A (en) | Coprocessor data access control | |
US6088787A (en) | Enhanced program counter stack for multi-tasking central processing unit | |
JPH11154088A (en) | Method for decreasing instruction set number used for operation of double mac processor | |
CA1242803A (en) | Microprocessor with option area facilitating interfacing with peripheral devices | |
JPH0254383A (en) | Array processor | |
WO2001038968A3 (en) | Processor system | |
EP0403729B1 (en) | Digital-signal processing apparatus | |
CA2233435A1 (en) | Enhanced program counter stack for multi-tasking central processing unit | |
TW325552B (en) | Data processing condition code flags | |
US5491826A (en) | Microprocessor having register bank and using a general purpose register as a stack pointer | |
US6067602A (en) | Multi-stack-caching memory architecture | |
US6092152A (en) | Method for stack-caching method frames | |
WO1996008767A3 (en) | Microcontroller system with a multiple-register stacking instruction | |
EP0753818A3 (en) | Data processor having bus controller for controlling a plurality of buses independently of each other | |
AU691593B2 (en) | Vector processing unit with reconfigurable data buffer | |
GB2521029A (en) | Data processing device and method for interleaved storage of data elements | |
EP0687984A1 (en) | Data processing system having an address/data bus directly coupled to peripheral device | |
CA2018182C (en) | Data processor for high-speed access to stack area data | |
JPS602708B2 (en) | Single-chip computer addressing scheme | |
JPH0477930A (en) | Microcomputer | |
JPH03105424A (en) | Firmware loading circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20180327 |