Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Part 5 Fundamentals.

Slides:



Advertisements
Similar presentations
Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Advertisements

Embedded System, A Brief Introduction
CMSC 611: Advanced Computer Architecture
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Chapter 8: Central Processing Unit
Fall 2012SYSC 5704: Elements of Computer Systems 1 MicroArchitecture Murdocca, Chapter 5 (selected parts) How to read Chapter 5.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Tuan Tran. What is CISC? CISC stands for Complex Instruction Set Computer. CISC are chips that are easy to program and which make efficient use of memory.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Lecture 2-Berkeley RISC Penghui Zhang Guanming Wang Hang Zhang.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Unit -II CPU Organization By- Mr. S. S. Hire. CPU organization.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Computer Organization and Architecture Reduced Instruction Set Computers (RISC) Chapter 13.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
Automated Design of Custom Architecture Tulika Mitra
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
COE 405 Design and Modeling of Digital Systems
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Computer Organization and Design Computer Abstractions and Technology
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Ramesh.B ELEC 6200 Computer Architecture & Design Fall /29/20081Computer Architecture & Design.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Introduction to Microprocessors
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
EECS 322 March 18, 2000 RISC - Reduced Instruction Set Computer Reduced Instruction Set Computer  By reducing the number of instructions that a processor.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Computer Organization and Architecture Lecture 1 : Introduction
Topics to be covered Instruction Execution Characteristics
CSC235 Computer Organization & Assembly Language
System-on-Chip Design
ECE354 Embedded Systems Introduction C Andras Moritz.
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Overview Introduction General Register Organization Stack Organization
CISC (Complex Instruction Set Computer)
Central Processing Unit
Simulation of computer system
A High Performance SoC: PkunityTM
HIGH LEVEL SYNTHESIS.
COMS 361 Computer Organization
Chapter 12 Pipelining and RISC
Computer Architecture
Course Outline for Computer Architecture
Presentation transcript:

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Part 5 Fundamentals in Computer Design Computer Architecture Slide Sets WS 2011/2012 Prof. Dr. Uwe Brinkschulte Prof. Dr. Klaus Waldschmidt

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 2 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt A hierarchy of definitions A computer realizes with all his components a complete Hardware-Software-System. The hierarchy of definitions of the system architecture can be expressed by a tree structure. System Architecture Hardware System Architecture (HSA) Software System Architecture (SSA) Computer Technology Computer Architecture # processor # memory # bus Microarchitecture functional units (ALU), register, caches, control unit, etc. Processor Architecture, Instruction Set Architecture (ISA) instruction set register file addressing modes Computer Organization, Macroarchitecture

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 3 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Hardware System Architecture - HSA The hardware system architecture (HSA) describes the organization and architecture of the computer and defines the hardware components for implementation. The computer organization is partitioned in two levels: macro level micro level At the macro level the global structure of the computer is defined. The micro level instead describes the inner structure and implementation of the data path components, the busses, the caches, control unit etc. The instruction set architecture (ISA) is regarded as part of the computer architecture. The ISA describes the instruction set, the addressing modes and models the register file. It is an abstract interface between the software and hardware part of the computer. Software System Architecture High Level Language Compiler Assembler Instruction Set architecture (ISA) Hardware System Architecture Organization Microarchitecture

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 4 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Instruction Set Architecture RISC / CISC Instruction Set Architectures can be partitioned in:  RISC: Reduced Instruction Set Computer and  CISC: Complex Instruction Set Computer In modern microprocessors both paradigms are used more and more in combination.

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 5 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt RISC-ISA A RISC-ISA consists of a simple structured instruction set, a comparable small number of different instructions, some few and simple addressing modes and a large register set. The instructions work on the internal registers only except some special load/store instructions to exchange register content with memory (Load-/Store-Architecture) The advantage of a simple instruction set is a high execution speed, efficient use of pipelining and an efficient decoding. Decoding is realized by a hardwired control unit Example: SUN SPARC instruction set

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 6 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt RISC-ISA The disadvantage of the RISC-ISA is the high semantic gap between the High Level Language (HLL) and the simple assembler instructions. This high semantic gap has to be bridged by the compiler. Therefore the compiler is of high importance in the transformation from HLL to assembler in a RISC architecture. The length of the code increases as the instruction set of the computer become simpler. HLL- program Compiler Assembler control information Decoding by hardwired control unit

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 7 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt CISC-ISA A CISC-ISA has a complex instruction set with a high number of different instructions (opcodes) and a lot of sophisticated addressing modes. All instructions can operate on registers or memory The CISC instruction set supports directly the constructs of a high level language. The compilation process is much easier and the length of the code become shorter, compared to a RISC instruction set. A very well-known CISC-ISA is the instruction set of the X86 family.

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 8 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt CISC-ISA The main disadvantage of a CISC- ISA is a reduced execution speed, because of an inefficient use pipelining. The decoding is a very complex task and has to be solved by a micro programmed control unit. Microprogramming is of great importance in a CISC architecture. HLL- program Compiler Assembler control information micro programmed decoding (micro programmed control unit) Microcode

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 9 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt ISA on today‘s processors To combine advantages of RISC ands CISC ISA, today’s processor use a two level approach: Example: Intel Pentium II, III, 4 (x86 CISC instruction set, internal RISC architecture) CISC ISA RISC ISA Predecoder, Instruction Sequencer RISC Microarchitecture Processor

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 10 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Tuple model for the design of a computer architecture The principle of operation (functionality or behavior), the structure (digital circuits) and the chip integration (VLSI - Implementation) defines a model for designing a computer architecture. CA = (B, S, C) B = Behavior S = Structure C = Chip The three domains of the tuple together with some levels of abstraction are structured in the well-known Gajski/Kuhn-Diagram. For the design of a processor or a complete embedded system, all domains and levels of the Gajski/Kuhn-diagram have to be considered. Today, nearly all transformations starting from the system specification are supported and automated by software tools.

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 11 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Views (domains) and levels of abstraction in the Y-Diagram of Gajski/Kuhn System level Geometry (Chip) Behavior Structure Algorithm level Register Transfer level Logic level circuit level CPU, Memory Processor, Subsystem Module: ALU, Register, MUX Logic, Flip-flop Transistor Mask/ Polygon level cell level Macrocell level Floor plan level Chip level System- specification Algorithm Register-Transfer Model Boolean Function Differential Equation

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 12 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 13 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Design of heterogeneous, embedded systems Processors or complete computer systems are more and more integrated in application systems. The computer, which realizes a Hardware/Software System (HW/SW), becomes “embedded” in the technical system. A computer designed to control such a technical environment is called Embedded System Digital HW Analog HW Mechanics, Operating system Hydraulics, … Software Technical environment like

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 14 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Design of heterogeneous, embedded systems The design of such heterogeneous systems is a very complex task, because a lot of different models, descriptions and paradigms have to considered. The main procedure for the design of of embedded systems is the refinement from specification to implementation and the verification under the V-Model. Digital HW Analog HW Mechanics, Operating system Hydraulics, … Software Technical environment like

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 15 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Modeling Simulation Validation Verification Hardware Architecture IP Reuse ( Platform Design) Simulation Refinement Synthesis Silicon Technology Integrated Circuit CMOS System Specification Design levels from the hardware point-of-view

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 16 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Design transformation steps For demonstrating the complexity of transformations in the design process, the transformation from the executable specification to the executable register transfer model is presented. Executable specification Functional model Timed functional model Transaction specified model Cycle based register transfer model parallelism delays (predicted) busses, communication cycles

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 17 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt The V-model of the design process The V model is a standard design model. The main procedure within the V-model is the refinement process. This refinement process means a stepwise -mostly interactive- transformation between levels of abstraction and views or domains of the Gajski-Diagram. The transformation steps are very complex tasks and mainly supported by software tools. One axis of the V defines the implementation and the other one the verification of the system. Between the axes of the V-model bypasses are possible.

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 18 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt ImplementationVerification architecture void P1(a, b) { y = a + b * c; … } executable specification models virtual prototypes system complexity design complexity process complexity model complexity V-model for design and verification

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 19 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt For the design of complex embedded systems, a generic architecture of the Hardware/Software system is proposed. A generic architecture reduces the complexity of the design process for embedded systems. The mapping of the system specification to the architecture can be automated and supported by software tools, if a generic architecture exists. These tools are within the hardware synthesis, communication synthesis and software compilation. A generic system architecture

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 20 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt A generic architecture consists of: one or multiple processor cores, a communication- (switching) network some digital hardware, mainly reconfigurable (FPGA). In typical SOC applications this generic architecture is extended by further components as e.g.: analog components, sensors and actuators and/or optical components. A generic system architecture

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 21 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Hardware/Software- System-specification Hardware/Software- partitioning Communication- synthesis Hardware- synthesis Software- compilation FPGA Processor FPGA Processor Switching network Processor core Field Programmable Gate Arrays Design process for a generic chip architecture Generic chip architecture

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 22 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt To simplify the combined hard- and software development approach, one could introduce ideas and experiences from software to hardware development: Define a “High-Level-Hardware-Descriptionlanguage” introducing the following well known concepts from software development: object orientation inheritance reuse Design languages

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 23 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Examples: SystemC:Open System C Initiative SystemVeriLog:System Verilog Organization Cynthesizer:Forte Design Systems Design languages

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 24 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt SystemC ist very similar to C++ Advantages: Hardware components can be defined as objects with interfaces and functionality Similar languages for soft- and hardware developmant enable synergetic effects Common tools for soft- and hardware development can be used Data exchange is simplified High level verification is enabled by using formal high level languages Design languages

Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 25 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt SystemC AMS (Analog Mixed Signals) is a SystemC extension. It supports the implementation of heterogeneous hardware/ software systems. Analog Circuits (CT-NET) DSP+Software (SDF) Digital Hardware (discrete event) a + 1 SystemC AMS Will support combination of different models of computation and solvers Intelligent, adaptive interfaces C++ library Modeling and refinement of communication Discrete event simulation kernel Design languages