Content for Reverse Engineering

Reverse Engineering

Reverse engineering, also called back engineering, is the process by which a man-made object is deconstructed to reveal its designs, architecture, or to extract knowledge from the object; similar to scientific research, the only difference being that scientific research is about a natural phenomenon. Reverse engineering is applicable in the fields of mechanical engineering, electronic engineering, software engineering, chemical engineering, and systems biology.

Reverse engineering standard cell logic in the Intel 386 processor

“The 386 processor (1985) was Intel’s most complex processor at the time, with 285,000 transistors. Intel had scheduled 50 person-years to design the processor, but it was falling behind schedule. The design team decided to automate chunks of …

Inside the Intel 386 processor die: the clock circuit

“Processors are driven by a clock, which controls the timing of each step inside the chip. In this blog post, I’ll examine the clock-generation circuitry inside the Intel 386 processor. Earlier processors such as the 8086 (1978) were simpler …

Reverse engineering the Intel 386 processor’s register cell

“The groundbreaking Intel 386 processor (1985) was the first 32-bit processor in the x86 line. It has numerous internal registers: general-purpose registers, index registers, segment selectors, and more specialized registers. In this blog post, I look at the silicon die …

Examining the silicon dies of the Intel 386 processor

“You might think of the Intel 386 processor (1985) as just an early processor in the x86 line, but the 386 was a critical turning point for modern computing in several ways.1 First, the 386 moved the x86 architecture …

How flip-flops are implemented in the Intel 8086 processor

“A key concept for a processor is the management of “state”, information that persists over time. Much of a computer is built from logic gates, such as NAND or NOR gates, but logic gates have no notion of time. Processors …

Tracing the roots of the 8086 instruction set to the Datapoint 2200 minicomputer

“The Intel 8086 processor started the x86 architecture that is still extensively used today. The 8086 has some quirky characteristics: it is little-endian, has a parity flag, and uses explicit I/O instructions instead of just memory-mapped I/O. It …

A close look at the 8086 processor’s bus hold circuitry

“The Intel 8086 microprocessor (1978) revolutionized computing by founding the x86 architecture that continues to this day. One of the lesser-known features of the 8086 is the “hold” functionality, which allows an external device to temporarily take control of the …

Undocumented 8086 instructions, explained by the microcode

“What happens if you give the Intel 8086 processor an instruction that doesn’t exist? A modern microprocessor (80186 and later) will generate an exception, indicating that an illegal instruction was executed. However, early microprocessors didn’t include the circuitry …

Reverse-engineering the 8086 processor’s address and data pin circuits

“The Intel 8086 microprocessor (1978) started the x86 architecture that continues to this day. In this blog post, I’m focusing on a small part of the chip: the address and data pins that connect the chip to external memory …

Driving an Unknown Salvaged ST7567 or ST7565 SPI LCD Display

“This is a Noname graphical LCD display salvaged from an unknown device. We are going to figure out its pinout and try to interface it. Introduction I am basically writing this tutorial as a note for myself to avoid another …