PART II. Parallel processing, threads,! messages and communications

Size: px
Start display at page:

Download "PART II. Parallel processing, threads,! messages and communications"

Transcription

1 Postgraduate course on Electronics and Informatics Engineering (M.Sc.) Training Course on Circuits Theory (prof. G. Capizzi)! Workshop on High performance computing and GPGPU computing PART II Parallel processing, threads,! messages and communications Dr. Christian Napoli, M.Sc.! Dpt. Mathematics and Informatics, University of Catania!!! -

2 Parallel processing Moore s Law and Parallel Processing!2

3 Moore s Law(s) CLOUD???! DISTRIBUITED! COMPUTING BOINC GRID GPGPU High Performance Computing!3

4 An interesting phenomenon that s known as Andy giveth, and Bill taketh away describe that, no matter how fast processors get, software consistently finds new ways to eat up the extra speed. Make a CPU ten times as fast, and software will usually find ten times as much to do (or, in some cases, will feel at liberty to do it ten times less efficiently). Most classes of applications have enjoyed free and regular performance gains for several decades, even without releasing new versions or doing anything special, because the CPU manufacturers (primarily) and memory and disk manufacturers (secondarily) have reliably enabled ever-newer and ever-faster mainstream systems. Clock speed isn t the only measure of performance, or even necessarily a good one, but it s an instructive one: We re used to seeing 500MHz CPUs give way to 1GHz CPUs give way to 2GHz CPUs, and so on. Today we re in the 3GHz range on mainstream computers.!4 The growth must eventually slow down and even end. Moore s Law(s) Free launch is over!

5 Parallel processing Moore s Law and Parallel Processing!5

6 Moore s Law(s)!6

7 Parallel processing Moore s Law and Parallel Processing!7

8 Parallel processing Moore s Law and Parallel Processing!8

9 Parallel processing Moore s Law and Parallel Processing How to join CPU feature growth and Moore s Law hot zone?!9

10 Parallel processing Moore s Law and Parallel Processing!10

11 Parallel processing Moore s Law and Parallel Processing!11

12 Once upon a time Neumann János Lajos model (CC) Wikimedia Commons / CC-SA-3.0 In the late 40s John von Neumann (born Neumann János Lajos, since it was Hungarian) became a leading figure in the field of computing. He worked for the ENIAC project, when ENIAC was being modified to contain stored programs. Since the modified ENIAC was fully functional by 1948 and the EDVAC wasn't delivered to Ballistics Research Laboratory until 1949, one could argue that ENIAC was the first computer to use a stored program in production runs. John von Neumann also designed the instruction set or op codes for the modified ENIAC, and he should be given credit for this. The electronics of the new ENIAC ran 6 times slower, but this in no way degraded the ENIAC's performance, since it was still entirely I/O bound. On the other hand, complicated programs could be developed and debugged in days rather than weeks, which is one of the advantages of storing the entire program in the computers electronics. The crucial point is whether or not a new paper tape has to be produced, using a slow and error prone tape punch every time the program is altered in any way, and then read in mechanically. A program is typically modified many times before it reaches its final form. This architecture is the basis of modern computer design, unlike the earliest computers that were 'programmed' by altering the electronic circuitry. Although the single-memory, stored program architecture is commonly called von Neumann architecture as a result of von Neumann's paper, the architecture's description was based on the work of J. Presper Eckert and John William Mauchly, inventors of the ENIAC at the University of Pennsylvania.!12

13 Von Neumann s The term Von Neumann architecture, also known as the Von Neumann model or the Princeton architecture, derives from a 1945 computer architecture description by the mathematician and physicist John von Neumann and others, First Draft of a Report on the EDVAC. This describes a design architecture for an electronic digital computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms. The meaning of the term has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. This is referred to as the Von Neumann bottleneck and often limits the performance of the system.!13 (CC) Wikimedia Commons / CC-SA-3.0

14 Von Neumann s Central Processing Unit: the early ages IBM 650, (CC) Wikimedia Commons / CC-SA-3.0!14

15 Von Neumann s Model Von Neumann s MEMORY CU!! IR PC CPU!!!!! ALU I/O Central Processing Unit:!! - Arithmetic / Logic Unit!! - Control Unit:!!! = Program Counter!!! = Instruction Register!! Central Memory!! Input / Output devices!15

16 Von Neumann s!16

17 Von Neumann s Model Von Neumann s Von Neumann computer systems contain three main building blocks: the central processing unit (CPU), memory, and input/output devices (I/O). These three components are connected together using the system bus. The most prominent items within the CPU are the registers: they can be manipulated directly by a computer program.!17

18 Von Neumann s Components of the Von Neumann s Model 1. Memory: Storage of information (data/program) 2. Processing Unit: Computation/Processing of Information 3. Input: Means of getting information into the computer. e.g. keyboard, mouse 4. Output: Means of getting information out of the computer. e.g. printer, monitor 5. Control Unit: Makes sure that all the other parts perform their tasks correctly and at the correct time.!18

