[go: up one dir, main page]

CA2233435A1 - Enhanced program counter stack for multi-tasking central processing unit - Google Patents

Enhanced program counter stack for multi-tasking central processing unit Download PDF

Info

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
Application number
CA002233435A
Other languages
French (fr)
Other versions
CA2233435C (en
Inventor
Mike Predko
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Celestica International Inc
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CA002233435A priority Critical patent/CA2233435C/en
Publication of CA2233435A1 publication Critical patent/CA2233435A1/en
Application granted granted Critical
Publication of CA2233435C publication Critical patent/CA2233435C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation 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.
CA002233435A 1998-03-27 1998-03-27 Enhanced program counter stack for multi-tasking central processing unit Expired - Lifetime CA2233435C (en)

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)

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