Administrative Issues – cont.
* The goal of the course
o Promo to my wonderful profession ?
o An overall overview on the IT (Information Technology) field
o Some needed background for the MBA program,
o … and the most important: Enjoying learning about the amazing IT world!
Administrative Issues – cont.
* The course requirements are:
o To be nice and open minded ?
o To submit your solutions to at least 95% of the assignments (there will be 3)
o To pass the exam (there is a boolean result)
The Major Topics (Syllabus)
* Computer Organization (HW&SW)
* Programming with Java
* Algorithms & Data Structures
* Databases Management (SQL, ERD)
* Complex Systems Design at the Conceptual Level with OPM
* Web Based Applications, Service Oriented Architecture (SOA)
Outline
* Computer Architecture
o What is all about?
o A brief architectural history
* Computing Systems
o A typical computer system
o Hardware (HW) & Software – terminology, layered organization…)
* Operating Systems
* Data in the Computer
Computer Architecture – What is it?
“Computer architecture is the computer as seen by the user”
– Amdhal et al, (64)
“…by architecture, we mean the structure of the modules as they are organized in a computer system…”
– Stone, H. (1987)
“The architecture of a computer is the interface between the machine and the software”
– Andris Padges
IBM 360/370 Architect
Architecture – the building blocks
* Structure -static arrangement of the parts (plan)
* Organization – dynamic interaction of these parts and their management (design)
* Implementation – the design of specific building blocks (construction)
* Performance evaluation – the behavior study of the system (decorative treatment)
Computer Architecture Disciplines
* Hardware/software structure
* Algorithms and their implementation
* Language Issues and programming models
A Brief Architectural History of the Computer
Can we define the date of the computer “invention”?
A Brief Architectural History of the Computer – cont.
* The Abacus – 500 B. C. (Greeks and Romans Civilization)
The Roman Abacus Copy
Modern Abacus
A Brief Architectural History of the Computer – cont.
* Blaice Pascal, a noted French mathematician, invented a calculating machine (without constructing it) by 1642 (at the age of 19)
A Brief Architectural History of the Computer – cont.
In 1801, Joseph Marie Jacquard invented a loom that used punched cards
A Brief Architectural History of the Computer – cont.
* In early 1800s, Charles Babbage and Augusta Ada Byron (“the first computer programmer”) –mechanical calculating machine, called “analytical engine”.
A Brief Architectural History of the Computer – cont.
* In the same time – George Boole developed the binary theory (Boolean Logic).
* Relation of binary arithmetic with this logic made it possible implementing the modern electronic computers
A Brief Architectural History of the Computer – cont.
* In the later 1930, 1940 – “Mark I” was built by Howard H. Aiken (IBM) and another computer by Conrad Zuse (both with decimal numbers)
* In 1939 – ABC (Atanasoff & Berry Computer) a binary-based machine with vacuum tubes for switching
* Finally, between 1943-1946 the first all-electronic digital computer was developed (named ENIAC) by Mauchly & Eckert
The ENIAC
A Typical Computer System
Monitor
Speaker
Hard disk
Printer
CD-Rom
The Building Blocks – CPU
* CPU – Central Processing Unit consists of:
o ALU – Arithmetic and Logic Unit
o Set of registers (including program counter keeping the address of the next instruction to be performed)
o Control Unit – decoding instructions and controlling internal data movement among different CPU parts
o Interface Unit – moves data between CPU and other hardware components
o And more …
The Building Blocks: Memory
* The main memory – primary storage or RAM – Random Access Memory
o Holds data or a piece of a program code (instructions)
o Consists of a large number of cells, each individually addressable.
o Cell is called “byte” and consists of 8 bits (binary elements holding 0 or 1)
o Usually a word consists of 4 bytes.
o In most cases – volatile memory
* The multilevel cash – an intermediate stage between ultra-fast registers (inside CPU) and much slower main memory.
o Most actively used information in the main memory is duplicated in the cache, which is faster, but of much lesser capacity.
CPU – Memory Organization
Levels of Representation
Assembly Language Program
Machine Language Program
Control Signal Specification
Compiler
Assembler
Machine Interpretation
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
lw $to, 0($2)
lw $t1, 4($2)
sw $t1, 0($2)
sw $t0, 4($2)
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
°
°
High Level Language Program (e.g., C)
The Datapath example
Memory
I/O
HW Design Principles
* CISC vs. RISC
* Instructions directly executed by hardware
* Maximize instruction issue rate (ILP)
* Simple instructions (easy to decode)
* Access to memory only via load/store
* Plenty of registers
* Pipelining
Computing System
I/O system
Processor
Compiler
Operating
System
(Windows 98)
Application (Netscape)
Digital Design
Circuit Design
Instruction Set
Architecture
* Coordination of many levels of abstraction
Datapath & Control
transistors
Memory
Hardware
Software
Assembler
Operating System (OS)
User Interface (UI)
Application
Application UI
Kernel
File System
I/O drivers
Network
Modules
Operating System
* OS is a “broker” among the computer hw and the user applications
* OS itself is a software
* OS is usually stored on a hard disk
o the bootstrap or IPL (Initial Program Load) is stored within the non-volatile computer memory
Operating System – Multiprogramming
* A multiprogramming OS allows running many programs – each running program is referred as a process.
* The kernel creates a process by allocating
o some memory,
o loading program code from a peripheral storage into the newly allocated space,
o and starting its execution.
Operating System – Multiprogramming
* Each process is identified by its:
o PID,
o memory space allocated to it by the OS,
o location of the program code,
o last values of all the registers, a program counter, a stack
* A process may split itself into multiple ‘daughter’ sub-processes or threads that execute in parallel, running different instructions on much of the same resources and data. This is often done for GUIs (Graphical User Interfaces)
Operating System – Multitasking
* Multitasking – “parallel tasks executing”
* Control – the program access to the CPU and memory
* OS scheduler decides when to pass the control from one task to another
* Context-switch – control is passed to a process by the kernel
* Cooperative multitasking – each program that gets the CPU, runs until it decides to return the control to the kernel
* Preemptive multitasking – all programs are given regular time on the CPU
* A process may be blocked by referring to a peripheral device, then the control is taken from it by the kernel
Interrupts
* Interrupts are central to operating systems as they allow the OS to deal with the unexpected activities of running programs and the world outside the computer (what also?)
* When an interrupt is received, the HW suspends a currently running program by pushing the current state (including registers) on a process stack.
* Interrupts may come from either the computer’s HW, or from the running program. The OS kernel deals with each interrupt.
Operating System – Virtual Memory
* If a program tries to access memory that isn’t in its current range of accessible memory, but has been allocated to it, the kernel will receive an INT.
Operating System – Virtual Memory
* Under UNIX this kind of interrupt is referred to as a “page fault”.
o Then using a special table (“yellow pages”), the OS “finds” from where to load the needed “pages”
o Less recently used pages inside the memory then are thrown, and the needed pages are loaded instead of them – this process is called swapping
o Frequently used pages in the same memory are raised to the cash (the same process is repeated for the multilevel cash)
Operating System – Other Features
* Protected and supervisor modes of tasks executing
* File system management
* Networking
* I/O Drivers
* Users Administration
Popularity: 34% [?]
Incoming search terms:
introduction to computer ppt|computer hardware ppt free download|Computer introduction ppt free download|architic hard ware comptr|introduction to computers ppt free download|introduction to mobile hardware parts|memory ppt|operating system software ppt|powerpoint templates free for introduction to computing|ppt of memories in computer organisation||Tags: Brief Architectural History of the Computer, Central processing unit, Graphical user interface, IBM, Operating System, Random Access Memory



Good job. I’m definitely going to bookmark you!