ICMC Processor Documentation

website·Indexed 30 days ago

https://de-abreu.github.io/Processador-ICMC

Documentation for the ICMC Processor, a didactic project featuring a RISC assembly language with 16-bit words. Includes guides on data manipulation instructions, memory access, and tools such as the assembler and graphical simulator.

Tokens
14K
Snippets
73
Records
100
Agent score
73%

What's inside ICMC Processor

  1. Overview of the Processador ICMC Project

    The Processador ICMC is an educational project designed for teaching Computer Organization and Architecture. It allows for the prototyping of a CPU on FPGA boards using a custom assembly language. Programs are loaded directly into the board's primary memory (RAM) and executed without an operating system, providing students with direct insight into CPU logic and implementation.
  2. Overview of the ICMC Processor Project

    The ICMC Processor is an educational project designed for teaching Computer Organization and Architecture. It enables the prototyping of a CPU on FPGA boards using a custom assembly language. Programs are loaded directly into the board's RAM and executed without an operating system, allowing students to study CPU logic and implementation.
  3. ICMC Assembly Register Reference

    The ICMC architecture provides the following registers:

    • General-Purpose Registers (r0 to r7): Used for temporary data storage.
    • Flag Register (fr): Stores results of the last comparison (cmp) (equal, greater, less) or arithmetic operation (zero, negative, overflow, division by zero). Used for call and jump instructions.
    • Stack Pointer (sp): Points to the top of the stack.
    • Program Counter (pc): Points to the memory address of the next instruction to be executed.
  4. Register a project for Practice in Computer Architecture and Organization (SSC0119)

    Students must use their USP email address to access and edit the Projects Spreadsheet. To register a project, fill in an empty row with the following details:

    • Group: A unique integer shared by all members of the same group (use the next available integer).
    • Title of the work: A unique title for the project.
    • Git: The URL of the git repository containing project files and documentation.
    • Name and USP Number: The student's official name and ID number as they appear on their ID card.
    • Members: The total number of members in the group.
  5. Register a project for the Practice in Computer Architecture and Organization (SSC0119) course

    Students must register their project in the Projects Spreadsheet using their USP email address. Each group must fill in an empty row with the following details:

    • Group: A unique integer assigned to the group (use the next available integer).
    • Title of the work: A unique title for the project.
    • Git: The URL of the git repository containing project files and documentation.
    • Name and USP Number: The student's official name and ID as shown on their ID card.
    • Members: The total number of students in the group.
  6. Register a project for the Practice in Computer Architecture and Organization course

    Students enrolled in the Practice in Computer Architecture and Organization (SSC0119) course must register their projects in the Projects Spreadsheet. Access the spreadsheet using a USP email address and fill in an empty row with the following details:

    • Group: A unique integer assigned to the group (use the next available integer).
    • Title of the work: A unique title for the project.
    • Git: The URL of the git repository containing project files and documentation.
    • Name and USP Number: Student details as they appear on the ID card.
    • Members: Total number of members in the group.
  7. Requirements for the SSC0119 project Git repository

    Student projects for the 'Practice in Organization and Computer Architecture' (SSC0119) course must be hosted in a Git repository. The repository must list all authors' names and USP numbers and include the following files:

    1. cpu.vhd: The VHDL description of the CPU.
    2. .asm and .mif files: The game program files.
    3. .mif file: The charmap used by the game.
    4. Any other files necessary for execution, especially if the ICMC Processor project was modified.
    5. Execution instructions for third parties.
  8. Register a project for the Computer Organization and Architecture Practice course

    Students in the Prática em Organização e Arquitetura de Computadores (SSC0119) course must register their projects in the designated Google Spreadsheet using their USP email. To register, find an empty row and fill in the following fields:

    • Grupo: An integer identifying the group. Use the next available integer for new groups.
    • Título do trabalho: A unique title for the project.
    • Git: The URL of the git repository containing the project files and documentation.
    • Nome e nUSP: Student name and USP number as they appear on the student ID.
    • Membros: Total number of group members.
  9. ICMC Assembly Register Reference

    The ICMC architecture provides several specialized registers:

    • General Purpose Registers (r0 to r7): Used for temporary data storage during processing.
    • Flag Register (fr): Stores results of the last comparison (cmp) (equal, greater, less) or arithmetic operation (zero, negative, overflow, division by zero). Used by call and jump instructions.
    • Stack Pointer (sp): Points to the top of the stack.
    • Program Counter (pc): Points to the memory address of the next instruction to be executed.
  10. Schedule a project presentation for the Practice in Computer Architecture and Organization (SSC0119) course

    To schedule a presentation, access the Presentations Spreadsheet using a USP email address. Find an available time slot (marked with --------------) and overwrite it with the format PORG-xx, where xx is the group number assigned during project registration.

    Presentations are held at ICMC Block 6, rooms 6-305/306.