19 Von Neumann s Components of the Von Neumann s Model Communication between memory and processing unit consists of two registers: Memory Address Register (MAR). Memory Data Register (MDR). To read, 1. The address of the location is put in MAR. 2. The memory is enabled for a read. 3. The value is put in MDR by the memory. To write, 1. The address of the location is put in MAR. 2. The data is put in MDR. 3. The Write Enable signal is asserted.!19 4. The value in MDR is written to the location specified.

20 CPU Data Path Von Neumann s Hardware units like ALU's, registers, memory, etc., are linked together into a data-path. The flow of bits around the data-path is controlled by the "gates" which allow the bits to flow (on) or not flow (off) through the data-path. The binary instructions (1 = on; 0 = off) that control the flow are called microinstructions.!20

21 !21 Von Neumann s Simplified x86 data path (1979 a.d.) The 8088, 8086, and are 16-bit CPUs. Internal registers are 16 bits in size. The 8086 is faster than the 8088 because of its 16-bit data bus; the 8088 has only an 8- bit data bus. The 16-bit data bus allows you to use EVEN and ALIGN on an 8086 processor to word-align data and thus improve datahandling efficiency. Memory addresses on the 8086 and 8088 refer to actual physical addresses. The 8086 and 8088 have 20 address pins, and 1 megabyte of addressable memory (which is the real mode segmented memory explained later) requires addresses of 20 bits in size.

22 The Intel generations The Intel 8080 core! 8086, (CC) Wikimedia Commons / CC-3.0!22

23 The Intel generations The Intel core! 80286, (CC) Wikimedia Commons / CC-3.0!23

24 The Intel generations The Intel PENTIUM! Pentium, (CC) Wikimedia Commons / CC-3.0!24

25 The Intel generations The Intel PENTIUM 4! Pentium, (CC) Wikimedia Commons / CC-3.0 For a more detailed history of CPUs:

26 :-) ONE ONLY SOLUTION! TO THE ENERGY DENSITY PROBLEM!26

27 Parallel processing False Parallelisms PROCESS 1 D! A! T! D! A! T! PROCESS 1 A PROCESS 2 A!27

28 Parallel processing False Parallelisms PROCESS 1 PROCESS 3 D! A! T! A PROCESS 2 PROCESS 3 D! A! T! A PROCESS 1!28

29 Parallel processing False Parallelisms D! A! A! PROCESS 1 PROCESS 2 PROCESS 14 T! A PROCESS 3 D! T! A!29

30 Pipeline D! A! A! PROCESS 1 PROCESS 2 PROCESS 4 T! A D! T! A TERMINAL! $ ls /usr/local/include grep mpi! mpi.h! mpicxx.h! mpif.h! mpio.h! mpiof.h!! $ mkdir newdir && cd newdir! $ ls /usr/local/include > new.txt && ls! new.txt!! $_ Broken Pipe!30 IT layout US layout

31 Pipeline Serial Execution, (CC) Wikimedia Commons / CC-BY-SA-3.0 Pipelined Execution, (CC) Wikimedia Commons / CC-BY-SA-3.0 IF!! ID!! EX! Instructions Fetch! Instructions Decode! Execution! MEM!Memory activation (not mandatory)! WB! Write Back Superscalar CPU with double pipeline,! (CC) Wikimedia Commons / CC-BY-SA-3.0!31

32 Pipeline MIPS Architecture!32

33 :-) MISLEADING CONCEPTS computers with pipelines!33

34 Parallel programming True Parallelisms SERIAL PROGRAMS Programs run on a single computer and/or CPU Problems are a discrete set of instructions Instructions are executed one after another Only one instruction may execute at a moment PARALLEL PROGRAMS Programs run on a several CPUs and/or cores Problems are still a discrete set of instructions Problems instructions are spitted in parts Each part can be solved concurrently Instructions are then executed simultaneously An overall control mechanism is required Synchronizations becomes non-trivial Memory management policy often required!34

35 Parallel programming Very common parallel problems «Doh!» In parallel computing an embarrassingly parallel problem is one for which no effort is required to separate the problem into a number of several parallel tasks. and equally common design problems PCAM: a design methodology for parallel programs!35 Starting with a problem specification, we develop a partition, determine communication requirements, agglomerate tasks, and finally map tasks to processors.

