CA3039845A1 - Processor with variable n-bits architecture - Google Patents

Processor with variable n-bits architecture Download PDF

Info

Publication number
CA3039845A1
CA3039845A1 CA3039845A CA3039845A CA3039845A1 CA 3039845 A1 CA3039845 A1 CA 3039845A1 CA 3039845 A CA3039845 A CA 3039845A CA 3039845 A CA3039845 A CA 3039845A CA 3039845 A1 CA3039845 A1 CA 3039845A1
Authority
CA
Canada
Prior art keywords
processor
architecture
stack
bits
wishbone
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.)
Abandoned
Application number
CA3039845A
Other languages
French (fr)
Inventor
Ziad SALLOUM
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.)
Individual
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 CA3039845A priority Critical patent/CA3039845A1/en
Publication of CA3039845A1 publication Critical patent/CA3039845A1/en
Abandoned 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/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

A processor controls all the hardware and software of a computer system or an embedded system. A
processor includes an ALU (Arithmetic Logic Unit), two internal LIFO (Last In/First Out) stacks for Instructions and Data, different registers, peripheral wishbone buses and compatible with the standard programmer's model.

Description

SOLLEC
ELEC. TV,P0CVUS

www.sollec.com Processor With Variable n-bits Architecture Background of the Invention 11.1. Field of the Invention The present invention relates to a microprocessor. In particular, the present invention discloses a processor with a variable n-bits architecture designed to asynchronously execute binary instructions, one instruction per clock cycle and compatible with the standard programmer's model.
11.2. Description of Prior Art A processor (or CPU Central Processing Unit ) is the logic circuitry that executes instructions stored in different memories. FIG.3.
The functional architecture of a processor is to connect different devices and memories thru an internal or an external communication bus. The fundamental role of a processor is to execute instructions. FIG.4.
The processor architecture defines the internal operation of the processor viewed by the programmer. Two categories are defined:
= Von Neumann Architecture also known as registers computer architecture.
= Stack Architecture.
All well known processor architectures are based on Von Newman Architecture because of its simplicity and its stability over the years since the invention of the transistor, and the fact it requires one memory space to store data and code.
Since the Von Neumann Architecture is widely used, the programming model also known as the programmer's model (FIG. 5) is well known and taught as a standard model for programming for all high-level languages (like C/C++, Pascal,.. ) .
As for the stack architecture, it is used only in limited applications like satellites; the programming language associated to stack architecture is FORTH and a different programming model less known by programmers.
The main advantages of the stack architecture over the Von Neumann Architecture are the reduced execution cycles and the reduced compiled code. Mainly Stack Architecture requires one clock cycle per instruction (EXECUTE) versus four clock cycles (FETCH, DECODE, EXECUTE, WRITEBACK) per instruction for standard Von Neumann Architecture.
To add performance to Von Neumann Architecture, the use of pipeline is required to process the four cycles in one. The pipeline acts like (First In/First Out) FIFO Stack, it stores and process the four
2/12 Copyright 2015-2019, SOLLEC R&D Incorporated s SOLLEC
........0m execution cycles in parallel. In the case of a routine call or a general conditional branch, the pipeline is flushed and the next instruction will take a full 4 cycles to complete.
The pipeline addition to the simple Von Newman Architecture requires more logic elements and more resources. This makes the simple architecture limited in performances and the more complex architecture very large to fit limited space and resources; witch created a performance gap between simple processors and high performance processors.
The aim of this invention is to fill the gap between simple processors and performance processors by using the architecture disclosed in this invention. This invention is a mix between stack architecture and registers architecture. The programmer's model of this invention is compatible with standard programming model; the code program can be written and compiled by high-level compiler such as C/C++.
Copyright 6) 2015-2019, SOLLEC R&D Incorporated 3/12 tip) SOLLEC

