Select Committee on Science and Technology Second Report



5.1  The previous Chapter described the way that silicon chips containing tens of millions of transistors are fabricated. An integral part of each chip is, of course, the way in which the individual components are laid out and connected together. This Chapter reflects on the challenges presented to integrated circuit designers as they find ways to make the best use of the very large numbers of transistors that can now be manufactured on a chip and the even larger numbers that will become available in the future.

5.2  Integrated circuit design covers the full range of activities that are required to take a product specification and turn it into the masks needed for chip fabrication, as described in Box 2. The term "architecture" is used to describe aspects of the higher levels of the design process where the designer is concerned primarily with the flow of information within the integrated circuit. There is considerable potential for performance improvement through the enhancement of computer architectures, as discussed in paragraph 5.7 onwards below.

The importance of design

5.3  As noted in paragraph 4.13, chip manufacturers plan to maintain the Moore's Law year-on-year increase in the number of transistors fabricated on a chip. As those transistors are smaller and closer together, they can be switched at higher speeds. However, also of significance in making microprocessors run faster is the ability of integrated circuit designers to find new ways to exploit the increased transistor resource on each chip.

5.4  The challenge of designing today's integrated circuits should not be under-estimated. With many millions of transistors to be connected in precisely defined configurations, hundreds of designer-years of effort can be absorbed in developing a single chip. This makes the cost of design one of the major concerns of the industry, and continuous effort is expended to increase designer productivity to keep these costs under control. The two principal techniques employed to improve designer productivity are the development of more advanced computer-aided design automation tools and increasing levels of design re-use.

5.5  Progress in design automation has allowed the designer to move from drawing individual transistor structures, as was standard practice in the 1970s, to the present approach based upon describing the behaviour of the desired circuit in a high-level hardware description language, similar to the programming languages used to develop computer software. Computer programs automatically translate the high-level description into physical layout, check that the result meets manufacturing requirements, and generate a model of the circuit that can be simulated to ensure that the circuit performs correctly.

5.6  Design re-use describes the practice whereby a new integrated circuit is not designed completely from scratch but, instead, is built at least partially around pre-existing design components. These pre-existing components may be carried over from a previous generation of a similar design or they may be bought in. A new design industry has emerged that develops IP (Intellectual Property) blocks that are licensed to customers who use these as design components on their own chips. This reduces not only the scale of the design and verification task that they must undertake themselves but also the risk of their integrated circuit not working.

The role of architecture in increasing performance

5.7  One of the fundamental architectural techniques employed by designers to increase system performance is parallelism — performing multiple tasks at the same time. A microprocessor requires a certain number of transistors. If technological improvements enable twice as many transistors to be fabricated in a given area, then a chip could contain two copies of that microprocessor. Working in parallel, they can in principle deliver twice the performance. However, things are not so simple in practice. Two microprocessors working in parallel require a different style of programming from a single microprocessor.

5.8  Indeed, the efficient programming of parallel processors for general-purpose applications is one of the major unsolved problems in computer science. The application of the parallelism enabled by increasing transistor resources is therefore a complex architectural matter, and the solutions adopted vary according to the market segment, as considered below.

Desk-top computers

5.9  Desk-top computers are expected to deal effectively with a wide range of general-purpose applications which have been drawn up by the programmer on the assumption that a single processor will work through the application step by step. The extra transistor resource now available is employed to make a microprocessor run faster by increasing its internal parallelism whilst maintaining the single processor model. These internal parallelism techniques are now highly developed and include:

(a)  pipelining — starting to execute a second instruction before the preceding instruction has finished executing;

(b)  superscalar operation — executing groups of instructions at the same time; and

(c)  speculation — seeking to anticipate a program's needs and undertaking computing on a contingency basis.

5.10  The mass market for desk-top machines provides the economic fuel for the most sophisticated advances in microprocessor architecture that feed back into supercomputers, servers and, later, embedded systems.


5.11  Servers are usually developed from desk-top architectures, but redesigned to be more robust and also with higher input/output capacity to support their role of running multi-user databases and similar functions. They often employ a number of microprocessors operating in parallel to provide higher computing performance; the independent services requested by the different users allow parallel operation with minimal interaction between the processors. Increasing transistor resources are, as with desk-top machines, employed to make the individual processors faster.


5.12  Supercomputers are expensive machines designed not for general-purpose applications but to deliver the ultimate performance for particular classes of application. Examples include the UK Meteorological Office (p 206), where the accuracy of weather and climate forecasts depends on the geographical resolution of the model. The best possible supercomputers are needed to maintain a scientific edge. At the time of writing, the Japanese Earth Simulator was, at 35.86 teraFLOPS[43], the world's fastest supercomputer[44].

