Introduction
Basics
RISCKER
RISCKER Source
RISCKER Observer
RISCKER Applications
CISCKER
CISCKER Source
CISCKER Observer
CISCKER Applications
X-ISCKER IDE
Documentation
Tutorial
Future
Authors
XISCKER: Reduced and Complex Instruction Set Computing Key Educational Resources
A Configurable Platform for the Emulation of Different Computer Architectures
An introduction to Computer Architectures through digital design description for FPGA devices
Computer Architecture embraces all three aspects of a processor design: instruction set, functional estructure and hardware implementation. The main architectures are RISC (Reduced Instruction Set Computing) and CISC (Complex Instruction Set Computing) which led to x86 as we still recognize now. Both designs bring electronics or computer science students the basic concepts they should learn.
Therefore, this project brings an opportunity to learn this basic concepts through the HDL description in Verilog of two processors (One for each architecture) implemented on FPGA devices, together with strong documentation, common assembly language instructions and support software.
The main goal is that any modification to the instructions, performance optimization, compression, etc. is shared and described so we can all learn from it.
The reason behind this project...
Some Computer Architecture courses are limited to the explanation of a certain commercial processor, but the information from the manufacturer won't reveal its internal organization details, which should be the main subject to discuss in such course or project. On the other hand, commercial processors have many specific functions (For compatibility with older devices) which may be a pain in the back to understand.
An alternative to this kind of resources are simulators, which are very detailed on documentation, but in the end they cannot be implemented.
This makes it difficult to find a device that provides all documentation of its internal design, to be open to modifications and which can also be implemented in an electronics or computing project with other purposes than just academic.
In other words, perfectly detailed and applicable.
What is a Processor?
The processor or CPU is the active part in a digital computer. Its principal function is to do operations (control, logical, arithmetical or transfer) between data input and memory data or registers.
A microprocessor is based on four basic units: CU (Control Unit), ALU (Arithmetic-Logic Unit), MU (Memory Unit) and I/O Unit. Its basic functionality is to Fetch, Decode and Execute instructions from the memory unit, which are represented by an Operation Code (OpCode) and a set of operands.
The interconnection between all this units and the rest of the subsystems found in a processor is known as Datapath. Control signals from the CU choose where data is meant to go through the datapath according to the instructions and other state conditions. This instructions can perform assignation operations (Logic and Arithmetic) and program flow control (Jumps and Branches).
What is Computer Architecture?
Computer Architecture determines the which attributes are important for a processor's performance while keeping cost and power low. This process includes three levels in which to design a processor: The Instruction Set, Functional Organization and Hardware Implementation.
What is ISA?
ISA (Instruction Set Architecture) is the highest level of abstraction for the hardware-software description of a processor system. The ISA is the design of
a composition of standard mnemonics to make it easier for programmers to write and debug a computing program without thinking in machine code level, logic gate level or transistor level.
What is Computer Organization?
Is the functional specific performance of every component and the interconnection between them. Two processors can have the same ISA but diferent computer-organization like the AMD opteron and Intel Pentium 4. The program is the same for both, but the programmer doesn't know how it is executed inside each processor.
What is Hardware Implementation?
Hardware implementation is the lowest level of abstraction and it is in charge of the circuital design. It determines the electronic technology and physical aspects of the microprocessor like, clock frequencies, memory systems and power consumption through a set of requirements specified by the application.
CISC
CISC
Complex Instruction Set Computing
|
RISC
RISC
Reduced Instruction Set Computing
A RISC processor has a few fixed size instructions, a lot of general purpose registers but a few addresing modes. They have a simpler control unit with a smaller circuit area which leads to high speed execution instruction.
|