36 Threads & multithreading i = 0 i = 1 i = 2 i = 3 i = 4 s=vecmean (x,y) t = a[i]+b[i] t = a[i]+b[i] t = a[i]+b[i] t = a[i]+b[i] t = a[i]+b[i] t = t/2 t = t/2 t = t/2 t = t/2 t = t/2 s[i] = t s[i] = t s[i] = t s[i] = t s[i] = t In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by an operating system scheduler. Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and to even manage multiple requests by the same user without having to have multiple copies of the programming running in the computer i = 0 t = a[i]+b[i] t = t/2 s[i] = t i = 1 t = a[i]+b[i] t = t/2 s[i] = t i = 2 t = a[i]+b[i] t = t/2 s[i] = t i = 0 t = a[i]+b[i] t = t/2 s[i] = t i = 6 t = a[i]+b[i] t = t/2 s[i] = t i = 12 t = a[i]+b[i] t = t/2 s[i] = t i = 1 t = a[i]+b[i] t = t/2 s[i] = t i = 7 t = a[i]+b[i] t = t/2 s[i] = t i = 13 t = a[i]+b[i] t = t/2 s[i] = t i = 2 t = a[i]+b[i] t = t/2 s[i] = t i = 8 t = a[i]+b[i] t = t/2 s[i] = t i = 14 t = a[i]+b[i] t = t/2 s[i] = t i = 3 t = a[i]+b[i] t = t/2 s[i] = t i = 9 t = a[i]+b[i] t = t/2 s[i] = t i = 15 t = a[i]+b[i] t = t/2 s[i] = t i = 4 t = a[i]+b[i] t = t/2 s[i] = t i = 10 t = a[i]+b[i] t = t/2 s[i] = t i = 5 t = a[i]+b[i] t = t/2 s[i] = t i = 11 t = a[i]+b[i] t = t/2 s[i] = t!36!36!36

37 SINGLE TRHEAD Threads & CPU cores MULTITRHEAD MULTICORE SINGLE CORE!37

38 Threads & CPU cores That s how multithread CPUs should look like But let suppose that each thread wants to write on the same memory positions. If the systems adopt a FIFO policy each time a thread finishes to compute it must wait the others before to write back the results Is that a good parallel execution?!38

39 Threads & troubles Suppose that each thread receives inputs and gives back outputs which are needed by all treads before to continue THREAD 1 THREAD 1 D! A! T! A TREAD 2 THREAD 3 D! A! T! A TREAD 2 THREAD 3 D! A! T! A THREAD 4 THREAD 4 The beginning, synchronization and termination of a multithread computation are called FORK, SYNC and JOIN!39

40 Threads & troubles The beginning, synchronisation and termination of a multithread computation are called FORK, SYNC and JOIN THREAD 1 THREAD 1 F! O! R! K TREAD 2 THREAD 3 S! Y! N! C TREAD 2 THREAD 3 J! O! I! N THREAD 4 THREAD 4 But what if some thread has to do more work or has latency?!40

41 Threads & troubles But what if some thread has to do more work or has latency? THREAD 1 THREAD 1 F! O! R! K TREAD 2 THREAD 3 S! Y! N! C TREAD 2 THREAD 3 J! O! I! N THREAD 4 THREAD 4 The early returning threads should wait the others because fork, sync and join are BARRIERS for the execution!41

42 Threads & troubles The early returning threads should wait the others because fork, sync and join are BARRIERS for the execution While waiting the threads does not execute any work wasting useful CPU time, energy and resources.!42

43 Threads & troubles The early returning threads should wait the others because fork, sync and join are BARRIERS for the execution Wasted CPU time: communication idle time waiting for barriers It is the overall time wasted by any single thread during the synchronization processes (communication) and the idle time and it is an effective part of what it is called total overhead!43

44 Threads & troubles Better to avoid unnecessary barriers: Wasted CPU time: idle time waiting for barriers A good distribution of the work among the threads is called balanced multithreading and aims to minimise the idle time.!44

45 serial part Almost every problem has a serial portion F! O! R! K thread 1 thread 2 thread 3 thread 4 Andahl s Law S! Y! N! C thread 1 thread 2 thread 3 thread 4 serial part How worthy it is then to parallelise a problem? Amdahl's law, also known as Amdahl's argument, is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors. The law is named after computer architect Gene Amdahl, and was presented at the AFIPS Spring Joint Computer Conference in J! O! I! N Δ t t = N N S + P = 1 S + P N P parallel portion N number of cores S=1 P!45 (CC) Wikimedia Commons / CC-SA-3.0

46 Bottlenecks in threads Bottlenecks should be taken into the overall count LOW! LOAD MEDIUM! LOAD HIGH! LOAD TOO! HIGH! LOAD APPLICATION! CAPABILITY!46

47 When the damn code doesn t want to speedup :-)!47 someone searches answers in the Big Book of Bottlenecks

48 Message Passing Immagine to demand several people to perform some tasks independently and asking to be called by the first who finishes ALICE BOB CHARLIE WINNER DANA Let now to complicate the problem. What if:! Task 2 of Charlie needs an output by task 2 of Dana Task 3 of Alice needs an output by task 4 of Bob!48

49 Message passing! Task 2 of Charlie needs an output by task 2 of Dana Task 3 of Bob needs an output by task 4 of Alice ALICE WINNER BOB CHARLIE DANA Alice sent a message to Bob which was expecting it! Also Charlie was expecting a message from Dana who sent it What if Dana couldn t sent the message?!49

50 Message passing What if Dana couldn t sent the message? ALICE WINNER BOB CHARLIE 1 2 DANA Alice sent a message to Bob which was expecting it! Also Charlie is stuck expecting a message from Dana Maybe Dana failed to send the message, or, maybe, bob was not listening for the message. Anyway how does it applies to HPC?!50

