{"id":21905188,"url":"https://github.com/godtamit/tomasulo-simulation","last_synced_at":"2025-10-23T22:01:45.552Z","repository":{"id":84891244,"uuid":"89100567","full_name":"GodTamIt/tomasulo-simulation","owner":"GodTamIt","description":"A simulation of the Tomasulo algorithm, a hardware algorithm for out-of-order scheduling and execution of computer instructions, written in C++.","archived":false,"fork":false,"pushed_at":"2017-04-22T21:50:42.000Z","size":373,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T23:36:46.217Z","etag":null,"topics":["hardware","processor","processor-architecture","processor-simulator","simulation","tomasulo"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GodTamIt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2017-04-22T21:35:55.000Z","updated_at":"2024-04-18T19:36:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"41d0989f-54ed-4d49-90d0-7420ed0e4945","html_url":"https://github.com/GodTamIt/tomasulo-simulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GodTamIt/tomasulo-simulation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodTamIt%2Ftomasulo-simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodTamIt%2Ftomasulo-simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodTamIt%2Ftomasulo-simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodTamIt%2Ftomasulo-simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GodTamIt","download_url":"https://codeload.github.com/GodTamIt/tomasulo-simulation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodTamIt%2Ftomasulo-simulation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265236722,"owners_count":23732497,"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","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":["hardware","processor","processor-architecture","processor-simulator","simulation","tomasulo"],"created_at":"2024-11-28T16:31:27.448Z","updated_at":"2025-10-23T22:01:45.439Z","avatar_url":"https://github.com/GodTamIt.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tomasulo Simulation\n\n## Introduction\nThis project is an educational simulation of the [Tomasulo algorithm](https://en.wikipedia.org/wiki/Tomasulo_algorithm), a hardware algorithm for out-of-order scheduling and execution of computer instructions, written in C++.\n\n## Implementation\n\nBelow are some of the key concepts of the simulation's algorithm:\n\n* **Reorder Buffer:** simulates branching resolution using a reorder buffer\n* **Register Renaming:** a technique to minimize data hazards\n* **Result Buses:** unlike the original Tomasulo algorithm, which contains a single *Common Data Bus (CDB)*, there can be multiple result buses to update the state of the pipeline.\n* **Reservation Station Scheduling:** units of scheduling managing an instruction fired to a *Function Unit*\n* **Specialized Function Units:** specialized hardware units specific to different types of instructions\n* **Gselect Branch Prediction:** a global branch prediction scheme that keeps a pattern history table and concatenates the global branch history","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodtamit%2Ftomasulo-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodtamit%2Ftomasulo-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodtamit%2Ftomasulo-simulation/lists"}