5.13  Supercomputers deliver this performance through the use of large numbers of high-speed microprocessors running in parallel. The tasks on which they are employed — such as weather prediction, analysing the outcome of particle physics experiments, modelling the airflow past an aircraft — all involve routine (even if complex) manipulation of enormous data sets which can be programmed efficiently onto parallel machines.

5.14  These tasks are also of sufficiently high value to justify the costs of developing the specialised programs for parallel operation. The extra transistor resources released by improved semiconductor technologies are exploited here not only to make the individual processors faster (again following developments in desk-top machines) but also to increase the communication capacity between the processors. In what are nowadays very large machines, the speed of communication between the processing elements or nodes is a crucial factor in performance.

Embedded computers

5.15  Embedded computers are employed as system components in a very wide range of products such as mobile phones, printers, digital cameras, washing machines and so on. Here the microprocessor performance requirement is not effectively open-ended, as with a general-purpose computer. Once the performance requirement has been met, there is no merit in making the processor any faster. As Dr Cowburn noted, speed is not the only parameter by which improved performance should be measured (p 80).

5.16  Increased transistor resources are used to increase the level of integration, reducing the number of chips required to build the system. At the limit, the entire electronic subsystem can be integrated onto a single chip. The result is a System-on-Chip (SoC). This makes products simpler, smaller, more power-efficient and, because of reduced manufacturing costs, cheaper.


5.17  Increasing transistor resources per chip allows more complex SoCs to be built. The extra transistors can be used to implement one or some combination of the following techniques[45]: multiple microprocessors on the chip; a more complex single processor (following, but lagging behind, the development of desk-top microprocessors) and, as helpfully discussed by Professor McCanny (p 203), additional special-purpose hardware to accelerate the processing of specific types of data. As the Institution of Electrical Engineers (IEE) noted (p 44), all these enhancements improve the functional performance of the SoC.

5.18  One perspective on the development of new classes of product is that each class requires a certain level of functional performance in an SoC to enable it to be manufactured economically. As illustrated in Appendix 10 in relation to mobile phones, the date on which a class of products is introduced can be seen as corresponding to the point at which Moore's Law improvements deliver the necessary level of SoC functional performance. As noted by the Royal Academy of Engineering (p 101), third generation (3G) digital mobile phones are only just feasible with today's SoC technology.

Verification and Test


5.19  As noted above, chip designs are very complex, offering many points at which mistakes might have been made. The economics of chip manufacture rule out an approach based on the iterative debugging of prototype parts, so it is essential to verify that a design will operate correctly before it is manufactured. Techniques are required that give a very high degree of confidence that a design is correct.

5.20  The principal approach used to verify the correctness of an integrated circuit design has been simulation. As noted in paragraph 5.5, the computer-aided design tools used to develop the design can also generate an accurate computer model of its operation which can be run to check that it has the correct behaviour. However, the complexity of today's microprocessors and SoCs is such that verification based on simulation alone is ineffective. It would take an infeasible time not only to ensure that every possible scenario had been forecast but also to computer-simulate every outcome.

5.21  As noted by Professor David May (p 89), ways have to be found to verify the functionality of a design without exploring every possible mode of operation. This requires mathematical techniques to prove, for example, that an adder will always produce the correct sum without testing every possible pair of input values. Proof of correctness based upon mathematical techniques is termed formal verification, and this plays an increasingly important role in the design of complex integrated circuits.

Production test

5.22  Once a design has been verified, it can be manufactured, but this does not mean that every chip will be perfect. Notwithstanding very high quality control, defects still occur in the manufacturing process. The manufacturing yield is the proportion of manufactured chips that function correctly.

5.23  Defective chips have no value, and it is economically vital to identify and discard failing parts as early in the manufacturing process as possible, to minimise the investment that is made in them. This is the purpose of production test. Before the chip is packaged (adding cost), the bare die is tested. This test must be able to identify any defect that renders the chip dysfunctional, and it must therefore be able to check, for example: that every transistor on the chip is operating correctly; that every required connection between components functions correctly; and that there is no short-circuit giving an unwanted interconnection. Today's complex integrated circuits mean that developing such a test is a formidable challenge for the test engineer.

5.24  The equipment used to apply the test programs to the manufactured integrated circuits is itself very expensive. The time a chip spends on the tester adds significantly to costs. It is therefore important that the test is not only thorough, but also efficient. This requires the designer of the circuit to incorporate features into the design that ensure that it is readily testable. This is another constraint on the design process.