51 Message passing Message Passing among processes 1 Get(a) ab=a*b aab=a*ab 2 1 Get(b) bb=b*b. bbabb = bb*aab 2 Get(c) 3 wait() 3 c2=c*c The green checkpoints represent the barriers when certain processes synchronizes themselves by exchanging messages. Can t the processes access directly the values of the needed variables directly by reading them on the memory?!51

52 Message passing Can t the processes access directly the values of the needed variables directly by reading them on the memory? Only if the process are running within a shared memory paradigm But what id those processes are running on different machines which are linked with a network? In this case each process knows only the memory of his machine: the values of non local variables have to be passed as a message trough the network itself.!52

53 Message passing MESSAGE PASSING INTERFACE Message Passing Interface (MPI) is a standardized and portable message-passing system.the standard defines the syntax and semantics of a core of library routines useful to a wide range of users writing portable message-passing programs in Fortran or the C programming language. There are several welltested and efficient implementations of MPI, including some that are free or in the public domain. These fostered the development of a parallel software industry, and there encouraged development of portable and scalable large-scale parallel applications.!53

54 Parallel programming!54 Open MultiProcessing Open MultiProcessing (OpenMP) is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Solaris, AIX, HP-UX, GNU/Linux, Mac OS X, and Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. OpenMP uses a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the standard desktop computer to the supercomputer. An application built with the hybrid model of parallel programming can run on a computer cluster using both OpenMP and Message Passing Interface (MPI), or more transparently through the use of OpenMP extensions for non-shared memory systems.

55 Hybrids Distributed GPU Programming Hybrid MPI/OpenMP!55

56 Hybrids Last frontier: Hybrid MPI/OpenMP + Distributed GPU Programming!56

57 QUESTION TIME CAN YOU REPEAT PLEASE??!57

58 Workshop on High Parallel Performance Architectures Computing and Programming and GPGPU Techniques Computing - PART - I II Thank You You will find the PDF edition in the didactic section of the author s website, visit To contact the author send an to If you want to share this presentation be sure to read and follow the CC-BY-NC-ND-4.0 license. Visit

PART III. GPU Cards and Architectures. Dr. Christian Napoli, M.Sc.! Dpt. Mathematics and Informatics, University of Catania!

PART III. GPU Cards and Architectures. Dr. Christian Napoli, M.Sc.! Dpt. Mathematics and Informatics, University of Catania! Postgraduate course on Electronics and Informatics Engineering (M.Sc.) Training Course on Circuits Theory (prof. G. Capizzi)! Workshop on High performance computing and GPGPU computing Postgraduate course

More information

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atananasoff in 1939?) Hard-wired program

More information

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

Introduction to Computer Engineering. CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison Introduction to Computer Engineering CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper

More information

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --

More information

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems Computer Architecture Review ICS332 - Spring 2016 Operating Systems ENIAC (1946) Electronic Numerical Integrator and Calculator Stored-Program Computer (instead of Fixed-Program) Vacuum tubes, punch cards

More information

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

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers Chapter 4 The Von Neumann Model Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye, Colorado State University Computing Layers Problems Algorithms

More information

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing CIT 668: System Architecture Parallel Computing Topics 1. What is Parallel Computing? 2. Why use Parallel Computing? 3. Types of Parallelism 4. Amdahl s Law 5. Flynn s Taxonomy of Parallel Computers 6.

More information

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --

More information

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods

More information

Computers in Engineering COMP 208

Computers in Engineering COMP 208 Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods

More information

Information Science 1

Information Science 1 Information Science 1 -Basic Concepts of Computers: Opera4on, Architecture, Memory- Week 02 College of Information Science and Engineering Ritsumeikan University Today s lecture outline l Recall the previous

More information

The Stored Program Computer

The Stored Program Computer The Stored Program Computer 1 1945: John von Neumann Wrote a report on the stored program concept, known as the First Draft of a Report on EDVAC also Alan Turing Konrad Zuse Eckert & Mauchly The basic

More information

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U C A N A D I A N I N T E R N A T I O N A L S C H O O L O F H O N G K O N G 5.1 Introduction 5.2 Components of a Computer System Algorithm The Von Neumann architecture is based on the following three characteristics:

More information

Introduction to parallel Computing

Introduction to parallel Computing Introduction to parallel Computing VI-SEEM Training Paschalis Paschalis Korosoglou Korosoglou (pkoro@.gr) (pkoro@.gr) Outline Serial vs Parallel programming Hardware trends Why HPC matters HPC Concepts

More information

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018 Introduction CSCI 4850/5850 High-Performance Computing Spring 2018 Tae-Hyuk (Ted) Ahn Department of Computer Science Program of Bioinformatics and Computational Biology Saint Louis University What is Parallel

More information

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator).

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator). Microprocessors Von Neumann architecture The first computers used a single fixed program (like a numeric calculator). To change the program, one has to re-wire, re-structure, or re-design the computer.

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction 1.1 Overview 1 1.2 The Main Components of a Computer 3 1.3 An Example System: Wading through the Jargon 4 1.4 Standards Organizations 15 1.5 Historical Development 16 1.5.1 Generation

