![]() The bit counter circuit from the ARM1 processor chip. If you're not familiar with digital logic or the ARM processor, you might want to start with my earlier article on reverse-engineering the ARM1 for an overview. ![]() Finally, the adders are combined to create the bit counting circuit. The multiplexers are used to form logic gates, which are then combined to form a full adder, which adds three bits. The remainder of the article explains how a special type of circuitry called pass transistor logic is used to build a multiplexer - a circuit that selects one of its two inputs. It looks like a jumble of lines, but by examining it carefully, you can get an understanding of what is going on. Zooming in on the bit counter reveals the circuit below. This article explains the bit counter, and I plan to describe the priority encoder later. These two circuits are highlighted in red in the ARM1 die photo above.Īs you can see, the circuits take up a significant fraction of the chip (about 3%), but the chip designers felt the performance gain from block transfers was worth the increase in chip size and complexity. These take up about 3% of the chip's area.ARM1 die photo courtesy of Computer History Museum. The bit counter and priority encoder used for the LDM/STM instructions are highlighted in red. The ARM1 processor chip with major functional groups labeled. The second circuit, the priority encoder, scans the register select field and finds the next set bit, indicating which register to load/store next. The first circuit, the bit counter, counts the number of bits set in the register select field to determine how many registers are being transferred. To implement the block transfer instructions, the ARM requires two specialized circuits. ![]() The desired registers are specified by setting the corresponding bits in a 16-bit field in the instruction. These instructions can transfer any subset of ARM's 16 registers in a single instruction. One way ARM processors increase performance is through block data transfer instructions, which efficiently copy data between on-chip registers and memory storage. ![]() In 1990, Acorn Computers, Apple, and chip manufacturer VLSI Technology formed the companyĪdvanced RISC Machines to continue ARM development.ĪRM became very popular for low power applications (such as phones) and now more than 50 billion ARM processors have been manufactured. Its ill-fated Newton handheld system and chose ARM. The original ARM1 processor was designed in 1985 by a UK company called Acorn Computer for the BBC Micro home/educational computer.Ī few years later Apple needed a low-power, high-performance processor for The ARM1 is the ancestor of the processor in most cell phones, so you may have a descendent of this circuit in your pocket.ĪRM is now the world's most popular instruction set but it has humble beginnings. 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. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |