{"id":22025984,"url":"https://github.com/ortanav2/virtual-cpu-processing","last_synced_at":"2025-05-07T10:15:10.461Z","repository":{"id":203587702,"uuid":"709959357","full_name":"ortanaV2/Virtual-CPU-Processing","owner":"ortanaV2","description":"CPU data processing with programmable instructions. Visualize computation steps and understand the system using code.","archived":false,"fork":false,"pushed_at":"2023-10-31T22:21:42.000Z","size":18,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T10:14:58.986Z","etag":null,"topics":["cpu","data-processing","example-project","learning","replication","simulation","virtual","visualization"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ortanaV2.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}},"created_at":"2023-10-25T18:13:30.000Z","updated_at":"2024-02-26T16:13:29.000Z","dependencies_parsed_at":"2023-10-31T23:24:34.368Z","dependency_job_id":null,"html_url":"https://github.com/ortanaV2/Virtual-CPU-Processing","commit_stats":{"total_commits":12,"total_committers":2,"mean_commits":6.0,"dds":"0.33333333333333337","last_synced_commit":"0f928f1f6d087e3f58900677ef731575c1fe1e47"},"previous_names":["ortanav2/cpu-data-processing-replica","ortanav2/virtual-cpu-processing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortanaV2%2FVirtual-CPU-Processing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortanaV2%2FVirtual-CPU-Processing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortanaV2%2FVirtual-CPU-Processing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortanaV2%2FVirtual-CPU-Processing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ortanaV2","download_url":"https://codeload.github.com/ortanaV2/Virtual-CPU-Processing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856558,"owners_count":21814858,"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":["cpu","data-processing","example-project","learning","replication","simulation","virtual","visualization"],"created_at":"2024-11-30T07:24:26.426Z","updated_at":"2025-05-07T10:15:10.447Z","avatar_url":"https://github.com/ortanaV2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CPU-Data-Processing-Replica\n\u003e [!NOTE]\n\u003e This program is only a rough approximation of a simple real CPU. Its purpose is to create an basic understanding of how the system works and how it computes.\n## Instruction data // CPU-Programming\n\u003e How to program the CPU.\n\n_**Example**_: `[\"0001\", \"0000\", \"01010101\", None, \"0011\"]`\n\nThis block of code represents a _single instruction_ for the CPU to execute. It's structure is build like this: \n\n`[instruction_address, instruction_type, memory_address, data, instruction_continuer]`\n\nThe purpose of the instruction address is to establish a sequence of instructions that must be executed in a specific order. Also required is the instruction continuer, which informs the CPU about the next instruction to be processed (it appends to an already existing instruction address). To enable the CPU to determine the type of computation required, the instruction type is essential, as it defines the primary instruction from the instruction set.\n\n## Instruction set \n\u003e Base instructions\n\n* 0000 = load  \u003e  _imports data from RAM_\n* 0001 = add  \u003e  _adds number to data_\n* 0010 = store  \u003e _stores data in RAM_\n* 0011 = compare  \u003e  _compares two datasets_\n* 0100 = output  \u003e  _outputs data in terminal_\n\n\u003e [!NOTE]\n\u003e Updates are upcoming. Not all base functionalities are given.\n\n## DATA-STORAGE\n### RAM\n\u003e RAM structure\n\n_**Example**_: `[\"00101101\", \"10011010\"]` --\u003e `[memory_address, data]`\n### REGISTER\n\u003e Register types\n\n* accumulator \u003e _imported data_\n* memory_address \u003e _saved memory address_\n* result_register \u003e _calculation values_\n* state_register \u003e _(True/False) values_\n\n## SETTINGS\n_(Default)_ `show_process = True` \u003e  _shows the process-steps in terminal_\n\n_(Default)_ `clock_speed = 1` \u003e  _instruction step speed_\n## USAGE\nProgram your own CPU instructions in `instruction_data`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortanav2%2Fvirtual-cpu-processing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fortanav2%2Fvirtual-cpu-processing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortanav2%2Fvirtual-cpu-processing/lists"}