More information

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

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 3: von Neumann Architecture von Neumann Architecture Our goal: understand the basics of von Neumann architecture, including memory, control unit

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Guoping Qiu School of Computer Science The University of Nottingham http://www.cs.nott.ac.uk/~qiu 1 The World of Computers Computers are everywhere Cell phones Game consoles

More information

Chapter 1 Basic Computer Organization

Chapter 1 Basic Computer Organization Chapter 1 Basic Computer Organization Course Outcome (CO) CO1 Explain the basic principles of modern computer systems organization Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information

Modern Processor Architectures. L25: Modern Compiler Design

Modern Processor Architectures. L25: Modern Compiler Design Modern Processor Architectures L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant minimising the number of instructions

More information

Trends and Challenges in Multicore Programming

Trends and Challenges in Multicore Programming Trends and Challenges in Multicore Programming Eva Burrows Bergen Language Design Laboratory (BLDL) Department of Informatics, University of Bergen Bergen, March 17, 2010 Outline The Roadmap of Multicores

More information

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture The Computer Revolution Progress in computer technology Underpinned by Moore s Law Makes novel applications

More information

1.3 Data processing; data storage; data movement; and control.

1.3 Data processing; data storage; data movement; and control. CHAPTER 1 OVERVIEW ANSWERS TO QUESTIONS 1.1 Computer architecture refers to those attributes of a system visible to a programmer or, put another way, those attributes that have a direct impact on the logical

More information

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that

More information

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition Chapter 5: Computer Systems Organization Invitation to Computer Science, C++ Version, Third Edition Objectives In this chapter, you will learn about: The components of a computer system Putting all the

More information

Chapter 5: Computer Systems Organization

Chapter 5: Computer Systems Organization Objectives Chapter 5: Computer Systems Organization Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: The components of a computer system Putting all the

More information

Computer System: An Overview

Computer System: An Overview C Programming 1 Computer System: An Overview C Programming 2 VDU Processor Memory Disk etc. Keyboard Mouse C Programming 3 01 00 11 00 11 00 11 00 11 00 11 00 11 00 11 Primergy 000000000000 11111111111100

More information

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 2 Computer Evolution and Performance

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 2 Computer Evolution and Performance William Stallings Computer Organization and Architecture 8 th Edition Chapter 2 Computer Evolution and Performance Analytical Engine ENIAC - background Electronic Numerical Integrator And Computer Eckert

More information

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter IT 3123 Hardware and Software Concepts Notice: This session is being recorded. CPU and Memory June 11 Copyright 2005 by Bob Brown Latches Can store one bit of data Can be ganged together to store more

More information

LC-3 Architecture. (Ch4 ish material)

LC-3 Architecture. (Ch4 ish material) LC-3 Architecture (Ch4 ish material) 1 CISC vs. RISC CISC : Complex Instruction Set Computer Lots of instructions of variable size, very memory optimal, typically less registers. RISC : Reduced Instruction

More information

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1 Machine Architecture Prof Leslie Smith or what s in the box? Lectures 2 & 3 ITNP23 - Autumn 2014 Lectures 2&3, Slide 1 Basic Machine Architecture In these lectures we aim to: understand the basic architecture

More information

2. Computer Evolution and Performance

2. Computer Evolution and Performance 2. Computer Evolution and Performance Spring 2016 Spring 2016 CS430 - Computer Architecture 1 Chapter 2: Computer Evolution and Performance Reading: pp. 16-49 Good Problems to Work: 2.1, 2.3, 2.4, 2.8,

More information

Parallel and High Performance Computing CSE 745

Parallel and High Performance Computing CSE 745 Parallel and High Performance Computing CSE 745 1 Outline Introduction to HPC computing Overview Parallel Computer Memory Architectures Parallel Programming Models Designing Parallel Programs Parallel

More information

CS 101, Mock Computer Architecture

CS 101, Mock Computer Architecture CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically

More information

Systems Architecture

Systems Architecture Systems Architecture Friday, 27 April 2018 Systems Architecture Today s Objectives: 1. To be able to explain the purposes and uses of embedded systems. 2. To be able to describe how the CPU executes instructions

More information

Lecture 1: Gentle Introduction to GPUs

Lecture 1: Gentle Introduction to GPUs CSCI-GA.3033-004 Graphics Processing Units (GPUs): Architecture and Programming Lecture 1: Gentle Introduction to GPUs Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Who Am I? Mohamed

More information

Introduction to Parallel Programming

Introduction to Parallel Programming Introduction to Parallel Programming January 14, 2015 www.cac.cornell.edu What is Parallel Programming? Theoretically a very simple concept Use more than one processor to complete a task Operationally

More information

Ms. Minerva A. Lagarde

Ms. Minerva A. Lagarde Ms. Minerva A. Lagarde Introduction Objectives At the end of this module, you should be able to: 1. explain how a computer works; 2. state the functions of each basic hardware component of a computer system;

More information

An Incomplete History of Computation

