{"id":31579067,"url":"https://github.com/yamil-serrano/computer-architecture-ii-projects","last_synced_at":"2025-10-05T20:46:13.355Z","repository":{"id":315502428,"uuid":"1059746860","full_name":"Yamil-Serrano/Computer-Architecture-II-Projects","owner":"Yamil-Serrano","description":"Mini-projects and exercises developed for the course CIIC 4082 – Computer Architecture II. All projects are implemented in RISC-V 32-bit Assembly, making use of the Ripes simulator, which provides an educational environment to explore computer architecture concepts.","archived":false,"fork":false,"pushed_at":"2025-09-18T23:42:35.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-19T01:25:56.526Z","etag":null,"topics":["assembly","risc-v"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yamil-Serrano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-18T22:14:25.000Z","updated_at":"2025-09-18T23:42:36.000Z","dependencies_parsed_at":"2025-09-19T01:26:00.816Z","dependency_job_id":"dacc14d3-99e0-4f58-9f04-32946af18911","html_url":"https://github.com/Yamil-Serrano/Computer-Architecture-II-Projects","commit_stats":null,"previous_names":["yamil-serrano/computer-architecture-ii-projects"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Yamil-Serrano/Computer-Architecture-II-Projects","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamil-Serrano%2FComputer-Architecture-II-Projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamil-Serrano%2FComputer-Architecture-II-Projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamil-Serrano%2FComputer-Architecture-II-Projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamil-Serrano%2FComputer-Architecture-II-Projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yamil-Serrano","download_url":"https://codeload.github.com/Yamil-Serrano/Computer-Architecture-II-Projects/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yamil-Serrano%2FComputer-Architecture-II-Projects/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278517924,"owners_count":26000175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembly","risc-v"],"created_at":"2025-10-05T20:46:09.464Z","updated_at":"2025-10-05T20:46:13.340Z","avatar_url":"https://github.com/Yamil-Serrano.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Computer-Architecture-II-Projects\n\nThis repository contains the mini-projects and exercises developed for the course  **CIIC 4082 – Computer Architecture II (Fall 2025)** at the University of Puerto Rico, Mayagüez.\n\nAll projects are implemented in **RISC-V 32-bit Assembly**, making use of the  **Ripes simulator**, which provides an educational environment to explore computer architecture concepts.  Ripes offers tools such as a **32-bit RISC-V processor pipeline visualization**,  a **LED Matrix display**, **D-Pad input device** and others tools that we use for interactive assignments.  \n\nThe main goal of these projects is to reinforce the understanding of:  \n- Low-level programming in RISC-V 32-bit Assembly.  \n- Memory-mapped I/O for controlling hardware-like peripherals (LED Matrix, D-Pad).  \n- Concepts of CPU architecture, instruction flow, and efficient resource usage.  \n- Practical applications of theoretical concepts taught in the course (e.g., pipelining, subroutines, exceptions).  \n\n## Repository Structure:\n\nThe repository is organized into folders, each one corresponding to a class assignment or practice.\n\n### Assignment 1: Emoji \u0026 Movement\n\n- Part 1 (60%): Draw an emoji on the LED Matrix (25x35) with a white background.\n\n- Part 2 (30%): Move the emoji using the D-Pad. The emoji should stop moving when colliding with the matrix boundaries.\n\n\u003e Note: This repository includes an improved version of the assignment:\n\u003e - Custom emoji (15x16).\n\u003e - Future expansions may include animations or additional graphic variations.\n\n## Emoji Representation\n\nThe emoji used in this project has a resolution of **15 pixels wide x 16 pixels high**. Each pixel was mapped into a `.word`, where every color was written in hexadecimal format (`0x00RRGGBB`).  Each `.word` corresponds to one row of the emoji in the LED Matrix.  \n\nThis way, the sprite can be easily drawn on the **25x35 LED Matrix** provided by Ripes.\n\n\n\u003cimg width=\"1918\" height=\"1017\" alt=\"image\" src=\"https://github.com/user-attachments/assets/ab5ba1a8-9e1e-408f-85fe-17ce76191f42\" /\u003e\n\n\n### Other Projects\n\nAs the course progresses, additional assignments/projects will be added here:\n\n## Requirements:\n\n- Ripes – RISC-V architecture simulator\n\n- Basic knowledge of RISC-V Assembly.\n\n## License\nThis project is licensed under the MIT License – see the [LICENSE](LICENSE) file for details.\n\n\n## Contact\nIf you have any questions or suggestions, feel free to reach out to me:\nGitHub: [Neowizen](https://github.com/Yamil-Serrano)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamil-serrano%2Fcomputer-architecture-ii-projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyamil-serrano%2Fcomputer-architecture-ii-projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamil-serrano%2Fcomputer-architecture-ii-projects/lists"}