1 / 29

Computer Organization & Design

Computer Organization & Design. Computer Organization & Design How are programs written in a high-level language, such as C or Java, translated into the language of the hardware?

justus
Télécharger la présentation

Computer Organization & Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Organization & Design

  2. Computer Organization & Design • How are programs written in a high-level language, such as C or Java, translated into the language of the hardware? • What is the interface between the software and the hardware, and how does software instruct the hardware to perform needed functions? • What determines the performance of a program, and how can a programmer improve the performance? • What techniques can be used by hardware designers to improve performance?

  3. Performance Bottleneck • The algorithm chosen • The programming language or compiler • The operating system • The processor • The I/O system and devices Important functions of OS • Handling basic input and output operations • Allocating storage and memory • Providing for sharing the computer among multiple applications using it simultaneously

  4. Assembler Programmer would write add A,B and the assembler would translate this notation into 1000110010100000

  5. Micro-photography of the Pentium 4 processor chip

  6. DlMM (dual inline memory module) A small board that contains DRAM chips on both sides. SIMMs have DRAMs on only one side. Both DIMMs and SIMMs are meant to be plugged into memory slots, usually on a motherboard. Instruction Set Architecture - An abstract interface between the hardware and the lowest level software of a machine that encompasses all the information necessary to write a machine language program that will run correctly, including instructions, registers, memory access, I/O, and so all. Application Binary Interface (ABI) The user portion of the instruction set plus the operating system interfaces used by application programmers. Defines a standard for binary portability across computers.

  7. Memory The storage area in which programs are kept when they are running and that contains the data needed by the runing programs. volatile memory Storage, such as DRAM, that only retains data only if it is receiving power. nonvolatile memory A form of memory that retains data even in the absence of a power source and that is used to store programs between runs. Magnetic disk is nonvolatile and DRAM is not. primary memory Also called main memory. Volatile memory used to hold programs while they are running; typically consists ofDRAM in today's computers.

  8. Advantages of Networked Computers • Communication: Information is exchanged between computers at high speeds. • Resource sharing: Rather than each machine having its own I/O devices, devices can be shared by computers on the network. • Nonlocal access: By connecting computers over long distances, users need not be near the computer they are using. local area network (LAN) A network designed to carry data within a geographically confined area, typically within a single building. wide area network A network extended over hundreds of kilometers which can span a continent.

  9. Technology A transistor is simply an on/off switch controlled by electricity. The integrated circuit (Ie) combined dozens to hundreds of transistors into a single chip. vacuum tube An electronic component, predecessor of the transistor, that consists of a hollow glass tube about 5 to 10 cm long from which as much air has been removed as possible and which uses an electron beam to transfer data. very large scale integrated (VLSI) circuit A device containing hundreds of thousands to millions of transistors. silicon A natural element which is a semiconductor. semiconductor A substance that does not conduct electricity well.

  10. The chip manufacturing process

  11. silicon crystal ingot A rod composed of a silicon crystal that is between 6 and 12 inches in diameter and about 12 to 24 inches long. wafer A slice from a silicon ingot no more than 0.1 inch thick, used to create chips. defect A microscopic flaw in a wafer or in patterning steps that can result in the failure of the die containing that defect. die The individual rectangular sections that are cut from a wafer, more informally known as chips. yield The percentage of good dies from the total number of dies on the wafer.

  12. 1 abstraction 23 supercomputer 2 assembler 24 transistor 3 bit 25 VLSI (very large scale 4 cache 5 central processor unit (CPU) 26 wafer 6 chip 27 wide area network (W 7 compiler 28 yield 8 computer family 9 control 10 datapath 11 desktop or personal computer 12 Digital Video Disk (DVD) 26 wafer 13 defect 27 wide area network (WAN) 14 DRAM (dynamic random access memory) 28 yield 15 embedded system 16 instruction 17 instruction set architecture 18 local area network (LAN) 19 memory 20 operating system 21 semiconductor 22 server

  13. Instructions: Language of the Computer Instruction set The vocabulary of commands understood by a given architecture. The words of a computer's language are called instructions, and its vocabulary is called an instruction set Operations of the Computer Hardware An assembly language notation add a, b, c Instructs a computer to add the two variables band c and to put their sum in a. add a, b, c # The sum of b and c is placed in a. add a, a, d # The sum of b, c, and d is now in a. add a, a, e # The sum of b, c, d, and e is now in a.

  14. Four underlying principles of hardware design: Design Principle 1: Simplicity favors regularity. Consider the following C statements a = b + c d = a – e The translation from C to MIPS assembly language instructions is performed by the compiler. add a, b, c sub d, a, e Compiling a Complex C Assignment f = (g + h) - (i + j); add t0, g, h # temporary variable to contains g + h add tl, i ,j # temporary variable tl contains i + j

  15. sub f, t0, t1 # f gets t0 - tl, which is (g + h) - (i + j) Operands of the Computer Hardware Word The natural unit of access in a computer, usually a group of 32 bits; corresponds to the size of a register in the MIPS architecture. The size of a register in the MIPS is 32 Bits.

  16. Word - The natural unit ofaccess in a computer, usually a group of 32 bits; corresponds to the size of a register in the MIPS architecture.

  17. The constant in a data transfer instruction is called the offset, and the register added to form the address is called the base register. In MIPS, words must start at addresses that are multiples of 4. This requirement is called an alignment restriction Alignment Restriction - A requirement that data be aligned in memory on natural boundaries

  18. To get the proper byte address in the code above, the offset to be added to the base register $s3 must be 4 X 8, or 32, so that the load address will select A[8]

  19. Compiling Using Load and Store

  20. Constant or Immediate Operands The compiler tries to keep the most frequently used variables in registers and places the rest in memory, using loads and stores to move variables between registers and memory. The process of putting less commonly used variables (or those needed later) into memory is called spilling registers. add immediate or addi - quick add instruction with one constant operand

  21. Design Principle 3: Make the common case fast. I. Very fast: They increase as fast as Moore's law, which predicts doubling the number of transistors on a chip every 18 months. 2. Very slow: Since programs are usually distributed in the language of the computer, there is inertia in instruction set architecture, and so the number of registers increases only as fast as new instruction sets become viable.

  22. Representing Instructions in the Computer Binary Digit Also called binary bit. One of the two numbers in base 2, 0 or 1, that are the components of information. convention to map register names into numbers Registers $S0 to $S7 map onto registers 16 to 23, and registers $t0 to $t7 map onto registers 8 to 15. $s0 means register 16, $s1 means register 17, $s2 means register 18, ... , $to means register 8, $t1 means register 9

  23. Translating a MIPS Assembly Instruction into a Machine Instruction add $t0,$sl,$s2 The decimal representation is Each of these segments of an instruction is called a field. second field gives the number of the register that is the first source operand of the addition operation (17 = $s1) Third field gives the other source operand for the addition (18 = $s 2) The fourth field contains the number of the register that is to receive the sum (8 = $to) (fifth field is unused)

  24. Machine language Binary representationused for communication within a computer system. Instruction format A form of representation of an instruction composed of fields of binary numbers. MIPS Fields instruction format A form of representation of an instruction composed of fields of binary numbers. • op: Basic operation of the instruction, traditionally ca lled the • rs:The first register source operand. • rt: The second register source operand. • rd: The register destination operand. It gets the result of the operation. • shamt: Shift amount. • funct: Function. This field selects the specific variant of the operation in the op field and is sometimes called the function code

  25. The 16-bit address means a load word instruction can load any word within a region of ± 215 or 32,768 bytes (±213 or 8192 words) of the address in the base register rs

More Related