An Incomplete History of Computation An Incomplete History of Computation Charles Babbage 1791-1871 Lucasian Professor of Mathematics, Cambridge University, 1827-1839 First computer designer Ada Lovelace 1815-1852 First computer programmer

More information

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu A Review of Chapter 5 and Chapter 6 Chapter 5 Computer Systems Organization Von Neumann Architecture 4 Components Memory Input/output ALU Control Unit Two major features Stored program concept Sequential

More information

Let s say I give you a homework assignment today with 100 problems. Each problem takes 2 hours to solve. The homework is due tomorrow.

Let s say I give you a homework assignment today with 100 problems. Each problem takes 2 hours to solve. The homework is due tomorrow. Let s say I give you a homework assignment today with 100 problems. Each problem takes 2 hours to solve. The homework is due tomorrow. Big problems and Very Big problems in Science How do we live Protein

More information

Computer Architecture

Computer Architecture Computer Architecture Context and Motivation To better understand a software system, it is mandatory understand two elements: - The computer as a basic building block for the application - The operating

More information

Computer Organization

Computer Organization INF 101 Fundamental Information Technology Computer Organization Assistant Prof. Dr. Turgay ĐBRĐKÇĐ Course slides are adapted from slides provided by Addison-Wesley Computing Fundamentals of Information

More information

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant

More information

Computer Systems. Hardware, Software and Layers of Abstraction

Computer Systems. Hardware, Software and Layers of Abstraction Computer Systems Hardware, Software and Layers of Abstraction 1 Automation & Computers Fundamental question of computer science: What can be automated? Computers automate processing of information Computer

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction 1.1 Overview 1 1.2 The Main Components of a Computer 3 1.3 An Example System: Wading through the Jargon 4 1.4 Standards Organizations 13 1.5 Historical Development 14 1.5.1 Generation

More information

The Art of Parallel Processing

The Art of Parallel Processing The Art of Parallel Processing Ahmad Siavashi April 2017 The Software Crisis As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a

More information

Segment 1A. Introduction to Microcomputer and Microprocessor

Segment 1A. Introduction to Microcomputer and Microprocessor Segment 1A Introduction to Microcomputer and Microprocessor 1.1 General Architecture of a Microcomputer System: The term microcomputer is generally synonymous with personal computer, or a computer that

More information

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

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture 168 420 Computer Architecture Chapter 2 Computer Evolution and Performance ENIAC - background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania Trajectory tables

More information

Unit 9 : Fundamentals of Parallel Processing

Unit 9 : Fundamentals of Parallel Processing Unit 9 : Fundamentals of Parallel Processing Lesson 1 : Types of Parallel Processing 1.1. Learning Objectives On completion of this lesson you will be able to : classify different types of parallel processing

More information

William Stallings Computer Organization and Architecture 9 th Edition

William Stallings Computer Organization and Architecture 9 th Edition + William Stallings Computer Organization and Architecture 9 th Edition + Chapter 2 Computer Evolution and Performance + History of Computers First Generation: Vacuum Tubes ENIAC Electronic Numerical Integrator

More information

Programming Models for Multi- Threading. Brian Marshall, Advanced Research Computing

Programming Models for Multi- Threading. Brian Marshall, Advanced Research Computing Programming Models for Multi- Threading Brian Marshall, Advanced Research Computing Why Do Parallel Computing? Limits of single CPU computing performance available memory I/O rates Parallel computing allows

More information

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O Early History History Know what the contributions of Charles Babbage, Ada Lovelace, and Alan Turing were Know Babbages Analytical Machine, which was limited by current technology Know that Ada Lovelace

More information

Chapter 2. OS Overview

Chapter 2. OS Overview Operating System Chapter 2. OS Overview Lynn Choi School of Electrical Engineering Class Information Lecturer Prof. Lynn Choi, School of Electrical Eng. Phone: 3290-3249, Kong-Hak-Kwan 411, lchoi@korea.ac.kr,

More information

Computer Architecture. Fall Dongkun Shin, SKKU

Computer Architecture. Fall Dongkun Shin, SKKU Computer Architecture Fall 2018 1 Syllabus Instructors: Dongkun Shin Office : Room 85470 E-mail : dongkun@skku.edu Office Hours: Wed. 15:00-17:30 or by appointment Lecture notes nyx.skku.ac.kr Courses

More information

Microprocessor Architecture Dr. Charles Kim Howard University

Microprocessor Architecture Dr. Charles Kim Howard University EECE416 Microcomputer Fundamentals Microprocessor Architecture Dr. Charles Kim Howard University 1 Computer Architecture Computer System CPU (with PC, Register, SR) + Memory 2 Computer Architecture ALU

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS

COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS Computer types: - COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS A computer can be defined as a fast electronic calculating machine that accepts the (data) digitized input information process

More information

AS/A Level Computing Syllabus 2011

AS/A Level Computing Syllabus 2011 AS/A Level Computing Syllabus 2011 Section 3 - System Software Mechanisms - - Machine Architecture - - Database Theory - - Programming Paradigms - Chapter 3.3 Computer Architectures & Fetch-Execute Cycle

