Escolar Documentos
Profissional Documentos
Cultura Documentos
The computer lies at the heart of computing. Without it most of the computing disciplines today would be a branch of theoretical mathematics. To be a professional in any field of computing today, one should not regard the computer as a just a black box that executes programs by magic. All students of computing should acquire some understanding and appreciation of a computer systems functional components, their characteristics, their performance, and their interactions. Students need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine. In selecting a system to use, they should be able to understand the tradeoffs among various components, such as CPU clock speed versus memory size.
(LSB).
Other terms UNITS: seconds (s), bits (b), bytes (B), words (w). For example, Gb/s; ns; MB; Mb Reciprocal seconds are called Hertz (Hz), so a clock period of 100ns corresponds to a clock rate of 10 MHz.
The notion of low-level and high-level programming is a common approach to hardware and software system design.
A system that consists of hierarchical layers with each lower layer hiding the details from the layer above it is known as abstraction.
to a faster, more capable machine without rewriting the software the runs on the less capable machine)
High-level Languages
Assembly Language/Machine Code
Mircoprogrammed/Hardwired Control
Functional Units (memory, ALU, etc.)
Logic Gates
Lowest Level
USER Perspective
+ User Level and Applications; High-level Languages
Perspective
The first instruction adds the contents of 32-bit register $s2 to the contents of register $s3 and places the sum in register $t0. A register is a storage unit capable of holding a collection of bits. Registers $s2, $s3, and $t0 are known as operands. The corresponding machine language is shown. The first field is known as the operational code (a.k.a opcode). The opcode specifies the particular operation to be performed. We will learn more about assembly language programming and coding later when we discuss instruction set architectures. Assembly languages and machine codes are specific to the architecture that is being used.
A programmer is concerned with the machine and assembly language instruction set, as well as the machine resources that can be managed with those instructions.
The collection of instructions and resources is known as the Instruction Set Architecture (ISA) of a computer, which includes:
Instruction Set Machines memory All programmer-accessible registers in the CPU
- The architects job is to design a system that will provide optimum performance in the context of its users. This is essentially known as the constrained optimization problem. - The constraints may include:
Cost System Size Memory Capacity Thermal or mechanical durability Availability of components Immunity static charge Time to completion
resolution, etc.
Architects use performance measurement tools to determine whether systems meet to specs identified. Usually these include benchmarks, simulations, etc. These are the tools of the trade for architects. Key Concepts:
The architect is responsible for the overall system design and performance. Performance must be measured against quantifiable specifications. The architect is likely to become involved in low-level details of of the computer design. The architect often uses formal description languages (e.g. RTL) to convey details of the design to other parts of the design team. The architect strives for harmony and balance in system design.
- The logic designer deals with the implementation domain, which is a collection of hardware devices that make up a machine. - The logic gate implementation domain may be
VLSI on silicon Transistor-transistor logic (TTL) chips Emitter-coupled logic (ECL) Programmable logic arrays (PLAs) Optical switches, etc.