Principles of Computer Architecture Processors Lecture 1

Similar documents
JAVA pagrindai Lek. Liudas Drejeris

Informacijos apsaugos standartai serija

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

Atminties technologijos

Parengė ITMM Artūras Šakalys 1

Chapter One. Introduction to Computer System

El. pašto konfigūravimas

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017

William Stallings Computer Organization and Architecture

Come to the TypeScript

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Computer Networks. Dr. Abdel Ilah ALshbatat Dept. of Communication and Computer Engineering Faculty of Engineering Tafila Technical University

AS/A Level Computing Syllabus 2011

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function

KAUNO TECHNOLOGIJOS UNIVERSITETAS

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)

Outcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

CPU Structure and Function

UNIT- 5. Chapter 12 Processor Structure and Function

Computer Architecture and Organization (CS-507)

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

Trumpai-ilga istorija

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Chapter 4 The Von Neumann Model

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Chapter 2 Lecture 1 Computer Systems Organization

William Stallings Computer Organization and Architecture

C programavimo kalba. 5 paskaita (Funkcijos, masyvai)

CS501_Current Mid term whole paper Solved with references by MASOOM FAIRY

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

Computer Architecture

Chapter 10 - Computer Arithmetic

Buferio perpildymo klaida Įvadas, techniniai klausimai

2. Computer Evolution and Performance

Chapter 4 The Von Neumann Model

Department of Computer and Mathematical Sciences. Lab 4: Introduction to MARIE

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

The Stored Program Computer

Network Architecture I

Faculty of Science and IT Course title. Pre-requisite/corequisite

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (3 rd Week)

CPU Structure and Function. Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition

CSE 473s Introduction to Computer Networks

Computer Organization II CMSC 3833 Lecture 33

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Where Does The Cpu Store The Address Of The

IT4405 Computer Networks (Compulsory)

Elektroninis.lt šakninių sertifikatų diegimas

Chapter 1 : Introduction

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

SAE5C Computer Organization and Architecture. Unit : I - V

Chapter 16. Control Unit Operation. Yonsei University

The Institution of Engineers - Sri Lanka

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Chapter 20 - Microprogrammed Control (9 th edition)

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo)

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

William Stallings Computer Organization and Architecture

C.P.U Organization. Memory Unit. Central Processing Unit (C.P.U) Input-Output Processor (IOP) Figure (1) Digital Computer Block Diagram

Chapter 4 The Von Neumann Model

Computer Architecture

Micro-programmed Control Ch 15

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Micro-programmed Control Ch 15

EE6364 Advanced Data Networks

Author : Dalbir Singh, Computer Science Deptt. CPU Structure and Functions. 1. Processor Organization

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI

Summary of Computer Architecture

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network Prepared by: Irfan Khan

Running Applications

C++ programavimo kalba

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV

Processing Unit CS206T

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere

On successful completion of this course students should:

CODE COURSE NAME DESCRIPTION SEM CS401 Communication Engineering & Coding Theory Knowledge of communication engineering & coding theory IV

Basics of Microprocessor

Computer Systems Architecture

Micro-programmed Control Ch 17

ECE 4450:427/527 - Computer Networks

CIT 668: System Architecture. Computer Systems Architecture

COSC 243. Computer Architecture 1. COSC 243 (Computer Architecture) Lecture 6 - Computer Architecture 1 1

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

Lecture 5: Computer Organization Instruction Execution. Computer Organization Block Diagram. Components. General Purpose Registers.

Amadeus On-Line Helpdesk

Digital System Design Using Verilog. - Processing Unit Design

Introduction to Computer Engineering. CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

CEN 444 Computer networks. Dr. Mohamed Abd-Eldayem

Chapter 3 - Top Level View of Computer Function

Introduction to CPU architecture using the M6800 microprocessor

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

ARM processor organization

Transcription:

Principles of Computer Architecture Processors Lecture 1 prof.dr. Dalius Mažeika Dalius.Mazeika@vgtu.lt http://dma.vgtu.lt Room No. L424

Lectures and evaluation Scope of the course is 3 ECTS (80 hours) Theory 30 hours (15 lectures) Practice 15 hours (7 lectures) Structure of the final grade - Practice coefficient is 0.3 - Exam coefficient is 0.7