More information

Welcome to COS151! 1.1

Welcome to COS151! 1.1 Welcome to COS151! Title: Introduction to Computer Science Course website: https://cs.up.ac.za/admin/courses/cos151 Find the study guide there Announcements Assignments (download & upload) Brief overview

More information

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

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. 1 Part 2: Introduction to Computer Architecture Our goal: have a basic look at architecture of computer, its functions and structure, its history and

More information

ΗΜΥ 656 ΠΡΟΧΩΡΗΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εαρινό Εξάμηνο 2007

ΗΜΥ 656 ΠΡΟΧΩΡΗΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εαρινό Εξάμηνο 2007 ΗΜΥ 656 ΠΡΟΧΩΡΗΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εαρινό Εξάμηνο 2007 ΔΙΑΛΕΞΗ 1β: Επανάληψη Κύριες πτυχές Αρχιτεκτονικής ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ ( ttheocharides@ucy.ac.cy) Class Schedule Lectures Tuesdays,

More information

Computer Architecture

Computer Architecture Instruction Cycle Computer Architecture Program Execution and Instruction Sets INFO 2603 Platform Technologies The basic function performed by a computer is the execution of a program, which is a set of

More information

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1

Chapter 5 12/2/2013. Objectives. Computer Systems Organization. Objectives. Objectives (continued) Introduction. INVITATION TO Computer Science 1 Chapter 5 Computer Systems Organization Objectives In this chapter, you will learn about: The components of a computer system Putting all the pieces together the Von Neumann architecture The future: non-von

More information

Chronological History of the Pre-Computer Developments

Chronological History of the Pre-Computer Developments 500 B. C. Abacus 1621 Slide Rule 1623 Schickard s Adding Machine (Germany) 1642 Pascal s Adding Machine (France) 1673 Leibniz Calculator (Germany) 1804 Jacquard Loom and Punch Cards 1822 Babbage s Difference

More information

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a

More information

The Use of Cloud Computing Resources in an HPC Environment

The Use of Cloud Computing Resources in an HPC Environment The Use of Cloud Computing Resources in an HPC Environment Bill, Labate, UCLA Office of Information Technology Prakashan Korambath, UCLA Institute for Digital Research & Education Cloud computing becomes

More information

Chapter 1. Preview. Reason for Studying OPL. Language Evaluation Criteria. Programming Domains

Chapter 1. Preview. Reason for Studying OPL. Language Evaluation Criteria. Programming Domains Chapter 1. Preview Reason for Studying OPL Reason for Studying OPL? Programming Domains Language Evaluation Criteria Language Categories Language Design Trade-Offs Implementation Methods Programming Environments

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Evolution of the Computer

Evolution of the Computer Evolution of the Computer Janaka Harambearachchi (Engineer/Systems Development) Zeroth Generation- Mechanical 1. Blaise Pascal -1642 Mechanical calculator only perform + - 2. Von Leibiniz -1672 Mechanical

More information

Von Neumann Architecture

Von Neumann Architecture Von Neumann Architecture Assist lecturer Donya A. Khalid Lecture 2 2/29/27 Computer Organization Introduction In 945, just after the World War, Jon Von Neumann proposed to build a more flexible computer.

More information

General introduction: GPUs and the realm of parallel architectures

General introduction: GPUs and the realm of parallel architectures General introduction: GPUs and the realm of parallel architectures GPU Computing Training August 17-19 th 2015 Jan Lemeire (jan.lemeire@vub.ac.be) Graduated as Engineer in 1994 at VUB Worked for 4 years

More information

Computer Organization. 8 th Edition. Chapter 2 p Computer Evolution and Performance

Computer Organization. 8 th Edition. Chapter 2 p Computer Evolution and Performance William Stallings Computer Organization and Architecture 8 th Edition Chapter 2 p Computer Evolution and Performance ENIAC - background Electronic Numerical Integrator And Computer Eckert and Mauchly University

More information

Overview of a computer

Overview of a computer Overview of a computer One marks 1. What is von Neumann concept also called as? Stored memory or stored program concept. 2. Who is the father of computer Charles Babbage 3. What is a computer? It is an

More information

Computer Architecture and Organization (CS-507)

Computer Architecture and Organization (CS-507) Computer Architecture and Organization (CS-507) Muhammad Zeeshan Haider Ali Lecturer ISP. Multan ali.zeeshan04@gmail.com https://zeeshanaliatisp.wordpress.com/ Lecture 2 Computer Evolution and Performance

More information

Chapter 1 : Introduction

Chapter 1 : Introduction Chapter 1 Introduction 1.1 Introduction A Microprocessor is a multipurpose programmable, clock driven, register based electronic device that reads binary instructions from a storage device called memory,

More information

Computer Organization and Architecture William Stallings 8th Edition. Chapter 2 Computer Evolution and Performance

Computer Organization and Architecture William Stallings 8th Edition. Chapter 2 Computer Evolution and Performance Computer Organization and Architecture William Stallings 8th Edition Chapter 2 Computer Evolution and Performance BRIEF HISTORY OF COMPUTERS The First Generation: Vacuum Tubes ENIAC - background Electronic

