This is a microscopic photograph of an 8085 processor die. [Ken Shirriff] uses the image in his explanation of how the ALU works. It is only capable of five basic operations: ADD, OR, XOR, AND, and SHIFT-RIGHT. [Ken] mentions that the lack of SHIFT-LEFT is made up for by adding the number to itself which has the effect of multiplying a number by two; the same mathematical function performed by a shift operation.
His post details the gate arrangement for each ALU operation. This is clear and easy to follow, and was based on reverse engineering work already done by a team who meticulously decapped and photographed the dies.
Not long ago this explanation would have been voodoo to us. But we worked our way through The Elements of Computing Systems text-book by following the online Nand to Tetris course. It really demystifies the inner working of a chip like the 8085.
Now if you really want to understand this ALU you’ll build it for yourself inside of Minecraft.
Personally we find this Ball-Grid Array chip-swap rather horrifying. But if you want to beef up the processor on your 701 Eee PC this is what you’ll need to go through. Not only did [Red Fathom] upgrade to a 1.6 GHz chip, but he managed to get the computer to boot up with the new hardware in place.
BGAs are notoriously hard to solder. This hack pulls it off using just a hot air gun. [Red Fathom] heats the board from the underside until the solder melts and he can pluck off the old chip. He then uses a solder braid and iron to remove extra solder from the footprint. After a little cleanup with a cotton swab and some flux he plops in an Intel Pentium M LV 778. It doesn’t look like he added any solder after the cleaning process. Perhaps he’s relying on the small amount left on the tinned pads of the board?
After the break you can see the soldering process and a video of the new processor booting Xandros.
Continue reading “Swapping out Eee PC BGA chip for 1.6 GHz upgrade”
You’re going to want to do some stretching before undertaking a soldering project like this one. We’re betting that the physical toll of assembling this 4-bit discrete processor project is starting to drive [SV3ORA] just a bit crazy. This small piece of electronic real estate is playing host to 62 transistors so far, and he’s not done yet.
It’s one thing to build some logic gates in Minecraft (and then turn then into a huge 16-bit ALU). But it’s another thing to actually commit to a physical build. [SV3ORA] does a great job of showing the scope of the project by posting a tight shot of one inverter, then three in a row, then the entire 8-bit address and display system. These gates are built on the copper side of the board, with the power feed, LEDs for displays, and jumpers for control on the opposite side. We’re excited to see where he goes with this project!
But hey, if you don’t want to do that much soldering there’s a lot you can do on a few breadboards.
Put on that abstract thinking cap, get out the pen and paper, and spend some time figuring out how this one-bit processor works. [Strawdog] came up with the concept one day during his commute to work (don’t worry, he takes the train… much safer than [Dave Jones’] frightening drive-time podcasts). He sketched it out on paper to make sure he knew where he was going with the project, then collaborated with Legion Labs to implement it in processing as an easier way to visualize its functionality. Since it’s one-bit there’s only room for one instruction. That instruction is a copy, then branch-if instruction. It copies the current bit to one address, and if that bit was one, it branches to a second address.
Going a bit fast for you? We think the description is fairly good, but if you can’t quite put it together from the article’s description, you may want to build this 2-bit paper processor and learn how it works first. It should teach you the basic concepts you need to understand the 1-bit version. As you can see in the image above, there’s also a single-step feature in the processing example that lets you analyze the effects of each instruction during program execution.
If you ever wondered how the Arduino came into being, check out [IEEE Spectrum’s] article entitled “The Making of Arduino.” From it’s humble origins in Northern Italy, the Arduino, as shown by a large number of projects featured at [HAD], has become the go-to processor for DIY processing power. It’s cost (around $30) and ease-of-use are some of the biggest factors allowing it to become such a huge success.
One thing that interests many people about the Arduino is that it is totally open source, licensed under the Creative Commons License. This was quite innovative in itself since the CCL was generally applied to works of art like music and writing. Despite the fact that [Banzi] and his team decided to literally give the design away, 0ver 250,000 of these boards have been sold worldwide not including their many clones.
If you’re wondering how it got the name “Arduino”, it’s named after a bar named “Bar Di Re Arduino” in the Northern Italian town of Ivrea.
Looks like some hardware enthusiasts have worked out a method to enable debug mode within AMD processors. The original site isn’t loading for us, but the text has been mirrored in this comment. Getting the chip into debug mode requires access passwords on four control registers. We’ve read through the writeup and it means very little to us but we didn’t pull out a datasheet to help make sense of the registers being manipulated. It shouldn’t be hard to find an old AMD system to try this out on. We’d love to hear about anything you do with this debug system.
Take a few minutes out of your day, grab your scissors, and learn how a simple processor works. [Saito Yutaka] put together an exercise to teach processor operations with paper. After downloading the PDF you can cut out the Address and Data pointer as well as two-bit data tokens for each. The processor has three instruction sets; Increment register by one, Jump if not over flow, and Halt wait for reset.
Once you’ve got your cutouts you can follow along as the program is executed. The INC operation is run, with the JNO used to loop the program. Once the register has reached an overflow the overflow counter halts the program.
One word of warning, we think there’s a typo in one of the captions. Once the program starts running and gets to address 01(2) the caption still reads 00(2) for both address and data. As long as you compare the values in the picture along the way you should have no problem getting through execution. which has now been fixed.