www.soliec.com HI. Summary of the Invention It is therefore a primary objective of the present invention to provide a processor with n-bits architecture. This core is intended to be implemented in CPLD, FPGA, ASIC or as a standalone processor.
The mix of architectures (registers and stack) makes the architecture presented is this invention very simple to use with high-level compilers such as C/C++ compiler witch makes the high level programs codes portables between processors.
The variable architecture is designed to fit FPGA and adapted for computing application. This core is designed to combine simplicity and performance for processors, with low utilisation for resources and logic elements.
As a summary, the advantages of this architecture are enumerated as follow:
= Low utilisation of logic elements and resources = Reduced instruction set = Reduced size of compiled code = Faster performance = Compatibility with high-level compilers and standard programmer's model = Simple implementation in low cost CPLD/FPGA
Briefly summarized, the present invention discloses a stack processor, comprising all the elements needed to build this architecture. These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment, which is illustrated in the various figures and drawings.
=
4/12 Copyright co 2015-2019, SOLLEC R&D Incorporated gio SOLLEC
ELLC,R014C

www.sollec.com V. Description Of The Preferred Embodiment V.1. The architecture Please refer to FIG.1. FIG.1 is a complete schematic diagram of the architecture of the present invention.
The core architecture consists of:
= ALU : arithmetic logic unit (10) with predetermined operators and variable width inputs = Data Stack DS : Stack memory used to store data and instructions with variable width and depth (9) with two registers of the same width TOS "Top Of Stack" (7) and NOS
"Next Of Stack" (8). TOS and NOS are input registers for the ALU
= Return Stack RS : Stack Memory used to store return addresses from functions and interrupts calls with variable width and depth (14) with one register as the top of the stack of the same width R "Return Address" (13) = F: instruction pointer (12) = A: address register (11) = AML: external address register (6) = I : instruction register (5) = Wishbone GLL : "Wishbone Glue Logic Layer" (4) interface module between internal and external buses including interrupt handling. This module permits direct memory access without CPU intervention FIG.2. This module creates the same virtual memory for all memories and devices connected to the different buses.
= Wishbone IBUS : "Wishbone Instruction Memory BUS" (1) the communication bus to connect external memory for instructions "User Compiled Binary Code and Constants Memory". Code memory can be any type, width or depth depending on user requirements.
= Wishbone DBUS : "Wishbone Data Memory BUS" (2) the communication bus to connect external memory for data "User Data and Compiled Binary Code Memory". Data memory is RAM "Random Access Memory" of any type, width or depth.
= Wishbone VBUS : "Wishbone Device BUS" (3) the communication bus to connect external devices. The external devices may be any type, have registers, interrupt(s) with different data width.
= OVRD : "Overflow Data" (15) register to monitor the Data stack and issue an interrupt to insert "rearrange and wait data instruction" to prevent overflow.
= OVRR : "Overflow Return" (16) register to monitor the Return Stack and issue an interrupt to insert "rearrange and wait return instruction" to prevent overflow.
= INT : "Interrupt Register" (17) register to monitor all interrupts, external and internal, calculates the branch address.
6/12 Copyright 2015-2019, SOLLEC
R&D Incorporated = d vio SOLLEC
www.sollec.com V.2. The architecture parameters V.2.1. Number of Data bits "n-bits Data"
The number n-bits Data is a power of 2 number. Minimum 4. The number n-bits is the width of all data registers (7,8,9) and affects the ALU complexity (10) V.2.2. Number of Address bits "n-bits Address"
The number n-bits Data is a power of 2 number. Minimum 8. The number n-bits is the width of all data registers (5,6,11,12,13,14) . To calculate the addresses if the number of bits is higher than the data bits, the calculations is done with multiple operations.
V.2.3. Data Stack Depth The data stack depth is function of user preferences, a power of 2 number, the more complex operations the more the depth should be greater to avoid processor special instructions which are time consuming.
V.2.4. Return Stack Depth The return stack depth is function of user preferences, a power of 2 number, the more complex operations the more the depth should be greater to avoid processor special instructions which are time consuming.
V.2.5. Wishbone DBUS
= Width of bus for data DBUS
= Width of bus for address DBUS
V.2.6. Wishbone IBUS
= Width of bus for data IBUS
= Width of bus for address IBUS
Copyright 0 2015-2019, SOLLEC R&D Incorporated 7/12 elpr'S
Nei SOLLEC

www.sollec.com V.2.7. Wishbone VBUS
= Width of bus for data VBUS
= Width of bus for address VBUS
V.2.8. Wishbone Buses multiplexing The wishbone buses !BUS, DBUS and VBUS can be multiplexed into one, two or three buses depending on the desired complexity and the available resources.
8/12 Copyright 2015-2019, SOLLEC
R&D Incorporated SOLLEC
www.sollec.com .............................................................

