Imagination lets MIPS take academic plunge




Imagination Technologies’ decision to reveal the inner-most secrets of the MIPS microprocessor architecture to academics could dramatically improve the teaching of electronics in universities.

The MIPS architecture started off as an academic exercise by John Hennessy at Stanford University, and is the subject of a standard educational book by Hennessy and David Patterson.

Imagination University programme manager Robert Owen told Electronics Weekly:Imagination lets MIPS take academic plungeSo Imagination is making available the RTL of its microAptive core – as used by Microchip in PIC32MZ microcontrollers.

The core is not exactly the core used by Microchip, but neither is it dumbed-down – it has a memory management unit (MMU), cache controller and JTAG boundary scan, for example.

Called MIPSfpga, it consists of a set of microAptive options selected by Professor David Harris, co-author of the book ‘Digital Design and Computer Architecture’. Professor Sarah Harris, the other author, has developed the MIPSfpga teaching materials.

One of the drivers for option selection, like the inclusion of a cache controller, was to make this a Linux-capable MicroAptive core.

As its name suggests, it is designed to be run in an FPGA, and guides are available to use it on the Digilent Nexys4 (Xilinx Artix-7) and the Terasic DE2 (Altera Cyclone) platforms. Some additional blocks, and driver software, are under development to get Linux up and running on the FPGAs – expected within three months.

To use the core, universities will have to register with Imagination – Harvey Mudd College California, Imperial College London, University College London (UCL), and the University of Nevada, Las Vegas, have already done so.

 

For more detail: Imagination lets MIPS take academic plunge




Leave a Comment

*
= 5 + 8

Read previous post:
Analog to digital 8 bits For CSS Compiler

  #include <16F877.h> #device adc=8 #FUSES NOWDT ,XT #use delay(clock=4000000) #include <Lcd_4bit.c> int8 value; void main() { setup_adc_ports(AN0_AN1_AN3); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED);...

Close
Scroll to top