Literature W. Stalling. Computer organizations and architecture. 8 th Edition, Pearson, 2010. A. S. Tanenbaum, D. J. Wetherall. Computer Networks. Prentice Hall. 2010. J. F. Kurose, K. W. Ross. Computer Networking. A Top Down Approach. Addison Wesley. 2010. C. M. Kozierok. The TCP/IP Guide. 2005 V.Urbanavičius. Kompiuteriai ir jų architektūra. VGTU. 2007. (www.ebooks.vgtu.lt)

Content of the theory course Computer architecture Processors (word, pipes, ISA, ILP, SMP, threads, cores) RAMs (SRAM, DRAM, SDRAM, DDR, CAS, RAS, latency) Cache(L1, L2, L3, Direct mapped, Fully Associative, Set Associative) HDD, SDD, RAID, LUN, file systems File storages (DAS, NAS, SAN, protocols)

Content of the theory course Computer networks Network topology, components, main features OSI ir TCP/IP models L2 layer - LAN technologies, IEEE 802.x standard L3 layer, IP protocol (IP v4, IPv6) L4 layer, TCP and UDP protocols WAN technologies Wireless LAN (IEEE 802.11x) Routing and protocols (BGP, RIP, OSPF) Application layer (DNS, DHCP, FTP, ICMP, SMTP, etc.)

Functional view of the computer Basic functions that a computer performs: Data processing Data storage Data movement Control

Structure of the computer

von Neumann machine Computer consists of: A main memory, which stores both data and instructions An arithmetic and logic unit (ALU) capable of operating on binary data A control unit, which interprets the instructions in memory and causes them to be executed Input and output (I/O) equipment operated by the control unit

Computer components

Registers ALU contain storage locations, called registers, defined as follows: Memory buffer register (MBR): Contains a word to be stored in memory or sent to the I/O unit, or is used to receive a word from memory or from the I/O unit. Memory address register (MAR): Specifies the address in memory of the word to be written from or read into the MBR. Instruction register (IR): Contains the 8-bit opcode instruction being executed. Instruction buffer register (IBR): Employed to hold temporarily the right hand instruction from a word in memory. Program counter (PC): Contains the address of the next instructionpair to be fetched from memory. Accumulator (AC) and multiplier quotient (MQ): Employed to hold temporarily operands and results of ALU operations.

Principle of the processor Hardware and Software Approaches

Operating principles Execution of the program is the main function of the computer. Program consists of serias of instructions and data that are located in main memory. CPU executes instructions. Execution of the program is continual cycles of the instruction fetch and execution.

Instruction Instruction is an operation that is executed by processor. -

Instructions

Instruction cycle An instruction cycle consists of an instruction fetch, followed by zero or more operand fetches, followed by zero or more operand stores, followed by an interrupt check (if interrupts are enabled).

Instruction cycle state diagram

Example of program exection Program counter (PC) Address of instruction Instruction register (IR) Instruction being executed Accumulator (AC) Temporary storage

Interrupts Virtually all computers provide a mechanism by which other modules (I/O, memory) may interrupt the normal processing of the processor. Interrupts are provided primarily as a way to improve processing efficiency.

Program Flow

Program Timing

Sisteminė magistralė

Magistralės struktūra Duomenų magistrale vyksta keitimasis duomenimis tarp kompiuterio modulių. Adresų magistrale nurodo duomenų magistralėje esančios informacijos šaltinį ir paskirties įrenginį (destination). Valdymo magistrale kontroliuoja kreiptis (access) į duomenų ir adresų linijas ir šių linijų naudojimą.

Registrų sandara Registrų rinkinys funkcionuoja kaip atminties hierarchijos lygmuo, esantis aukščiau už pagrindinę ir spartinančiąją atmintis. CPĮ registrai skirti dviem funkcijoms vykdyti: Vartotojo pasiekiami registrai. Šie registrai leidžia programuotojui, taikant asemblerio programavimo kalbą arba tiesiog per mašininius kodus, sumažinti kreipčių į pagrindinę atmintį skaičių ir optimizuoti šių registrų vartojimą. Valdymo ir būklės registrai. Jie naudojami CPĮ valdymo įrenginio darbui kontroliuoti, o taip pat valdyti operacinių sistemų programų taikomųjų programų vykdymą.

Vartotojo pasiekiami registrai Bendrosios paskirties; Duomenų; Adresų Sąlygų kodų. Bendrosios paskirties registrai programuotojo gali būti pritaikyti įvairioms funkcijoms. Duomenų registrai gali būti taikomi tik duomenims saugoti ir niekada netaikomi apskaičiuojant operandų adresus. Adresų registrai patys gali būti realizuojami iš bendrosios paskirties registrų, o gali būti skirti specialiems adresavimo metodams. Sąlygų kodus sudaro tam tikri bitai, kuriais gali operuoti CPĮ techninė įranga, priklausomai nuo vykdomos operacijos rezultato.

