Digital Systems Design 1 Digital Systems: Hardware Organization and Design June 4, 2019 Digital Systems Design 1 Basic Organization of Digital Computers June 4, 2019 Veton Këpuska Introduction
Objective of the Course Digital Systems: Hardware Organization and Design June 4, 2019 Objective of the Course Emphasis on the Designer’s Point of View Design carried out through a hardware description language (AHPL) for specifying the control sequence. Control Sequence is a step-by-step description of the functioning of the digital system. Control Sequences are easily translated into control unit hardware. With completion of Control Sequence Digital System is considered designed. Books on digital systems fall primarily into three categories: (1) largely software (2) switching theory (3) computer architecture and organization First two categories deal with subject related to digital systems however quite distinct from systems design point of view. Third category although useful as an introduction to digital systems fails to engage in design of the system. Intention of this course is to avoid merely to describe computer hardware and focus on design perspective. June 4, 2019 Veton Këpuska Introduction
Generic Digital System Digital Systems: Hardware Organization and Design June 4, 2019 Generic Digital System Vectors of Binary Information Digital System { Control Information Digital System – refers to any structure or device that processes or transmits digital information. Distinction is made between the (1) information to be processed or transmitted, and (2) control information that governs operation of the system. A vector, information of type (1) may be a a byte, 16-bit, 32-bit, 64-bit or 128-bit. Control information (2), typically requires less number of bits. Certain digital systems handle only control signals. Elevator control is one typical example. Sequential circuit design procedures are sufficient for designing such a system. However, they have been shown to be unsatisfactory for designing systems to process vectors of information. Consequently, computers have never been design that way. June 4, 2019 Veton Këpuska Introduction
Brief Overview of Computer Evolution Digital Systems: Hardware Organization and Design June 4, 2019 Brief Overview of Computer Evolution From Abacus to Mechanical Calculators Designed in17th Century by Pascal and Leibniz. First Device that is considered a computer in modern sense was proposed by Charles Babbage in 1830 (Analytical Engine). Howard Aiken of Harvard University in 1937 proposed Automatic Sequence Controlled Calculator -> Mark I sponsored by Harvard and IBM. Completed in August 7, 1944. Mark I was electromechanical machine. ENIAC first Digital Computer based on Vacuum Tubes: J.P. Eckert and J.W. Mauchly, and John von Neumann mathematical consultant. Great Speed of Electronic Devices => Unnecessary to have many parallel calculating elements. Storing the Program in Memory much the same manner as data => made possible to branch to alternate sequences of instructions. New Developments in electronics => EDVAC Von Neumann’s 5 basic principles that defines a computer: It must have an input medium, by means of which an essentially unlimited number of operands or instructions may be entered. It must have store, from which operands or instructions may be obtained and into which results may be entered, in any desired order. It must have a calculating section, capable of carrying out arithmetic or logical operations on any operands taken from the store. It must have an output medium, my means of which an essentially unlimited number of results may be delivered to the user. It must have a control unit, capable of interpreting instructions obtained from memory, and capable of choosing between alternative courses of action on the bases of computed results. Eckert and Mauchly developed first commercially produced computer – UNIVAC I (1951). Von Neumann at Princeton led development of IAS (1951) Indexing and indirect addressing. June 4, 2019 Veton Këpuska Introduction
Basic Organization of Digital Computers Digital Systems: Hardware Organization and Design June 4, 2019 Basic Organization of Digital Computers Memory Input Output Control Processing (ALU) CPU Data and Instructions Instructions Decision Results Results/Data Control Signals June 4, 2019 Veton Këpuska Introduction
Digital Systems: Hardware Organization and Design June 4, 2019 Memory Word Length (8 bits – 128 bits) Address Space (16 bits => 64K Memory) Access Speed Fast – Cache (Pentium 4 - 512K) RAM (512M) Hard Disk Space (>100G) Slow (CD, DVD, Tape, etc.) June 4, 2019 Veton Këpuska Introduction
Computer Categorization Digital Systems: Hardware Organization and Design June 4, 2019 Computer Categorization Based on Use, Speed … Personal Devices (PDA’s) Microcomputers (Desktop, Laptop) Mainframes (Business Machines) Supercomputers Parallel Computer Systems June 4, 2019 Veton Këpuska Introduction
Digital Systems: Hardware Organization and Design June 4, 2019 Instruction Formats Instruction Word is divided into several sections/fields each containing one of the following: Op-code: indicating the operation (ADD, SUB, SHIFT, …) Operand Address(es). Result Address Next Instruction Address June 4, 2019 Veton Këpuska Introduction
Typical Instruction Set Formats Digital Systems: Hardware Organization and Design June 4, 2019 Typical Instruction Set Formats 4 address instruction 3 address instruction 2 address instruction 1 address instruction Opcode Operand Address Result Instruction Opcode Operand Address Result or Instruction Address Opcode Opcode Operand or Instruction Address Operand Address Operand Address Operand or Instruction Address (1) 4 – address instructions: Take a number from column 1 Perform required operation (e.g., Add) on that number to a number in column 2 Enter the sum in 3 Proceed to 4 for the instruction for the next step. Problems: Small address space due to limited number of bits allocated for each address. (2) 3-address instructions Next instruction is implied. (3) 2-address instructions Destination of result is implied. This requires instructions to save/move content of such destination (AC-register) (4) 1-address instructions Second operand is implied (e.g., AC). Take the first operand form the addressed location, the second from the accumulator, place the result in the accumulator, and take the next instruction from the next sequential location. (5) Addressless or Inferred Address Format: Inferred address format in which the opcode specifies the location to be modified. Example CLEAR ACCUMULATOR. Opcode Operand or Instruction Address June 4, 2019 Veton Këpuska Introduction
Digital Systems: Hardware Organization and Design June 4, 2019 Software Increasing level of abstraction : Hardware Instruction Set Assembly Compilers/Interpreters of High Level Languages: (C, C++, Java, Fortran, etc.) Applications Operating Systems (Interface between hardware and application software) June 4, 2019 Veton Këpuska Introduction
Digital Systems: Hardware Organization and Design June 4, 2019 Hardware Description Objective of the course – Define a Computer (RIC) and design its subsystems via a Hardware Description Language: AHPL Alternative to AHPL is VHDL – a more powerful language. VHDL intended to be used over all levels of hardware description: from the digital circuit to the abstract algorithm. This is the reason that it could not be tailored for clock-mode description as was AHPL Thus it is ill suited to be used in the context of this text book. June 4, 2019 Veton Këpuska Introduction