5.25  As the number of transistors that can be manufactured economically on an chip has grown, the rise in complexity of the designs has made production testing increasingly difficult and expensive. However, the increased transistor resource allows sophisticated test support structures to be incorporated onto the chip at low cost, compensating at least in part for the growing problem of test.

Innovation in design and architecture

5.26  The major thrust in commercial processor development is, as noted above, towards ever-faster single microprocessors for general-purpose applications. However, there is active research going on into alternative ways to exploit the huge transistor resource that CMOS technology is projected to yield over the next decade.

5.27  As noted by Professor May (p 89), on-chip multiprocessing exploits the transistor resource to implement several relatively simple microprocessors on a single chip[46]. Although, as noted in paragraph 5.8, there are major obstacles to be overcome in programming such a system for existing general-purpose applications, recent developments in computer programming languages make this more practical for newly-developed applications.

5.28  Apart from embedded SoC designs, microprocessors and their main memory systems are at present implemented on separate chips. Communication between chips is much slower than communication on the same chip, so processor-memory communication can be a significant performance bottleneck. There is research taking place into the benefits of implementing a high-performance microprocessor and its main memory system on the same chip.

5.29  For very large and complex chips, chip-wide communication and synchronisation is of growing concern, and research is being carried out into new approaches. These include:

(a)  chip area networks which replicate the concepts of the office computer network at the level of a chip; and

(b)  asynchronous design which removes the need for every action to be synchronised across a chip.

5.30  The increasing cost benefits of high-volume manufacture are, as noted by the British Computer Society (BCS), in apparent conflict with the market demand for a wide range of highly differentiated products (p 42). This leads to a requirement for standardised chip configurations that are applicable across a wide range of application areas, with the product differentiation being realised by changes in software and the use of reconfigurable hardware components. As indicated by Professor May (Q 241), there is a major challenge for the system architect in extending the concept of universality from the programmable processor to a general-purpose SoC.

5.31  Taking reconfigurable hardware a step further, another active research area is concerned with reconfigurable computing. This further blurs the distinction between the hardware and software in a machine by exploiting the dynamic reconfigurability of parts of the hardware through the use of electrically programmable logic structures. The software contains instructions not only (and as usual) about the processing required but also about the way the hardware should perform the processing. In principle, this should allow the hardware to be tuned for each application as it runs — although a great deal of research is likely to be required before the optimum way to perform such tuning is understood.

Cognitive Systems

5.32  Alan Turing conceived in the 1940s that the universal computer might be capable of emulating human mental processes, but so far no machine has proved capable of passing the Turing test[47]. However, if an ability to play chess is any indicator of intelligence, it should be noted that the best human chess player has now been beaten by a computer.

5.33  Researchers in the field of artificial intelligence generally concern themselves with more modest goals than emulating complete human mental processes. Significant progress is being made in several areas such as the understanding of natural languages, machine translation, expert systems (which take knowledge from human experts and use rule-based mechanisms to incorporate that knowledge into a computer program), machine learning, and so on.

5.34  There is increasing interest in biologically-inspired computer architectures. This is partly as a result of rapid increases in the detailed understanding of biological systems such as brains (in humans and other species). It also flows from frustrations with the rate of progress in adapting conventional computers to tasks that people find simple, such as recognising faces or understanding speech. Thus there is growing interest in well-established fields of research such as artificial neural networks, and newer areas are also developing such as genetic algorithms (modelling biological evolution) that adapt software and hardware to a desired function through random mutations and (imposed) survival of the fittest.

5.35  As mentioned by Dr John Taylor (Q 468), a recently-launched DTI Foresight study programme into Cognitive Systems[48] recognises the mutual benefits to computer scientists and neuroscientists of pooling their knowledge. Insights into the operation of the brain may stimulate innovations in computer design that enable machines to emulate human functions better. In turn, these computer architectures may yield results that improve understanding of the function of the brain, with obvious potential benefits to the treatment of mental health problems. Interdisciplinary activity in this area may revolutionise computing in due course, but these are early days in this work.

43   35.86 million million floating point operations per second. Back

44 gives details of the current top 500 supercomputers. Back

45   For a fuller discussion of these issues see Mr Ian Phillips' supplementary memorandum on behalf of the Institution of Electrical Engineers (p 61). Back

46   For example, picoChip - a recently-formed company based near Bath, as mentioned in the memorandum from Pond Venture Partners (p 212) - is developing a configurable processor for 3G mobile phone base stations which incorporates over 400 processors on a single chip. Back

47   A computer would pass the Turing test if a person communicating with it via a terminal was unable to determine whether the responses came from a machine or a human operator. Back

48   See Back

previous page contents next page

House of Lords home page Parliament home page House of Commons home page search page enquiries index

© Parliamentary copyright 2002