Valdymo būklės registrai Programos skaitiklis (PS). Saugo sekančios išrenkamos instrukcijos adresą. Instrukcijos registras (IR). Saugo naujausiąją išrinktą instrukciją. Atminties adreso registras (AAR). Saugo atminties ląstelės, iš kurios ką tik buvo perskaityta informacija arba į kurią vyks duomenų rašymas, adresą. Atminties buferio registras (ABR). Saugomas duomenų žodis, kuris bus įrašytas į atmintį arba iš atminties ką tik nuskaitytas.

Duomenų srauto diagrama Instrukcija ciklo išrankos metu skaitoma iš atminties. PS registre saugomas sekančios išrenkamos instrukcijos adresas. Šis adresas siunčiamas į AAR ir patalpinamas adresų magistralėje. Valdymo įrenginys organizuoja skaitymą iš atminties. Nuskaitytas rezultatas patalpinamas duomenų magistralėje, kopijuojamas į ABR ir toliau siunčiamas į IR. Tuo tarpu PS turinys didinamas vienetu ir taip gaunamas sekančios instrukcijos adresas.

Instrukcijų konvejeris Instrukcijų konvejerizavimas panašus į surinkimo linijos taikymą produkcijos gamyboje. Surinkimo linijos privalumas yra tame, kad surinkimo procesas surinkimo linijoje išskaidomas į etapus ir tame, kad tam tikros gaminio surinkimo procedūros gali būti vykdomos vienu metu. Toks procesas dar vadinamas konvejeriu arba vamzdynu (pipeline), kadangi konvejeryje nauja operacija pradedama viename gale nesulaukus kol kita operacija kitame gale bus užbaigta.

Instrukcijų konvejeris Instrukcijos išranka (II). Į buferį nuskaitoma sekanti instrukcija po vykdomos. Instrukcijos dekodavimas (ID). Nustatomi operacijos kodas ir operando specifikatorius. Operando apskaičiavimas (OA). Apskaičiuojamas operando efektyvusis (realusis arba fizinis) adresas. Tai gali būti perkėlimo, registrų netiesioginis adresavimo ir kitų formų adresų apskaičiavimai. Operandų išranka (OI). Operandas arba operandai nuskaitomas iš atminties. Instrukcijos vykdymas (IV). Vykdoma instrukcijoje nurodyta operacija ir išsaugomas jos rezultatas. Operando rašymas (OR). Operacijos rezultatas įrašomas į atmintį.

Konvejerio našumas problemos Konvejerio našumą įtakojančius faktorius priimta skirstyti į tris klases: 1) resursų konfliktus (structural hazards); 2) duomenų priklausomumą (data hazards); 3) valdymo nuoseklumo priklausomumą (control hazards). Resursų konfliktai kyla tuomet, kai į tą patį vienintelį resursą kreipiasi ne mažiau kaip dvi komandos. Tokiu atveju viena komanda gali tuo resursu naudotis, o likusios komandos turi laukti, kol resursas bus atlaisvintas ir bus patenkinta kitos komandos paraiška. Jei to tipo resursas turi k egzempliorių (pavyzdžiui, superskaliariniame procesoriuje yra keli to paties tipo funkciniai įtaisai), aišku, kad vienu metu gali būti patenkinta k kreipinių.

Konvejerio našumas problemos Duomenų priklausomumas atsiranda dėl to, kad konvejerizuotame procesoriuje pasikeičia gretimų komandų atskirų žingsnių vykdymo nuoseklumas. Tai liečia operandų išrinkimą ir rezultato įrašymą. Pavyzdžiui, vykdoma tokia komandų pora: Komandos Add rezultatas bus įrašytas į registrą R1 fazėje W, o komanda Sub atėminį turi išrinkti iš registro R1 fazėje F, kuri vykdoma dviems ciklais anksčiau. Šis pavyzdys atitinka vadinamąjį tikrąjį duomenų priklausomumą.

Valdymo problemos konvejeryje II, OI ir OR etapuose vykdomi kreipiniai į atmintį. Diagramoje numatyta, kad visos šios kreiptys gali vykti vienu metu. Instrukcijos etapų trukmės skirtumai; Sąlygiškojo šakojimosi instrukcija; Tam tikrą neapibrėžtumą taip pat įneša pertrauktys.

Klausimai?