{"id":222350,"date":"2025-09-23T19:28:08","date_gmt":"2025-09-24T00:28:08","guid":{"rendered":"https:\/\/lifeboat.com\/blog\/2025\/09\/computer-has-one-instruction-many-transistors"},"modified":"2025-09-23T19:28:08","modified_gmt":"2025-09-24T00:28:08","slug":"computer-has-one-instruction-many-transistors","status":"publish","type":"post","link":"https:\/\/lifeboat.com\/blog\/2025\/09\/computer-has-one-instruction-many-transistors","title":{"rendered":"Computer Has One Instruction, Many Transistors"},"content":{"rendered":"<p><\/p>\n<p><iframe style=\"display: block; margin: 0 auto; width: 100%; aspect-ratio: 4\/3; object-fit: contain;\" src=\"https:\/\/www.youtube.com\/embed\/10Kjh3kQZHY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope;\n   picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>There\u2019s always some debate around what style of architecture is best for certain computing applications, with some on the RISC side citing performance per watt and some on the CISC side citing performance per line of code. But when looking at instruction sets it\u2019s actually possible to eliminate every instruction except one and still have a working, Turing-complete computer. This instruction is called <em>subleq<\/em> or \u201csubtract and branch if less-than or equal to zero \u201d. <a href=\"https:\/\/hackaday.io\/project\/204002-my-homemade-subleq-cpu\" target=\"_blank\">[Michael] has built a computer that does this out of discrete components from scratch<\/a>.<\/p>\n<p>We\u2019ll save a lot of the details of the computer science for [Michael] <a href=\"https:\/\/en.wikipedia.org\/wiki\/One-instruction_set_computer#Subtract_and_branch_if_less_than_or_equal_to_zero\" target=\"_blank\">or others<\/a> to explain, but at its core this is a computer running with a 1 kHz clock with around 700 transistors total. Since the goal of a single-instruction computer like this is simplicity, the tradeoff is that many more instructions need to be executed for equivalent operations. For this computer it takes six clock cycles to execute one instruction, for a total of about 170 instructions per second. [Michael] also created an assembler for this computer, so with an LCD screen connected and mapped to memory he can write and execute a simple hello world program just like any other computer.<\/p>\n<p>[Michael] does note that since he was building this from Logisim directly he doesn\u2019t have a circuit schematic, but due to some intermittent wiring issues might have something in the future if he decides to make PCBs for this instead of using wire on a cardboard substrate. There\u2019s plenty of other information on <a href=\"https:\/\/github.com\/PolymathUnlimited\/Subleq-CPU\" target=\"_blank\">his GitHub page<\/a> though. It\u2019s a unique project that gets to the core of what\u2019s truly needed for a working computer. <a href=\"https:\/\/hackaday.com\/2022\/01\/26\/strange-computer-languages-a-hackers-field-guide\/\">There are a few programming languages out there that are built on a similar idea<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There\u2019s always some debate around what style of architecture is best for certain computing applications, with some on the RISC side citing performance per watt and some on the CISC side citing performance per line of code. But when looking at instruction sets it\u2019s actually possible to eliminate every instruction except one and still have [\u2026]<\/p>\n","protected":false},"author":599,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1523,20],"tags":[],"class_list":["post-222350","post","type-post","status-publish","format-standard","hentry","category-computing","category-futurism"],"_links":{"self":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/222350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/users\/599"}],"replies":[{"embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/comments?post=222350"}],"version-history":[{"count":0,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/posts\/222350\/revisions"}],"wp:attachment":[{"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/media?parent=222350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/categories?post=222350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lifeboat.com\/blog\/wp-json\/wp\/v2\/tags?post=222350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}