You are on page 1of 19

Computing

for M.Sc. Programme


By:
Dr. Musbah Mohammed Elahresh
Associative Professor in Fault
Tolerant Computing
( Part I )
Course Curriculum
• Part I: Definitions and Terminologies
Computing Importance and role, Software components, hardware
components , processors and controllers ,Systems classifications
• Part II: Data in Programming
Nature of Data, Data Sources, Types of data, Data acquisition and
conditioning. Data storing, memory organization, data handling and
memory management, Data manipulation, data processing.
• Part III: Data Organization and Utilization
Variables, data structures, Abstract data types, samples of commonly
used data structures, Sorting algorithms, Searching algorithms.
Program modules and functions.
• Part IV: Simulation and Emulation
Simulation concepts and requirements, Emulation concepts and
requirements, simulation versus emulation in practice. Introduction to
MATLAB. MATLAB organization. Working with MATLAB tool boxes.
References
1. “Data Structures and Algorithms Analysis”; Mark Allen Weiss, 2 nd Edition , the
Benjaming community.
2. “Essential MATLAB for Engineers and Scientists”, 3rd Edition , H. Elsevier.
3. “Interactive Programming Environments”; David R.B. – 1986
4. “Computer System and Software Engineering”; P. Dewilde – 1992
5. “Computer Algorithms: design and analysis”; Sara Baase; 2 nd edition 1988
6. “Data Structure and Algorithm Analysis”; Mark A. Wess
7. “Data Structures and Algorithms”; A. K. A.
8. “Algorithms and Data Structures”; C. F. B.
9. “Data Structures and Program Design in C”; R. Kruse, C. Tando.
10. “Data Structures Using C”; A. T, Y. L., Moshe A.
11. “Computer Architecture and Organization”; John P. Hayes; 2nd Edition.
12. “The Intel Microprocessors 8086/80286 .../Pentium Pro processor:
Architecture, Programming and Interfacing”, Barry B. Brey , 5th Edition 2000.
Computing

Part I
Definitions and Terminologies
Computing Importance and role
• Computer becomes today the hearth of most
electronic systems.
• Computation = Evaluation + Calculation +
Assignment : X = A + B
> Evaluation: getting data from memory/device
> Calculation: performing ALU operations
> Assignment: putting the results back to
memory/device
• Thus ; Computer= Memory + CPU (ALU + CU)
Cont.
• What is computing ?
It is the task done by the computer: It involves problem solving by
developing computer algorithms and using the proper hardware
infrastructure.
• Computing requires:
- Infrastructure --- Hardware
- Programming --- Data + Operations (algorithms)
• Problem: Informatics, Scientific, Engineering, Physical.
• Data stored in memory and processed by the CPU must be in a
Digital Form for any kind of a problem:
Digital Form means the data is represented by numbers in one of
computer numbering systems (Binary, Hexa, Octal, Binary-Coded
Decimal BCD, Extended BCD : EBCD, …).
Cont.
• For information processing systems, each piece of data
(numbers, letters, special characters, …) is assigned a unique
code (numerical value from the numbering system used)
forming an ASCII code table ( American Standard Code for
Information Interchange ) fixed and known for all people and
computers in the world !
• For no Information system that processes real-world data like
control and communication systems; the data must be first
converted from its analog form to a digital form to be
understood by the computer. This conversion is done by
sampling and quantization :
Digital Signal = Discrete & Quantized Signal
Cont.

Process
Input ( Computing ) Output

real- world real- world


Signal Data Program Data Signal
conversion structures modules structures conversion

event digital data digital data action


data acquisition
Software components
• maps hardware components as functionalities. Each utilizes specific HW
component; e.g. data structure utilizes main memory.
Reflect the software structure, tasks, not all exist, may repeated,
overlapped, duplicated Algorithm

Communication Data Structures Database/Files

I/O System

User
Software Development
• Online programming: the host is a target means a program
is developed, debugged tested and executed on the same
computer (also called interactive ).
• Offline programming: the host is not a target means the
program is developed and debugged on one computer but
tested and executed on another computer (may be with
different architecture)
• For the second approach, Simulation packages are needed
for developing and debugging and Emulation is required for
real testing and execution.
Software Development cont.
Host Target

Syntax and linkage errors

Object modules

Memory

Editor Translator Linker Loader


CPU

I/O

Programmer Source program Object program Executable program


Hardware components
• A Computer System consists of :
Von Neuman Architecture, DMA architecture (MM in Middle),
DSP architecture, Main Memory

Pipeline ,RISC
Distributed, CISC
Input Central Processing Unit Output
Devices CPU Devices

each part needs


electronic part Auxiliary
Memory interface. Driver
= Computer needed for physical ones
Processors and Controllers
• A processor is only a CPU without a main memory: a processor
= ALU + CU where :
ALU is an Arithmetic and Logic Unit that performs the
calculations, and CU is a Control Unit synchronizes the flow of
data and generates the CPU commands.
• A Computer consists of a CPU and a main memory. It is the pure
electronic part of a computer System.
• A Computer System is a computer with input and output
devices to interact with the outside world plus optionally an
auxiliary memory for permanent data and programs storing. It is
a stand alone system also called a general purpose computer
system.
Cont.
• A Computer-based System: It is a computerized system
where a computer is a part (module) from the whole
system in which it dose the computation ; like a smart
control system, power station control system, radar
system …etc. It is also called a special purpose
computer or Embedded computer.
• A Digital System: is the system that uses digital
information or digital components or both. It could be a
computerized system (if computation is needed) or
plain-logic (like ATM state machines) otherwise.
• A Controller: is a processor with main memory on-chip
plus some I/O ports and devices with interfaces.
Cont.
• Micro processor: is a processor (CPU) built in one chip (it may
include on-chip cache for speed enhancement)
• Micro Computer: is a computer built around a microprocessor.
• Micro controller: is a processor with on-chip main memory
and I/O ports and devices
• Mini processor: is a processor built with many separated chips
(bit slices). An hence come minicomputers and controllers.
• Processing enhancement techniques include:
- data structures (on your hand) - cache memory - inst.
Queues- inst. Pipeline - …….
Systems classification
Digital vs. Analog Systems:
Analog System= analog input
Information
analog process, analog output
System
Classical control uses analog
components while digital control uses
computer
Control
or plain logic and the Digital
System
Communica
same is applied to system tion System

digital communication.
These three systems are interrelated.
Digital system= process is digital, input and
output have to be converted if originally analog.
Cont.
• When to use a computer ?
Whenever computation is required in the
target system:
> Information Processing System
> Control System
> Communication System
> Other Systems where the nature of input
and output data from the system domain
characterizes the system type.
Cont.
• Therefore: A digital system involves a computer (or a controller or
plain logic) in its core process and operations.
• Computer requires programming in order to perform the
intended task. Computing is needed whenever a computer is
used in a digital system.
• Involving the computer in the system is Computerizing the system
while programming that computer to perform the task is
Computing.
• A Program manipulates the collected Data and performs the
required Operations to produce the expected output.
• Data structures: known methodologies to organize the data in an
engineering manner to obtain a best performance for data
manipulation: execution speed + memory utilization + optimum
manipulation of data.
Q & A

END OF PART I

You might also like