News
Garber Announces Advisory Committee for Harvard Law School Dean Search
News
First Harvard Prize Book in Kosovo Established by Harvard Alumni
News
Ryan Murdock ’25 Remembered as Dedicated Advocate and Caring Friend
News
Harvard Faculty Appeal Temporary Suspensions From Widener Library
News
Man Who Managed Clients for High-End Cambridge Brothel Network Pleads Guilty
Ask any Electrical Engineering students with an interest in computer application and they will tell you how much they're dying for the opportunity to design a microprocessor.
With that goal in mind, ten students and I enrolled this past semester in Computer Science 148, "Introduction to VLSI Design," where the term project was designing a very large-scale integrated (VLSI) Computer chip.
But designing even the simplest of microprocessors is no easy task. The processor requires the ability to compute (of course!) and reason. You have to make sure it can remember reliably what it takes in as input. And--here's the tricky part--you have to build special circuitry that understands the different instructions and knows what to do if something unexpected occurs.
All this adds up to an overwhelming amount of work, especially for one person in just a little more than a month. The final circuit is sure to contain thousands of transistors, and fitting and wiring up all these tiny devices often turns out to be the designer's biggest headache.
To put this into some perspective, consider Intel's newly released Pentium chip. This successor to the company's popular 80486 microprocessor contains an astonishing 3.1 million transistors on a die about the size of a quarter.
The Pentium is considered an engineering feat not only because of its complexity, but also because the more transistors are squeezed together, the harder it becomes to dissipate heat generated by these tiny electrical switches. Too much heat may cause the processor to fail.
To design the Pentium, Intel assembled a team of engineers with expertise in computer architecture (how the processor should work), system programming (how it could be used by programmers) and chip design (how the circuits should be laid out). The entire design and testing process took almost four years and cost tens of millions of dollars.
Back in C.S. 148, soon everyone realized it was simply unrealistic to try to build a microprocessor. We were further discouraged when told that last year some people did undertake such an endeavor, but the team just "disintegrated after a while," according to the instructor, Assistant Professor of Electrical Engineering Woodward Yang, who has taught the course since last spring.
Dismayed, my partner, John A. Hancock '93, and I searched around for something to build. We gave some thought to a data compression/decompression chip, but decided it would be difficult to implement one that would do a decent job, especially when we were supposed to use no more than 10,000 transistors--a generous limit, it turned out.
After looking at several other project ideas and scaling down our ambition more and more, we decided to build a simple but nonetheless practical and educational device: a chip that can multiply and divide two eight-bit binary numbers.
To make the multiplier/divider work, we needed to build an adder--not of the snake variety--since both multiplication and division, are in essence repeated additions (or subtractions). We also needed to construct several registers that store data and the pain-in-the-neck control unit, which instructs the rest of the chip what to do at each stage.
The adder and most of the registers were laid out in one afternoon. The design of a 16-bit, bidirectional shift register, employed to turn additions into actual multiplication and division, took John a couple of days to complete.
As we entered the second week of reading period and the project deadline loomed closer, we accelerated our peace and worked out all the control signals over meals and after-meal discussions.
Then there was the final wiring to connect all the individual units together into one single chip. In fact, if we retain any memory of the project, it must be the painful experience with wiring, which took the largest amount of time we spent laying out the chip.
We finished drawing out the chip, with 2000-plus transistors, two days before the deadline, and spent the rest of the week running simulation tests and fixing bugs. The good news is that there were no major design errors and, to our utmost satisfaction, the software simulation worked!
The simulation indicated our chip was quite slow, but for a couple of first-time chip designers, the fact that ten days of intense work paid off was itself a tremendous reward.
Of course, our next project, an 80686, might take just a bit longer...
Haibin Jiu '94, associate photography chair of The Crimson, is taking a long-deserved break from computers. His column will return next semester on the Science & Health page.
Want to keep up with breaking news? Subscribe to our email newsletter.