Computer Architecture:In computer manufacturing, computer engineering is a set of rules and methods that describe the functionality, organization, and utilization of computer systems. Some definitions of engineering define it as describing the wherewithals and programming model of a computer but not a particular utilization. In other definitions computer architecture proves instruction set architecture design, microarchitecture design, logic design, and utilization.
The term “engineering” in computer literature can be delineated to the work of Lyle R. Johnson and Frederick P. Brooks, Jr., members of the Machine Organization department in IBM’s main research center in 1959. Johnson had the opportunity to write a proprietary research transmission about the Stretch, an IBM-developed supercomputer for Los Alamos National Workshop (at the time known as Los Alamos Scientific Laboratory). To portray the level of detail for discussing the luxuriously embellished computer, he noted that his explanation of formats, instruction types, hardware parameters, and speed enhancements were at the level of “system architecture”, a term that suggested more useful than “machine management”.
Computer Science Definition
Although the term computer engineering sounds very complicated, its definition is easier than one might think. Computer engineering is a science or a set of rules stating how brain software and hardware are joined together and interact to make a computer work. It not only determines how the brain works but also of which technologies the computer is capable. Brains continue to be a major part of our lives, and brain architects reestablish to develop new and better policies and technologies.
What is Computer Architecture?
Computer engineering is a specification describing how housewares and software technologies interact to create a brain podium or system. When we think of the word architecture, we think of establishing a house or a building. Keeping that same principle in mind, computer architecture suggests building a computer and all that goes into a brain system. Computer architecture consists of three main categories.
- System design – This includes all the hardware parts, such as CPU, data processors, multiprocessors, memory controllers, and direct memory access. This part is the actual computer system.
- Instruction set architecture – This includes the CPU’s functions and capabilities, the CPU’s programming language, data formats, processor register types, and instructions used by computer programmers. This part is the software that makes it run, such as Windows or Photoshop or similar programs.
- Microarchitecture – This defines the data processing and storage element or data paths and how they should be implemented into the instruction set architecture. These might include DVD storage devices or similar devices.
All these parts go together in a certain order and must be developed in a pattern so they will function correctly.
This book is about designing and manufacturing specialized brains. We all know what a brain is. It’s that box that sits on your desk, quietly purring away (or rattling if the fan is shot), running your programs, and systematically crashing (if you’re not running some diversity of Unix). Inside that box are the televisions that run your software, store your instruction, and connect you to the world. It’s all about processing information. Designing a computer, therefore, is about designing a machine that holds and manipulates data.
brain systems fall into essentially two separate divisions. The first, and most obvious, is that of the desktop computer. When you say “computer” to someone, this is the machine that usually comes to her mind. The second type of computer is the embedded computer, a computer that is integrated into another system for the purposes of control and/or monitoring. Embedded computers are far more numerous than desktop systems but far less obvious. Ask the average person how many computers he has in his home, and he might reply that he has one or two. In fact, he may have 30 or more, hidden inside his TVs, VCRs, DVD players, remote controls, washing machines, cell phones, air pick-me-up, game consoles, ovens, toys, and a host of other devices.
In this chapter, we’ll look at computer architecture in general. This is applicable to both embedded and desktop computers, because the primary difference between an ingrained machine and a general-purpose computer is its application. The basic principles of transaction and the underlying architectures are fundamentally the same.Both have a processor, memory, and often several forms of input and output. The primary characteristic lies in their intended use, and this is followed in the system design and their software. Desktop computers can run a variety of application programs, with system resources orchestrated by an operating system. By running different operation programs, the functionality of the desktop computer is changed. One moment, it may be used as a word processor; the next it is an MP3 player or a table client. Which software is loaded and run is under the user government.
How to Become a Computer Architect
To become a computer architect, often called a computer network architect, the candidate must have at least a bachelor’s degree in computer science, engineering, information systems, or a related field. The best programs for aspiring computer architects are computer-based fields because they offer students the most hands-on experience in database design or network security, both of which are important for computer architects. These classes also teach the students various technologies used in different networks.
Some students choose to complete an MBA (master’s of business administration) with a focus on information systems. The advantage of this program is that it offers both computer-related and business courses. Even after earning the degree, applicants may be required to have at least five years of experience working with IT systems before being hired as a computer architect. Some computer architects go on to become computer and information systems managers once they’ve obtained sufficient experience.
As long as we have computers and all the parts that go into a computer system, there will continue to be a demand for computer architects. Computer architects are expected to see an employment growth of 6% between 2016 and 2026 as reported by the U.S. Bureau of Labor Statistics (BLS). While cloud computing has decreased the need for computer architects somewhat, they will continue to be in demand as businesses continue to increase their technology needs. The BLS reports that computer architects nationwide earned wages ranging from $58,160 to $162,390 as of May 2017 with the average wage at $107,870.
With computers being more technology-based, computer architecture will continue to be an interesting career for candidates interested in developing these machines.
In contrast, the embedded computer is normally dedicated to a specific task. In many cases, an embedded system is used to replace application-specific electronics. The advantage of using an embedded microprocessor over dedicated electronics is that the functionality of the system is determined by the software, not the hardware. This makes the embedded system easier to produce, and much easier to evolve, than a complicated circuit.
The embedded system typically has one application and one application only, which is permanently running. The embedded computer may or may not have an operating system, and rarely does it provide the user with the ability to arbitrarily install new software. The software is normally contained in the system’s nonvolatile memory, unlike a desktop computer where the nonvolatile memory contains boot software and (maybe) low-level drivers only.
Embedded hardware is often much simpler than a desktop system, but it can also be far more complex too. An embedded computer may be implemented in a single chip with just a few support components, and its purpose may be as crude as a controller for a garden-watering system. Alternatively, the embedded computer may be a 150-processor, distributed parallel machine responsible for all the flight and control systems of a commercial jet. As diverse as embedded hardware may be, the underlying principles of design are the same.
This chapter introduces some important concepts relating to computer architecture, with specific emphasis on those topics relevant to embedded systems. Its purpose is to give you grounding before moving on to the more hands-on information that begins in Chapter 2. In this chapter, you’ll learn about the basics of processors, interrupts, the difference between RISC and CISC, parallel systems, memory, and I/O.
Computer Organization And Architecture
Computer architecture is the organization of the components making up a computer system and the semantics or meaning of the operations that guide its function. As such, the computer architecture governs the design of a family of computers and defines the logical interface that is targeted by programming languages and their compilers. The organization determines the mix of functional units in which the system is composed and the structure of their interconnectivity.
The architecture semantics is the meaning of what the systems do under user direction and how their functional units are controlled to work together. An important embodiment of semantics is the instruction set architecture (ISA) of the system. The ISA is a logical (usually binary) representative encoding of the basic set of distinct operations that a computer architecture may perform, and by which application programs specify the useful work to be done. At the machine level, the hardware (sometimes controlled by firmware) system directly interprets and executes a sequence or partially ordered set of these basic operations.
This is true for all computer cores, from those few in the smallest mobile phones to potentially millions making up the world’s largest supercomputers. High-performance computer architecture extends structure to a hierarchy of functional elements, whether small and limited in capability or possibly entire processor cores themselves. In this chapter many different classes of the structure are presented, each exploiting concurrency in its own particular way. But in all cases, this more broad definition of a general architecture for high-performance computing emphasizes aspects of the system that contribute to achieving performance.
A high-performance computer is designed to go fast, and its organization and semantics are specially devised to deliver computational speed. This chapter introduces the basic foundations of computer architecture in general and for high-performance computer systems in particular. It is here, at the structural and logical levels, that parallelism of operation in its many forms and size is first presented. This chapter provides a first examination of the principal forms of supercomputer architecture and the underlying concepts that govern their performance.