- Inside the ALU of the armv1 - the first ARM microprocessor (daveshacks.blogspot.com)
With that in mind I embarked on my own attempt to reverse-engineer parts of the armv1. Some background knowledge of the processor’s architecture is helpful, and googling for “ARM Architecture Reference Manual” will lead you to very detailed descriptions of the more modern versions of the processor. By just looking at the masks and knowing a little about the processor’s architecture it’s possible to make some good guesses at what some of the blocks are.
- Counting bits in hardware: reverse engineering the silicon in the ARM1 processor (righto.com)
How can you count bits in hardware? In this article, I reverse-engineer the circuit used by the ARM1 processor to count the number of set bits in a 16-bit field, showing how individual transistors form multiplexers, which are combined into adders, and finally form the bit counter. The ARM1 is the ancestor of the processor in most cell phones, so you may have a descendent of this circuit in your pocket.
- Conditional instructions in the ARM1 processor, reverse engineered (righto.com)
By carefully examining the layout of the ARM1 processor, it can be reverse engineered. This article describes the interesting circuit used for conditional instructions: this circuit is marked in red on the die photo below. Unlike most processors, the ARM executes every instruction conditionally. Each instruction specifies a condition and is only executed if the condition is satisfied. For every instruction, the condition circuit reads the condition from the instruction register (blue), evaluates the condition flags (purple), and informs the control logic (yellow) if the instruction should be executed or skipped.
- Reverse engineering ARM1 instruction sequencing, compared with the Z-80 and 6502 (righto.com)
When a computer executes a machine language instruction, it breaks down the instruction into smaller steps that are performed in sequence. For instance, a load instruction might first compute a memory address, then fetch a value from that address, and then store that value in a register. This article describes how the ARM1 processor implements instruction sequencing, performing the right steps in order. I also look briefly at the 6502 and Z-80 microprocessors and the different sequencing techniques they use.
- The ARM1 processor’s flags, reverse engineered (righto.com)
This article reverse-engineers the flag circuits in the ARM1 processor, explaining in detail how the flags are generate, controlled, and used. Condition flags are a key part of most computers, since they allow the computer to change what it does based on various conditions. The flags keep track of conditions such as a value being negative or zero or an overflow happening. Processors may also have status flags to control modes such as running in user mode versus protected (kernel) execution. The ARM1 processor stores these flags in a special register called the Processor Status Register (PSR).
- Monaco (Wikipedia)
Monaco, officially the Principality of Monaco, is a sovereign city-state and microstate on the French Riviera a few kilometres west of the Italian region of Liguria, in Western Europe, on the Mediterranean Sea. It is bordered by France to the north, east and west. The principality is home to 38,682 residents, of whom 9,486 are Monégasque nationals; it is widely recognised as one of the most expensive and wealthiest places in the world. The official language of the principality is French. In addition, Monégasque (a variety of Ligurian), English and Italian are spoken and understood by many residents.
- Reverse engineering the ARM1, ancestor of the iPhone’s processor (righto.com)
Almost every smartphone uses a processor based on the ARM1 chip created in 1985. The Visual ARM1 simulator shows what happens inside the ARM1 chip as it runs; the result (below) is fascinating but mysterious. In this article, I reverse engineer key parts of the chip and explain how they work, bridging the gap between the puzzling flashing lines in the simulator and what the chip is actually doing. I describe the overall structure of the chip and then descend to the individual transistors, showing how they are built out of silicon and work together to store and process data. After reading this article, you can look at the chip’s circuits and understand the data they store.