TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Visual ARM1

104 pointsby frakturfreundover 9 years ago

7 comments

pepijndevosover 9 years ago
This is probably really amazing if you know what you&#x27;re looking at. I have no idea what any of the parts do and what code is being run.<p>I would love to see someone give a &quot;guided tour&quot; though all the parts of the CPU, and step through some assembly to see how the things works.<p>I can see from the picture there are distinct areas, and large arrays of gates that might be memory or adders or I don;t know. It would be amazing to see an add interaction actually wire up some memory to some gate and see the result propagate through the CPU.
评论 #10641012 未加载
评论 #10640897 未加载
ksherlockover 9 years ago
slightly off topic, but...<p>&gt; Credit goes to ... Lee Smith for spotting the variable record format used to encode the file (an artifact of the VMS on Acorn&#x27;s VAX that at first appeared to be widespread corruption of the file),<p>These days, thanks to Unix and C I suppose, a file is just a collection of bytes. That wasn&#x27;t always the case. Consider Pascal, where a file is a file of something (records, integers, etc).<p>So, on VMS, you had streaming files (just a collection of bytes) but also RMS -- Record Management System -- files, which were files of records. There were fixed length records (the record size was probably stored in the file metadata) and variable size records (record size was stored inline, as a byte or word prefix before the record). You might think you&#x27;re just writing data to a file, but you&#x27;re writing records (the OS adds the prefix for variable records or 0-pads for fixed length). Then when reading, you might request xx bytes but it will only read one record at a time. (Kind of like how fgets() will stop reading when it finds a newline or a tcp socket will stop reading when it finds a PUSH.)<p>There are advantages and disadvantages to this but if you&#x27;re dealing with a VMS RMS file, you need to be aware or it will look corrupted.
codeulikeover 9 years ago
The arm1 was designed on paper by people at Acorn whod never made a chip before I believe? Turned out pretty good.
评论 #10641837 未加载
评论 #10641340 未加载
joostersover 9 years ago
What code is it running? When I click play, it seems to be in a tight loop from code at addresses 24-34.<p>Maybe it&#x27;s simulating an entire OS run - if I leave it on for a few years it will finish zeroing the RAM and start booting :)
tachyonbeamover 9 years ago
I&#x27;m amazed at how small and (relatively) simple it all looks, that you can literally see the registers on that picture. Just 25K transistors for a whole 32-bit CPU with a 3-stage pipeline.<p>For those who would like a bit more detail about the feature of this CPU: <a href="http:&#x2F;&#x2F;everything2.com&#x2F;title&#x2F;ARM1" rel="nofollow">http:&#x2F;&#x2F;everything2.com&#x2F;title&#x2F;ARM1</a><p>One thing I was curious to know is whether the ARM1 had a hardware multiply instruction, whether they could fit that in this tiny CPU. It does not.
评论 #10642059 未加载
dannersover 9 years ago
Would be nice if somebody with the knowledge could do some kind of guided tour where they would go over some of the structures what they are and what they do. For me as a software developer with no knowledge of electronics it looks nice but thats about it.
评论 #10640898 未加载
评论 #10640913 未加载
Flowover 9 years ago
I hope they tear apart the VIC-II chip next time.<p>I know it seems like the state-machines of VIC-II are fully documented, but perhaps there could be even more tricks undiscovered?