SMaRT: Small Machine for Research and Teaching

We introduce SMaRT, a 16-bit single-cycle RISC-type processor with 16-bit-wide instructions. SMaRT features the novel concept of 2.5-address instructions to avoid the data loss that inherently exists in 2-address processors. Additionally, SMaRT’s short-branch instructions take advantage of the temporal locality of reference in accessing the upper or lower halves of the CPU’s 16x16 orthogonal register file. This allows SMaRT to significantly extend the range of the short-branch instructions. We show that these novelties are achieved at almost no performance cost and negligible hardware cost. SMaRT has four operation modes, namely Single-Step, to execute one instruction at a time, Manual, to display and inspect individual locations of data memory, Run, to run the whole code nonstop, and Init, to copy a read-only memory to the data memory for initialization purposes. We also implement and present an input/output port and a sorting coprocessor, and then hook it up to SMaRT through the port as an example. We have successfully synthesized the combined SMaRT and the sorting coprocessor into the Altera Cyclone II FPGA chip, and tested them.

[1]  Tim Wilmshurst Designing Embedded Systems with PIC Microcontrollers: Principles and Applications , 2006 .

[2]  Corneliu Burileanu,et al.  Savage16 - 16-bit RISC architecture general purpose microprocessor , 2010, CAS 2010 Proceedings (International Semiconductor Conference).

[3]  Daniel J. Pack,et al.  Microcontroller Programming and Interfacing Texas Instruments MSP430, Part II , 2011, Microcontroller Programming and Interfacing Texas Instruments MSP430, Part II.

[4]  Nozar Tabrizi,et al.  An ASIC design and formal analysis of a novel pipelined and parallel sorting accelerator , 2008, Integr..

[5]  Anantachai Suwannakom Adaptive control performance of a mobile robot using hybrid of SLAM and fuzzy logic control in indoor environment , 2014, 2014 International Electrical Engineering Congress (iEECON).

[6]  Chian C. Ho,et al.  Embedded controller design for portable fuel cell , 2013, 2013 9th International Conference on Information, Communications & Signal Processing.

[7]  Jose Luis Lopez Presa,et al.  MMP16 a 16-bit Didactic Micro-Programmed Micro-Processor , 2011 .

[8]  Jose Luis Lopez Presa,et al.  MMP16 a 16-bit Didactic Micro-Programmed Micro-Processor , 2011, 2011 3rd International Conference on Computer Research and Development.

[9]  Roque Alfredo Osornio-Rios,et al.  FPGA embedded single-cycle 16-bit microprocessor and tools , 2012, 2012 International Conference on Reconfigurable Computing and FPGAs.

[10]  Han-Way Huang The HCS12 / 9S12: An Introduction to Software and Hardware Interfacing , 2009 .

[11]  S.M.S. Muslim,et al.  Design of an Algorithmic State Machine Controlled, Field Programmable Gate Array Based 16-bit Microprocessor , 2007, 2007 International Symposium on Integrated Circuits.

[12]  David A. Patterson,et al.  The case for the reduced instruction set computer , 1980, CARN.

[13]  Lucio Di Jasio Programming 16-Bit PIC Microcontrollers in C: Learning to Fly the PIC 24 , 2007 .

[14]  Fu-Ching Yang,et al.  An Embedded Low Power/Cost 16-Bit Data/Instruction Microprocessor Compatible with ARM7 Software Tools , 2007, 2007 Asia and South Pacific Design Automation Conference.

[15]  Anand Nandakumar Shardul 16-Bit RISC Processor Design for Convolution Application , 2013 .