正在加载图片...
John V. Oldfield Vojin G Oklobdzija Syracuse University University of california C OMPUTER ENGINEERING is a discipline that deals with the engineering knowledge required to build digital computers and special systems that communicate and/or process or transmit data such, computer engineering is a multi-disciplinary field because it involves many different aspects of engineering that are necessary in designing such complex systems. To illustrate this point one can think of all the various parts of engineering that are involved in a design of a digital computer system. One can start with the knowledge of the material science that is necessary to process the materials of which the integrated circuits are made. One also has to deal with the devices and device physics to make the most efficient transistors of which computing sytems are built. The knowledge of electrical engineering and electronic circuits in particular is necessary in order to design fast and efficient integrated circuits. One level further in the hierarchy of the required knowledge is a logic design which is an implementation of the digital functions. Digital design involves not only an intimate knowledge of electrical engineering but also the use of computer aided design tools and algorithms for efficient implementation of computational structures. Building a complex computer system is similar to building a house -at the very beginning one cannot be bothered with all the details involved in the process, such as plumbing and electrical wiring. Similarly a process of designing an electronic computer starts with an architecture that specifies the functionality and major blocks. Much like building a house, those blocks are later designed by teams of engineers using the architectural specifications of the computer Computer architecture is on a cross-road between electrical engineering and computer science. On one hand, one does not need to specify all the details of implementation while defining an architecture. However, if one does not know the important aspects of the design which require the knowledge of electrical engineering, the architecture may not be good. Given that the implementation of the architecture has to serve as a platform for various applications, the knowledge of software, compilers, and high-level languages is also necessary omputer engineering is not only a very diverse discipline, but as such it is a subject of very rapid changes reflecting high rate of progress in a variety of disciplines encompassed by computer engineering. The perfor- mance of digital computers has been doubling steadily every two years while the capacity of the semiconductor memory has been quadrupling every three years. The price-performance figure has dropped for two orders of magnitude in the last ten years. This trend has radically changed the way the computer is perceived today. From exclusive and expensive machines, affordable to only a few, it has become a commodity. For example, an average automobile today contains in the order of 20 processors controlling various aspects of the machine function, brake system, navigation, etc Some of the technology-specific aspects of computer engineering were covered in Section VIlL. This section however, is concerned with higher-level aspects which are substantially independent of circuit technology Chapter 86 reviews organizational matters which particularly affect computer processor design, such as the arithmetic and logical functions required. The next chapter considers the major topic of programming, which may be different in each"layer, using the previous analogy. Programming too has long been dominated by a particular paradigm, the so-called imperative model, in which the programmer expresses an algorithm, i.e,a process for solving a problem, as a sequence of instructions-either simple or complex, depending on the type of programming required. Recently others have emerged, such as rule-based programming, which has a declar ative model, i.e., the user specifies the facts and rules of a situation and poses a question, leaving the computer (knowledge-engine)to make its own inferences en route to finding a solution or set of solutions 88. Early purists preferred since the organization of a computer memory bears little resemblance to what we know of the organization of the human brain. For economic reasons, computer memories have been organized as a hierarchy of different technologies, with decreasing cost per bit as well as increased access times as one moves away from the central r. The introduction of virtual memory in the Manchester Atlas project(c. 1964)was a major break through in removing memory management from the tasks of the programmer, but recently the availability of ast quantities of semiconductor memory at ultralow prices has reduced the need for this technique. The topic of Chapter 89 is the input and output of information. Early computers were confined almost exclusively to character information, but"input/output"now refers to any form of transducer, to choose an engineering term, which allows any form of information to be sensed whether in analog or digital form, entered© 2000 by CRC Press LLC John V. Oldfield Vojin G. Oklobdzija Syracuse University University of California OMPUTER ENGINEERING is a discipline that deals with the engineering knowledge required to build digital computers and special systems that communicate and/or process or transmit data. As such, computer engineering is a multi-disciplinary field because it involves many different aspects of engineering that are necessary in designing such complex systems. To illustrate this point one can think of all the various parts of engineering that are involved in a design of a digital computer system. One can start with the knowledge of the material science that is necessary to process the materials of which the integrated circuits are made. One also has to deal with the devices and device physics to make the most efficient transistors of which computing sytems are built. The knowledge of electrical engineering and electronic circuits in particular is necessary in order to design fast and efficient integrated circuits. One level further in the hierarchy of the required knowledge is a logic design which is an implementation of the digital functions. Digital design involves not only an intimate knowledge of electrical engineering but also the use of computer aided design tools and algorithms for efficient implementation of computational structures. Building a complex computer system is similar to building a house — at the very beginning one cannot be bothered with all the details involved in the process, such as plumbing and electrical wiring. Similarly a process of designing an electronic computer starts with an architecture that specifies the functionality and major blocks. Much like building a house, those blocks are later designed by teams of engineers using the architectural specifications of the computer. Computer architecture is on a cross-road between electrical engineering and computer science. On one hand, one does not need to specify all the details of implementation while defining an architecture. However, if one does not know the important aspects of the design which require the knowledge of electrical engineering, the architecture may not be good. Given that the implementation of the architecture has to serve as a platform for various applications, the knowledge of software, compilers, and high-level languages is also necessary. Computer engineering is not only a very diverse discipline, but as such it is a subject of very rapid changes reflecting high rate of progress in a variety of disciplines encompassed by computer engineering. The perfor￾mance of digital computers has been doubling steadily every two years while the capacity of the semiconductor memory has been quadrupling every three years. The price-performance figure has dropped for two orders of magnitude in the last ten years. This trend has radically changed the way the computer is perceived today. From exclusive and expensive machines, affordable to only a few, it has become a commodity. For example, an average automobile today contains in the order of 20 processors controlling various aspects of the machine function, brake system, navigation, etc. Some of the technology-specific aspects of computer engineering were covered in Section VIII. This section, however, is concerned with higher-level aspects which are substantially independent of circuit technology. Chapter 86 reviews organizational matters which particularly affect computer processor design, such as the arithmetic and logical functions required. The next chapter considers the major topic of programming, which may be different in each “layer,” using the previous analogy. Programming too has long been dominated by a particular paradigm, the so-called imperative model, in which the programmer expresses an algorithm, i.e., a process for solving a problem, as a sequence of instructions—either simple or complex, depending on the type of programming required. Recently others have emerged, such as rule-based programming, which has a declar￾ative model, i.e., the user specifies the facts and rules of a situation and poses a question, leaving the computer (“knowledge-engine”) to make its own inferences en route to finding a solution or set of solutions. Computer memory systems are considered in Chapter 88. Early purists preferred the term storage systems, since the organization of a computer memory bears little resemblance to what we know of the organization of the human brain. For economic reasons, computer memories have been organized as a hierarchy of different technologies, with decreasing cost per bit as well as increased access times as one moves away from the central processor. The introduction of virtual memory in the Manchester Atlas project (c. 1964) was a major break￾through in removing memory management from the tasks of the programmer, but recently the availability of vast quantities of semiconductor memory at ultralow prices has reduced the need for this technique. The topic of Chapter 89 is the input and output of information. Early computers were confined almost exclusively to character information, but “input/output” now refers to any form of transducer, to choose an engineering term, which allows any form of information to be sensed whether in analog or digital form, entered C
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有