In 1945, John von Neumann wrote a landmark paper describing the architecture for a general-purpose computer and, as an unintended side effect, launched the fields of electrical engineering and computer science on separate yet parallel trajectories.
Von Neumann's computer, which consisted of a general-purpose processor with application-specific software running on top of it, enabled the tasks of digital hardware design and writing software code to be easily separated. This spawned a division between electrical engineers, who focused on building ever smaller and more powerful chips, and computer scientists, who devised efficient algorithms for specific tasks.
This incidental boundary has held up for more than half a century, but now it is collapsing as new computational models are bringing about a fundamental reorganization of EECS research. "Von Neumann messed us all up by giving us a particular model that entrapped us," said Richard Newton, formerly a professor of EECS and dean of Berkeley's College of Engineering. "Now we have to undo all that, which is painful and slow."
Taking the place of the von Neumann world, with its clear separation of tasks, is a new world in which functions can be implemented either as hardware or software, depending on the application. "It used to be: 'Given an Intel Pentium, give us the best computer,' or 'Given an ARM processor, what's the best cell phone we can design?'" explained Newton. "The new way is to ask: 'Given the specifications for what I need, how do I best implement it?'"
At Berkeley, the intermixing of EE and CS has brought forth new challenges, which, in turn, have led to collaborations and exchanges of ideas between researchers who once viewed themselves as in essentially different disciplines. For example, Kris Pister, a professor of electrical engineering, and David Culler, a professor of computer science, partnered to create a platform for wireless sensor networks, which have become one of the most exciting frontiers of computer research
Meanwhile, Electrical Engineering Professors Alberto Sangiovanni-Vincentelli and Edward Lee are leading efforts to create reliable embedded systems that mix hardware and software. "Culturally, our approach is based on EE systems theory, but really we're doing CS," says Lee.
Dave Patterson, a professor of computer science, is working with Professors Krste Asanović and John Wawrzynek in computer science and Professors Bob Brodersen, Kurt Keutzer, and others in electrical engineering to create a way for hardware and software researchers to work together toward the long held dream of parallel computing. "In the past, chip performance automatically doubled every 18 months and most software people were insulated from what was going on," Patterson says. From now on, "the programmers will have to interact with the hardware designers if they want things to run faster."
But the movement from EE and CS to EECS is most evident, perhaps, in the outlook of Berkeley students, who are receiving their training in the new world without boundaries. "Our students say they no longer know whether they do EE or CS," says Jitendra Malik, a professor of computer science.