More information

15-740/ Computer Architecture Lecture 4: Pipelining. Prof. Onur Mutlu Carnegie Mellon University

15-740/ Computer Architecture Lecture 4: Pipelining. Prof. Onur Mutlu Carnegie Mellon University 15-740/18-740 Computer Architecture Lecture 4: Pipelining Prof. Onur Mutlu Carnegie Mellon University Last Time Addressing modes Other ISA-level tradeoffs Programmer vs. microarchitect Virtual memory Unaligned

More information

Part (01) Introduction to Computer

Part (01) Introduction to Computer Part (01) Introduction to Computer Dr. Ahmed M. ElShafee 1 Dr. Ahmed ElShafee, ACU : Summer 2014, Introduction to CS 1 TURING MODEL The idea of a universal computational device was first described by Alan

More information

High Performance Computing

High Performance Computing The Need for Parallelism High Performance Computing David McCaughan, HPC Analyst SHARCNET, University of Guelph dbm@sharcnet.ca Scientific investigation traditionally takes two forms theoretical empirical

More information

Chapter 2. Perkembangan Komputer

Chapter 2. Perkembangan Komputer Chapter 2 Perkembangan Komputer 1 ENIAC - background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania Trajectory tables for weapons Started 1943 Finished 1946

More information

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th COMS 1003 Fall 2005 Introduction to Computer Programming in C History & Computer Organization September 15 th What's Ahead Some computer history Introduction to major players in the development of hardware

More information

CIT 668: System Architecture. Computer Systems Architecture

CIT 668: System Architecture. Computer Systems Architecture CIT 668: System Architecture Computer Systems Architecture 1. System Components Topics 2. Bandwidth and Latency 3. Processor 4. Memory 5. Storage 6. Network 7. Operating System 8. Performance Implications

More information

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin

More information

An Introduction to Parallel Programming

An Introduction to Parallel Programming An Introduction to Parallel Programming Ing. Andrea Marongiu (a.marongiu@unibo.it) Includes slides from Multicore Programming Primer course at Massachusetts Institute of Technology (MIT) by Prof. SamanAmarasinghe

More information

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2 Computer Organization and Design Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70803 durresi@csc.lsu.edu d These slides are available at: http://www.csc.lsu.edu/~durresi/csc3501_07/ Louisiana

More information

CIT 668: System Architecture

CIT 668: System Architecture CIT 668: System Architecture Computer Systems Architecture I 1. System Components 2. Processor 3. Memory 4. Storage 5. Network 6. Operating System Topics Images courtesy of Majd F. Sakr or from Wikipedia

More information

Parallel Computing Introduction

Parallel Computing Introduction Parallel Computing Introduction Bedřich Beneš, Ph.D. Associate Professor Department of Computer Graphics Purdue University von Neumann computer architecture CPU Hard disk Network Bus Memory GPU I/O devices

More information

Even coarse architectural trends impact tremendously the design of systems

Even coarse architectural trends impact tremendously the design of systems CSE 451: Operating Systems Spring 2006 Module 2 Architectural Support for Operating Systems John Zahorjan zahorjan@cs.washington.edu 534 Allen Center Even coarse architectural trends impact tremendously

More information

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal.

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal. Hardware CSCE 101 Electricity: Voltage Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal. The signals voltage will either be between

More information

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 3, 2015 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

More information

Introduction. Computer System Organization. Languages, Levels, Virtual Machines. A multilevel machine. Sarjana Magister Program

Introduction. Computer System Organization. Languages, Levels, Virtual Machines. A multilevel machine. Sarjana Magister Program Computer System Organization Sarjana Magister Program Introduction Tb. Maulana Kusuma Week 1 Session 1 Languages, Levels, Virtual Machines A multilevel machine 1 Contemporary Multilevel Machines A six-level

More information

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Computing architectures Part 2 TMA4280 Introduction to Supercomputing Computing architectures Part 2 TMA4280 Introduction to Supercomputing NTNU, IMF January 16. 2017 1 Supercomputing What is the motivation for Supercomputing? Solve complex problems fast and accurately:

More information

Computer Architecture 2/26/01 Lecture #

Computer Architecture 2/26/01 Lecture # Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the

More information

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

More information

1. Fundamental Concepts

1. Fundamental Concepts 1. Fundamental Concepts 1.1 What is a computer? A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main

More information

Computers History How to make one from marbles Moore s s Law Sohaib Ahmad Khan Early History: Abacus In use since 3 B.C. addition, subtraction, multiplication, division, square roots, cube roots Not really

More information

CS 333 Introduction to Operating Systems. Class 1 - Introduction to OS-related Hardware and Software

CS 333 Introduction to Operating Systems. Class 1 - Introduction to OS-related Hardware and Software CS 333 Introduction to Operating Systems Class 1 - Introduction to OS-related Hardware and Software Jonathan Walpole Computer Science Portland State University About the instructor Instructor - Jonathan

More information