0% found this document useful (0 votes)
45 views

Tutorial Presentation 1

This document discusses the history and development of computer architectures and the C programming language from the 1940s to present day. It begins with early computers like the Harvard Mark 1 and ENIAC that used vacuum tubes. The von Neumann architecture from 1952 established the concept of the central processing unit and memory being connected via a bus. The development of transistors in the 1950s-60s made computers cheaper and faster. Integrated circuits were invented in the 1960s, leading to the development of instruction set architectures like IBM 360's CISC. Microprocessors emerged in the 1970s, driving rapid growth due to Moore's law. Personal computers became popular in the 1980s along with RISC architectures. Superscalar and multicore processors

Uploaded by

hisuin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Tutorial Presentation 1

This document discusses the history and development of computer architectures and the C programming language from the 1940s to present day. It begins with early computers like the Harvard Mark 1 and ENIAC that used vacuum tubes. The von Neumann architecture from 1952 established the concept of the central processing unit and memory being connected via a bus. The development of transistors in the 1950s-60s made computers cheaper and faster. Integrated circuits were invented in the 1960s, leading to the development of instruction set architectures like IBM 360's CISC. Microprocessors emerged in the 1970s, driving rapid growth due to Moore's law. Personal computers became popular in the 1980s along with RISC architectures. Superscalar and multicore processors

Uploaded by

hisuin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Computer architectures

& the C programming


language

Abstraction Layers
Application
Algorithm
Programming Language
Assembly Language
Operating System / Virtual Machine
Instruction Set Architecture
Microarchitecture
Digital Logic

Early Developments - 1940s

Harvard Mark 1 - 1944


Mechanical with electro-magnetically controlled relays and gears
ENIAC - 1946
Vacuum tubes

ENIAC. Source: http://www.fi.edu/learn/case-files/eckertmauchly/ENIAC_Image_2.jpg

Von Neumann Architecture 1952

General purpose machine


Bus interconnection
Flexible

Von Neumann Architecture. Source: http://last3.in/2010-11/CSE101/lectures/10-von-neumann-fig.png

Transistors - 1950s / 1960s

Cheaper
$120.000 (PDP1) vs $2M (IBM 7090)
Faster
Clock: 100ns (CDC 6600) vs 2usec (IBM 7090)
Vacuum tubes obsolete

Replica of first Transistor. Source: http://www.flickr.com/photos/revolweb/3984348493/

Integrated Circuits - 1960s

Jack Kilby and Robert Noyce


Germanium based
Silicon based

First integrated circuit. Source: http://0.tqn.com/d/inventors/1/0/t/C/1/intergratedcircuit.jpg

Instruction Set Architecture

IBM 360 - 1965


Clear distinction architecture/implementation
Same architecture with different hardware
Compatibility
CISC architecture

IBM 360. Source: http://dl.maximumpc.com/galleries/25oldpcs/ibm360_closeup1_full.jpg

Microprocessors - 1970s

Rapid progress in size and speed


Moore's law
Twice the amount of chips on the same area
Intel i432
First 32 bit processor

Moore's law. Source: http://en.wikipedia.org/w/index.php?title=File:Transistor_Count_and_Moore%27s_Law_-_2011.svg&page=1

Personal Computer - 1980s

Drop in price
Apple, Commodore
RISC architecture
Minicomputers replaced workstations
Distributed network and computing

Commodore 64. Source: http://reprog.files.wordpress.com/2010/03/800px-commodore64.jpg

Superscalar - 1990s

IBM Power 1990: first superscalar advanced microprocessor


DEC Alpha 1992: first 64 -bit (RISC)
Need larger memory addresses space

DEC Alpha. Source: http://en.wikipedia.org/wiki/File:Alpha_AXP_21064_diephoto1.jpg

Multicore - 2000s

Clock frequency cannot be further increased


Multicore processors

First Dual Core Processor: IBM Power 4. Source: http://www.fi.edu/learn/case-files/eckertmauchly/ENIAC_Image_2.jpg

Dennis Ritchie, Bell Labs 1969 - 1973


Developed as substitution of ASM (Assembly) for Unix
Based on B programming language

Assembly: Hello World


section
.text
global _start
linker (ld)

C: Hello World
#include<stdio.h>
;must be declared for

_start:
entry point

;tell linker

main()
{
printf("Hello World");
}

mov
mov
mov
mov
int

edx,len
;message length
ecx,msg
;message to write
ebx,1 ;file descriptor (stdout)
eax,4 ;system call number (sys_write)
0x80 ;call kernel

mov
int

eax,1 ;system call number (sys_exit)


0x80 ;call kernel

section

.data

msg
len

'Hello, world!',0xa
$ - msg

db
equ

;our dear string


;length of str

C Features

High-Level Language with low-level tools


Pointers Arithmetics
Structures
Functions
I\O Library
Math Library
Macros System

C Missing Features

Automatic Memory Management


Object-Oriented Programming
Functions and Operators Polymorphism
Nested Functions
Multitasking and Network (Third Party Libraries)

C System Types

short int, long int (signed/unsigned)


float, double
struct, enum, union
pointers to all data types

Thank you for your


attention
Questions are welcome

Computing Power Evolution

Evolution of SuperComputers
Sum: total computing power available in the whole world
Top: most powerful computer
#500: 500th entry of the TOP500 list (http://www.top500.org/)

Computing Power Evolution. Source:http://i.top500.org/overtime

You might also like