IV. Brief Description Of Drawings Fig. 1 Processor n-bits Architecture .......................................

Fig. 2 Wishbone Buses Communication ........................................

Fig. 3 Processor Architecture ..............................................

Fig. 4 Processor Communications ............................................

Fig. 5 Standard Programmer's Model .........................................

Copyright 0 2015-2019, SOLLEC R&D Incorporated

Claims (5)

VI. The Embodiments Of The Invention In Which An Exclusive Property Or Privilege Is Claimed Are Defined As Follows:
Compared with the prior art, the present invention provides the stack processor with n-bits architecture compatible with standard programmer's model, and thereby enhance the System.
Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
What is claimed is:
1. A processor comprising:
1.a. An ALU processing data according to an instruction set 1.b. A stack memory for data 1.c. A stack memory for instruction 1.d. GLL wishbone for interface with wishbone Buses 1.e. An interrupt handler and/or register to stack architecture 1.f. Failsafe registers and/or process for overflow stack
2. The processor of claim 1 wherein the processor process and execute one instruction in one cycle
3. The processor of claim 1 wherein the processor have a reduced 5 bits instruction set.
4. The processor of claim 1 wherein the processor is totally configurable for n-bits architecture explained in V.2. The architecture parameters.
5. The processor of claim 1 wherein the processor is compatible with standard programmer's model.
CA3039845A 2019-04-10 2019-04-10 Processor with variable n-bits architecture Abandoned CA3039845A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA3039845A CA3039845A1 (en) 2019-04-10 2019-04-10 Processor with variable n-bits architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA3039845A CA3039845A1 (en) 2019-04-10 2019-04-10 Processor with variable n-bits architecture

Publications (1)

Publication Number Publication Date
CA3039845A1 true CA3039845A1 (en) 2020-10-10

Family

ID=72895837

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3039845A Abandoned CA3039845A1 (en) 2019-04-10 2019-04-10 Processor with variable n-bits architecture

Country Status (1)

Country Link
CA (1) CA3039845A1 (en)

Similar Documents

Publication Publication Date Title
EP3274816B1 (en) User-level fork and join processors, methods, systems, and instructions
US11698787B2 (en) Interruptible and restartable matrix multiplication instructions, processors, methods, and systems
US7962729B2 (en) Dynamic runtime range checking of different types on a register using upper and lower bound value registers for the register
KR100681199B1 (en) Method and apparatus for interrupt handling in coarse grained array
US8612726B2 (en) Multi-cycle programmable processor with FSM implemented controller selectively altering functional units datapaths based on instruction type
JP2002512399A (en) RISC processor with context switch register set accessible by external coprocessor
GB2514882A (en) Instruction emulation processors, methods, and systems
US20180165097A1 (en) Dispatch of processor read results
US12008371B2 (en) Method and apparatus for efficient programmable instructions in computer systems
JPH03158928A (en) Data processor
Arm et al. Low-Power 32-bit Dual-MAC 120$\mu $ W/MHz 1.0 V icyflex1 DSP/MCU Core
US6986028B2 (en) Repeat block with zero cycle overhead nesting
KR20150035161A (en) Graphic processor and method of oprating the same
KR20190092245A (en) System and method of reducing computer processor power consumption using micro-btb verified edge feature
JP4073721B2 (en) Data processing device
CA3039845A1 (en) Processor with variable n-bits architecture
Glossner et al. HSA-enabled DSPs and accelerators
US6502181B1 (en) Method and apparatus for an enhanced processor
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
McGeady Inside Intel's i960CA superscalar processor
US20240220267A1 (en) Return address stack with branch mispredict recovery
Garcia et al. A FPGA based C runtime hardware accelerator
Morales-Velazquez et al. FPGA embedded single-cycle 16-bit microprocessor and tools
TWI847670B (en) Apparatus using matrix multiplication instructions
Ulmann QNICE–a nice 16 bit architecture ISA v. 1.7

Legal Events

Date Code Title Description
FZDE Discontinued

Effective date: 20221012

FZDE Discontinued

Effective date: 20221012