When wanting to learn a very complex topic I’ve found it very helpful to «go back in time» to when the technology was first introduced.
For topics ranging from OpenGL to to hardware architecture I believe the key to easy learning is starting research with resources from technology when it was introduced. The documentation is designed differently when a product is first introduced. For instance, Intel knew that in 1973 when a CPU is introduced the manual had to actually explain how people can use the product.
Now in 2016 even introduction books for OpenGL, x86, asm, c, c++, and java still (even if they don’t realise it) use words, language, and gloss over ideas that were established in the past to describe the current modern version. As an individual that didn’t experince the technology as it was growing to maturity the learning process can be very difficult.
Welcome to my time capsule! Here I kick-ff a series of projects and stair step my way through computing’s history. Experiencing the technologies as they grow and mature just like the experts did. Here I will document my challenges and explinations in what I hope is a way that you can learn computer architecutre with me by stepping though time.
The Intel 8080 was released, read all about it on Wikipedia: Intel 8080. This chip is actually of very little interest. Only to note that Zilog «won» the market by combining most of the several chips required to use an 8080 into 1 easy to use chip that was mostly compatibile with the 8080.
The 8085 moved the required support chips into the main package to reduce complexity. Intel also introduced several optional support chips that were designed specifically for use by the 8085 and reduced the complexity of I/O, Memory, EPROM, and SRAM handling. These chips include the Intel 8155, 8156, 8255, 8355, 8755. Some of these we will use in our build. Some are to old or do not contain enough memory/storage.
In the hardware section I’ll go into detail about some of these components. The sections the components are used in will be much more detailed however.
- Intel 8085 (AH-2 is preferred because its much faster)
- 5v Power
- Oscillating Timer
- 8-bit latch (support chips available)
- At least a 1000 pack of various resistors
- At least 48 LEDs, 16 for Address, 8 for Data, several for I/O and others
- .1uf capasitors.
In this section is an overview of the main components used in our build. Indepth information will be covered in each section the component is used.
The Intel 8085 as we mentioned combined several components into the main chip but introduced the need for others. Here is a list of a few of the improvements of the 8085 over the 8080 that makes our worry list a bit smaller.
- 8080 requires 12v,5v
- 8080 requires Intel 8224
- 8080 requires Intel 8228
- 8085 has 3,5,8mhz available
Any 8085 package will do. I recommend the 8085AH-2 though for its faster max available clock and lower power usage over the 8085A series.
Octal Latch (8-bit latch)
Intel did not want to force customers to by new sockets and retool everything. This resulted in Intel designing the 8085 to fit into the 40-pin package of the 8080. Only having 40-pins and the addition of the new integrated functionality meant that the 16 address pins and 8 data pins of the 8080 needed to be combined into 8 address pins and 8 address/data pins.
The 8-bit latch’s main function is to accept an 8-bit address from the CPU and then continue sending that address to the Memory. Meanwhile those 8 pins get repurposed as datapins and are used to fetch the data from the Memory’s datapins while the latch retains the address on the Memory’s address pins. The 8155 (256 bytes SRAM + 22 I/O pins) and the 8755 (2k EPROM + 16 I/O pins) both included this latch in their package. This significantly reduced the amount of complexity for a basic «full system».
The 8085 includes the 8224 circuitry for handling the clock. However, the chip still needs to be driven by an oscilating signal. Using a crystal or a timer ic to produce the signal hooked up to the x1,x2 pins is the method of driving the chip’s clock. The frequence of the CPU is OscillationFreq/2 so a 6mhz signal will make the CPU run at 3mhz.
Breadboard, Jumperwires, Resistors, Capasitors, ICs, 5v power supply at the ready! Lets go!