Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32
COSC 403:
COMPUTER ARCHITECTURE
Image Source: http://www.thedailycrate.com/wp-content/uploads/2014/08/o-COMPUTER-SCIENCE-facebook.jpg - Retrieved Online on January 11, 2016
ANNOUNCEMENTS!!! Fundamentals of Computer Design MODULE FOUR Fundamentals of Computer Design
• The concept pf stored program computers
appeared in 1945 when John von Neumann drafted the first version of EDVAC (Electronic Discrete Variable Computer). Those ideas have since been the milestones of computers: Fundamentals of Computer Design
An input device through which data and instructions can be
entered Storage in which data can be read/written; instructions are like data, they reside in the same memory A control unit which fetches instructions, decode and execute them Output devices for the user to access the results. Fundamentals of Computer Design
• The improvements in computer technology have been
tremendous since the first machine appeared.
• Four lines of evolution have emerged from the first computers
• Mainframes computer: Large computers that can support very
many users while delivering great computing power. It is mainly in mainframes where most of the innovations (both in architecture and organization) have been made Fundamentals of Computer Design • Minicomputers: have adopted many of the mainframe techniques, yet being designed to sell for less, satisfying the computing needs for smaller groups of users. It is the minicomputer group that improved at the fastest pace (since 1965 when DEC introduced the first minicomputer) mainly due to the evolution of integrated circuits technology (the first IC appeared in 1958). Fundamentals of Computer Design • Supercomputer: Designed for scientific applications, they are the most expensive computers. Processing is usually done in batch mode for reasons of performance. Fundamentals of Computer Design • Microcomputers: have appeared in the microprocessor era (the first microprocessor, intel 4004, was introduced in 1971). The term micro refers only to physical dimensions, not to computing performance. A typical microcomputer (either a PC or a workstation) nicely fits on a desk. Microcomputers are a direct product of technological advances: faster CPUs, semiconductor memories, etc. Basic Organization of a computer • Most of the computers available today are so called Von Neumann computers, simply because their building part; CPU or processor, memory, and I/O are interconnected the way von Neumann suggested. Basic Organization of a computer • Figure below shows the building blocks of computers; even though there are many variations, and the level at which these blocks can be found is different, sometimes at the system level, other times at board level or even at chip level, their meaning is yet the same Basic Organization of a computer (1)CPU: This is core of the computer; all computation is done here and the whole system is controlled by the CPU. (2)Memory: This is where the program and the data for the program are stored. (3)I/O: This provide the means of entering the program and data into the system. It also allows the user to get the results of the computation. Basic Organization of a computer
Organization of a CPU using a single internal data bus.
Basic Organization of a computer
Organization of CPU, using single internal data bus, IR is the Instruction
Register Basic Organization of a computer Computation and control in CPU • The computation part of the CPU, called the datapath, consists of the following units:
(a)ALU (Arithmetic and Logic Unit) which performs
arithmetic and logic operations (b)Registers which hold variables or intermediary results of computation, as well as special purpose registers (c)Bus which is the interconnections between them. Central Processing Unit (CPU) • In a computer central processing unit (CPU), the accumulator is the register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, shift, e.t.c.) to main memory, perhaps only to be read right back again for use in the next operation. Central Processing Unit (CPU) • Assess to main memory is slower than to a register like an accumulator because the technology used for the large main memory is slower (but cheaper) than that used for a register. Early electronic computer systems were often split into two groups, those with accumulator and those without accumulator • . Arithmetic and logic unit • The arithmetic and logic unit (ALU) performs the arithmetic and logical functions that are the work of the computer. There is other general- purpose registers that hold the input data, and the accumulator receives the result of the operation. The instruction register contains the instructions that the ALU is to perform. Arithmetic and logic unit • For example, when adding two numbers, one number is placed in one of the general-purpose registers and the other in another general-purpose register. The ALU performs the addition and puts the result in the accumulator. If the operation is a logical one, the data to be compared is placed into one of the general-purpose register. The result of the comparison, a 1 or 0, is put in the accumulator. Whether this is a logical or arithmetic operation, the accumulator content is then placed int the cache location reserved by the program for the result. REGISTER • A register may hold an instruction, a storage address, or any kind of data (such as a bit sequence or individual characters) Instruction Register and pointer or program counter • The instruction pointer (IP) specifies the location in memory containing the next instruction to be executed by the CPU. When the CPU completes the execution of the current instruction, the next instruction is loaded int the instruction register from the memory location pointed to by the instruction pointer. Instruction Register and pointer or program counter • After the instruction is loaded int the instruction register, the instruction register pointer in incremented by one instruction address. Incrementing allows it to be ready to move the next instruction into the instruction register. Instruction register •This is the register that holds the instruction currently being executed. Memory Address Register • The register which holds the address of the location to or from which data are to be transferred is known as Memory address register.
• In computer, the memory address register (MAR) is the
CPU register that either stores the memory address from which data will be fetch to the CPU, or the address to which data will be sent and stored. In other words, MAR holds the memory location of data that needs to be accessed. Memory Address Register • In other words, this register is used to access data and instructions from memory during the execution phase of instruction. MAR holds the memory location of data that needs to be accessed. When reading from memory, data addressed by MAR is fed into the MDR (memory data register) and then used by the CPU. When writing to memory, the CPU writes data from MDR to the memory location whose address is stored in MAR. MAR, which is found inside the CPU, goes either to the RAM (random access memory). Memory Data Register • The memory data register (MDR) is the register that stores the data being transferred to and from the immediate access storage. It contains the copy of designated memory locations specified by the memory address register. It acts as a buffer allowing the processor and memory units to act independently without being affected by minor differences in operation. A data item will be copied to the MDR ready for use at the next clock cycle, when it can be either used by the processor for reading or writing stored in main memory after being written. Memory Data Register • The register holds the contents of the memory which are to be transferred from memory to other components or vice versa. A word to be stored must be transferred to the MDR, from where it goes to the specific memory location, and the arithmetic data to be processed in the ALU first goes to MDR and then to accumulated register, and then it is processed in the ALU. Memory Data Register • The MDR is a two-way register. When data is fetched from memory and placed into the MDR, it is written to go in one direction. When there is a write instruction, the data to be written is placed into the MDR from another CPU register, which then puts the data into memory. N I O ST E U Q ? S Image Source: http://iamforkids.org/wp-content/uploads/2013/11/j04278101.jpg - Retrieved Online on January 11, 2016 ANNOUNCEMENTS!!! L E DU M O O F ND E