Sunteți pe pagina 1din 14

COMPUTER ARCHITECTURE

Computers:
Computers are electronic devices, which accept data (input),
manipulate the date utilizing a series of instructions (output) and
produce an output (output), which is then stored in the computers
memory system (storage).
Sequential Computing:

Parallel Computing:

Different program components are


executed in sequence on all
processors. Data and instructions
are stored within the computers
memory.
Instructions are fetched from the
memory and decoded
Data is fetched from the
memory
Instructions are executed
Results are produced.

Simultaneous execution of the


same
programmed
task
on
multiple processors in order to
obtain faster results. There are
two main types:
Single Instruction Multiple Data
(SIMD):
The
processors
execute the same task at
the
same
time,
using
multiple data points
Multiple
Instruction/Multiple
Data
(MIMD):
Each
processors
executes
a
different instruction, using
multiple data points

Advantages Parallel computing provides a mechanism for


partitioning the overall problem into separate tasks and then executing
these tasks upon multiple processors.
Easy to design
Disadvantages Difficult to construct
Programs compatible with CPU systems are generally not compatible
with parallel systems.
Differences between Parallel and Sequential Computing:
Parallel computing is the simultaneous execution of the same task
upon multiple processors. Sequential computing is when different
program components are executed in sequence on all processors. The
programs for sequential computing are easier to design than the
program required by a parallel system.
Distributed/Grid Computing:
A single computational task is executed on multiple computers.
Distributed computing helps to solve massive computational
problems utilizing large numbers of heterogeneous computer
systems.
Increased reliability and performance.
Unused computational resources can be utilised to solve important
problems

Shared resources
SETI@home is a popular application
Cluster Computing:
A computing cluster is a group of computers connected to work
together in solving computational tasks. They appear as a single
computer to the user.
Advantages:
Increased reliability and performance.
Cheap and effective alternative to super computers.
Utilized in climate/weather modelling and drug discovery.
server farm
popular for computationally expensive scientific/business problems ie
earthquake
modelling,
climate/weather
modelling,
drug
discovery
Differences to distributed grid systems:
Computing Clusters are produced from dedicated hardware, whilst
distributed computers do not employ dedicated hardwares.
Embedded Systems:
Embedded systems are special purpose computers designed to
perform dedicated functions (with real time computing constraints)
utilizing firmware software. It is usually manufactured as part as of a
complete device including hardware and mechanical parts. They
control many of the common devices in use today.
Advantages:
Designed to perform specific tasks. The utilization of real time
computing constraints for safety and usability optimizes the system by
reducing size and cost, and increasing reliability and performance.
Disadvantages:
Reliability issues (inaccessible for repair), the system must be left
running otherwise large amounts of money will subsequently be lost.
Examples:
Audio ie MP3 players
Avionics ie Flight Control
Mobiles and telephone switches
Industrial controllers, engine controllers
Home automation products ie thermostats
Household appliances ie tv sets, washing machines
Medical equipment
Computer peripherals such as routers and printers
Characteristics:
Designed to do a specific task
Run with limited resources ie no screen or keyboard
Real-time performance constraints
Software is refered to as firmware
Complexity varies
Reliability:

Run continuously for years and recover by themselves if an error


occurs
Usually developed and tested more carefully than PC
Radio Frequency Identification:
Radio Frequency identification is a method of identification relying
upon storing and remotely retrieving data.
Components: RFIDs are composed of an integrated circuit (utilized
for modulation and demodulation, storing and processing data), and an
antenna which is employed for receiving and transmitting signals.
Chip less RFID; contains no integrated circuit. Printing these
identification tags upon assets lowers the overall cost.
Types of RFIDS: passive, active, semi-passive
Passive RFID: contains no internal power supply. Passive RFIDs are
only active when near to the receiver. The incoming radio frequency
induces an electric current within the antenna which provides enough
power to generate a response through the integrated circuit. As a
result of no internal power supply, passive RFIDs are smaller devices.
Active RFID: contains an internal power supply. Long battery life ( 10
years), Signal response generated by an active RFID is more reliable
than a passive RFID due to its ability to create sessions, longer range
than passive RFIDs.
Application of RFID:
Passports
Transportation payments
Product tracking
Animal Identification
Inventory Systems
Disadvantages:
Lack of standards, in compatible frequencies in different countries
Security concerns: Illicit tracking
Privacy concerns: gather data without consent

DIGITAL REVOLUTION AND NETWORK COMPUTING


Bits and Bytes:
Each individual 1 or 0 is called a bit, binary digit. A byte is a group of 8
bits.
Digitising Text:
The ASCII (American Standard Code for International Exchange )
initially employed a 7-bit representation of information which was then
increased to an 8 bit portrayal. Although this could represent most
text, all languages could not be supported. The introduction of
UNIcode, which utilizes a 16-bit representation of information can
support all languages (2^16).
Quantisation and Sampling Rate:
The sampling on an analogue signal at regular time intervals so as to
build a digital representation of the wave in the form of discrete
numbers (1s and 0s). The sampling rate for analogue to digital
conversion needs to be at least twice the frequency of the original
signal in order to produce an accurate representation of the waveform.
Sampling relies upon the accuracy of the value representation
(quantisation) and the regularity of sampling (how many sample rates
were employed). If the sampling rate is too low, audible or visual
effects may originate (aliasing).
Digital Images and Video:
The main aim id to divide an image in pixels and encode each pixel
using a 3 by 8-bit values, one for red, green, blue.
Compression to store and transmit images, otherwise takes too much
memory
Lossless Compression
PNG, TIFF etc, low compression rate unless image has many uniform
coloured areas
Most use sophisticated algorithms, but depend on redundancy
(repeated symbols) in the data
Lossy Compression (JPEG)
Uses the fact that the eye (and ear) cant distinguish fine detail
Encoding and Decoding
We encode human-understandable information into 1s and 0s for
computer processing and storage and then decode into human
understandable form later.
Information ENCODE File DECODING Information
The Internet
LAN-local area network
WAN- wide are network
Began in the 1960s with the DARPA
Uses point-to-point communication
Communication Types

SYCHRONOUS- Both sender and receiver are active at the same time ie
Telephone
ASYNCHRONOUS- the sending and receiving occur at different times ie
Email
BROADCAST- single sender sends information to many receivers,
multicasting is similar; normally receivers include a small subset of the
whole population
POINT-TO-POINT- single sender/single receiver ie telephone convo
How Does The Internet Work?
Each computer connected to Internet has IP address, containing 4
bytes
Internet Protocol Version 6- 16 byte IP-Address
Domain is related group of networked computers ie. .Edu, .org, .au
DNS- Domain Name System- translates human-readable names into
the 4-number IP address
Point-to-point communication- attach a destination address to every
message
IP packets (what your message is broken up into)- IP of the same
message may take different routes across the internet and then
reassembled to form original message- TCP/IP- Transmission
Control Protocol/Internet Protocol
How Does LAN Work?
Ethernet protocol is commonly used to connect computers in a LAN
Different to internet
Ethernet broadcast network for point-to-point communication.
Only one communication can take place at a time
Connecting A Computer to the Internet
When you connect your home computer to the Internet, it is assigned a
temporary IP address, using Dynamic Host Computer Protocol (DHCP),
until you log out. You can also assign a fixed IP address- although more
expensive.
Web Services
Is a software solution/service that could be accessed by a program
from anywhere on the internet
Accepts input in a predefined machine readable form, and sends
back an output in a predefined machine readable form.
Support application to application interactions over a network
Platform (linux) and language (VBA, Java) independent
Easy integration of disparate software solutions running under
different software/hardware environments ie link ready made
software solutions running under say Mac, windows platforms
Using web services, software developers could use existing software
solutions from anywhere on the internet
Ideal for software solutions that require specialised software
UDDI is a registry where individuals and businesses could list their
web services, providing details on what they do and how to use

them
Service-Orientated architectures (SOA)
Cloud Computing
Cloud computing is Internet-based computing, whereby users could
use shared computing resources on-demand, allowing flexibility
of usage.
The cloud computing paradigm shift is similar to the displacement of
electricity generators by electricity grids.
Often appear as single points of access for all consumers computing
needs
Benefits
Cloud computing users can avoid capital expenditure on hardware,
software, and services when they pay a provider only for what
they use
Low barriers to entry, low management overhead, immediate access
to a broad range of applications
Increased reliability, scalability, back up facility, security, agility etc
Device and location independence
Disadvantages
Privacy and security
Compliance with regulatory bodies of different countries
Possible use by hackers

Artificial Intelligence
Artificial Intelligence (AI)- the field of science devoted to making
computers perceive, reason, and act in ways that have, until now, been
reserved for human beings. Why do we want it?
Relieve our mental labour, just as machines relieved our physical
labour
Machines easier to use
Give insight into the workings of our own mind
May be able to amplify our own intelligence using AI
The Computer as a Universal Machine
Problems can be solved as algorithms- a simple series of easy steps
guaranteed to get a solution. They have the property of
INIVERSALITY- if a machine computes any algorithm, it will
compute all possible
Turning machine can compute algorithms
Turning Test
An interrogator sits alone in a room and types questions into a
computer terminal. The questions can be about anything. The
interrogator tries to guess whether those answers came from a
person or a computer on the other end of the wire
If a computer can answer well enough that it can not be decided
whether it is a machine or human, then the machine is
INTELLIGENT
Major Areas of AI
Expert Systems (knowledge based systems)
Machine Learning (data mining)
Natural Language Processing
Voice Recognition and Understanding
Artificial Vision
Robotics
Knowledge Representation and Reasoning
Rule-based Reasoning
Common method of reasoning and is easy to port to programs
Chaining
Forward Chaining: starts with facts or data and works towards an
outcome by linking rules
Backward Chinning: using same rules, starts with an outcome, and
reasoning backwards, you can determine cause
Expert Systems (knowledge based systems)
Basic components in problem solving are knowledge and expertise.
Typical characteristics of experts are:
Tend to be in a certain domain
Possess knowledge that is specific to this area

Expertise- ability to effectively apply learnt knowledge to solve a


particular problem
Expert systems, software designed to copy the decision-making
process of a human expert within a specific area. The main aim in
constructing expert systems is to allow computers to collect and
process human expertise. The process of building an expert system is
known as KNOWLEDGE ENGINEERING- adapting expert human
knowledge into a form, which can be used by computers.
Expert Systems in Automated Medicine
Consider MYCIN- one of the first medical expert systems. Like all
systems, MYCINS basic unit of knowledge is the rule
If
(1) the infection is primary-bacteria And
(2) the site of the culture is one of the sterile sites And
(3) the suspected portal of entry of organism is the gastrointestinal
tract
Then
There is suggestive evidence that the identity of the organism is
bacteroids
Use MYCIN by entering what information about the patient was
available from examinations, blood tests, microscopic work etc- This
data may trigger some of the rules. The results of these rules may
trigger in turn, others. This continues until there are no more possible
rules can fire. This could mean that the bacteria is recognised or more
tests need to occur.
Data, Information and Knowledge
DATA is a set of discrete facts about events or objects, often
unorganised
INFORMATION is created by aggregating data which helps in
understanding the data in our decision making process
Information becomes KNOWLEDGE
Knowledge is understanding information based on its perceived
importance. It is this not information which can lead to
competitive advantage in business
Types of Knowledge: explicit Knowledge VS Tacit Knowledge
Explicit: knowledge codified and digitized in books reports,
documents etc
Tacit: knowledge embedded in the human mind through experience
and jobs- not easy to codify
Have both been expressed in terms of knowing-how and knowingthat, respectively
Special techniques are needed to codify Tacit knowledge
Machine Learning
Machine learning is the ability of the machine to discover knowledge
from observations of the world
Interest is motivated by the desire to make computers think like
humans

Modelling the brain is beyond reach atm, however algorithms have


been made that are effective for certain types of learning tasks.
Several algorithms are currently being researched which include:
Decision Tree, Learning Set of Rules, Neural Networks,
Reinforcement Learning etc
Hearing, seeing and Understanding
An intelligent computer must adapt to its surroundings- must be able
to see and hear
Computer Vision is the capability of a computer to mimic the ways
the human brains process and interpret light waves to produce a
model of reality. Images from a camera must be used by the
machine to automatically construct and maintain a useful
representation of nearby objects or events.
Speech Recognition is the ability for the computer to recognise
speech as words
Natural Language Processing is the ability of a computer to build
knowledge representations corresponding to the meaning in
sentences made up of recognised words. This is difficult as
human language is very ambiguous, can be vague and depends
on common sense within the world
AI in Action: Kinect
Motion sensing input device
Uses infrared projector an camera and a special microchip to track
movement of objects and individuals in 3D
Can interpret specific gestures, making hands-free control possible
Users control and interact through a natural user interface using
gestures and spoken commands
AI in Action: Robotics for Precision Farming
Farming management concept based on observing and responding to
variations within a farm
Relies on new technologies such as GPS
Robotics could allow farmers to manage land down to a very small
scale
Analysing each individual spot where a seed should go
Inspect individual plants for disease and target certain areas with
different chemicals
Placing seed with correct depth with a probe
Robots work 24/7- they do not get tired
Brain Computer Interference (BSI)
Direct communication pathway between brain and external device
Computer programs translate signals received from neurons into
actions- they could direct external activity ie a prosthetic limb
Directed at assisting, augmenting, or repairing human cognitive or
sensory-motor functions
Currently, deliberate conscious thought is required to control BCI, in
the future it is expected to work effortlessly

Can Computers be Creative?


People often say that humans will be superior to computers as they
can only follow instructions. These though can get them to do clever
things. One is AARON. It uses thousands of rules of human anatomy
and behaviour to create drawings.
Decision Trees- basic Algorithm
Decision trees are constructed by iteratively (repeatedly) partitioning
the training data set into many subsets
The aim is to create subsets where a single subset contains cases
with one target value
In other words, we want to create subsets such that they are purer
(have less diversity) than the original data set
Measuring Purity- The term entropy (used in information theory)
indicates the impurity of an arbitrary collection of cases
Information Gain- measures the expected reduction in entropy
(impurity) when we partition S using an attribute A
At each step, the algorithm calculates information gain for every
attribute
The attribute that produces maximum information gain is selected
and the data set is partitioned using that attribute
The algorithm terminates if no attribute increase information gain
IN SUMMARY
AI is the business of making computers perceive, reason, and act in
ways that have, until now, been reserved for human beings
We want AI because it could relieve our mental labour, and make
machines easier to use. It could also help us understand our own
minds
An important part of AI is knowledge representation encoding
objects, events, situations and relationships in computerised
form. (using logic, rules, tree-structures or networks of tokens,
say).
The problems of of gathering, maintaining and applying knowledge
have not yet been completely solved
Machine learning is an area of AI that looks at techniques that will
allow computers to learn for themselves without the aid of a
human teacher - to experience life and to learn from it
An intelligent computer should be able to sense the world directly
and build and maintain its own representations of what it senses.
Machine vision would enable the machine see while speech
recognition would enable it to hear. However, the
representations also need interpretation (e.g natural language
understanding)
Even creativity is not out of the question for cleverly programmed
computers. New approaches to AI are still being discovered

COMPUTER SECURITY
Computer security- refers to protecting computer systems and the
information they contain against unwanted access, damage,
modification, or destruction. Computers use a variety of security
techniques to protect their systems. Reducing the risk of security
breaches is important and ensures that only authorised people have
access to computer equipment by using:
Something a user has: an ID card, a key etc
Something a user know: a password, an ID number etc
Something about a user: finger prints, voice print
Nowadays when computers are connected to the Internet and other
networks, its not enough to restrict physical access, but additional
security; methods such as a password are needed to restrict access to
remote systems.
Firewalls
The function of a firewall is to guard against unauthorised access to an
internal network, by passing information packets through one or more
security inspections.
Cryptography
Many organisations use secure communication channels to transfer
messages, but this impossible with the internet. The alternative is
using cryptography system. The process of scrambling messages is
called encryption, and the process of unscrambling is decryption.
Symmetric Secret Key Systems
This is the traditional kind of cryptography.
In this approach the sender and recipient use the same key, and they
have to keep there shared key secret from everyone else.
Biggest problem is KEY MANAGEMENT. If you want to communicate
with a variety of people, they all need different keys.
If you want to talk to someone new, a new key needs to be sent out
and this can be intercepted
Public Key System
Each person has two keys, a public key that is freely available and a
private key known only to the user.
Sending over the internet, a public key to encrypt the message and
then the private key to decrypt it.
Asymmetric system- a different key is used to encrypt from that used
to decrypt. Public keys can be published in phone directories,
web pages etc
The only keys sent over an insecure network are publically available
keys
Encryption using a Public Key System
- Anyone can encrypt using the public key, but only the private key can
decrypt. Secrecy depends on the security of the private key.

Hybrid Cryptosystems
Often public key algorithms prove computationally expensive, in
comparison with many symmetric key algorithms of apparently
equivalent security
Sometimes for efficiency, a symmetric secret key (session key) is
generated by a sender
This session (symmetric) key is then encrypted using a recipients
public key, and sent over an open network
Only rhe recipient is able to decipher the session key, and use it for
that session
Once all parties have obtained the session key, then they can use a
much faster symmetric algorithm to encrypt and decrypt
messages
Digital Signatures
Message authentication using a Digital Signature
You can use the same technology in reverse- encrypt with the private
key and decrypt with the public key. When decrypting messages
you can be sure that it was sent from a certain person on the
network. Using a private key to encrypt a message anyone can
check the signature using the public key. Validity depends on
private key security.
Digital Signatures
In the future- digital signatures- will be just as valid as handwritten
ones
To encrypt as well as authenticate a message, two steps are required:
1. First encrypt message using senders private key (authentication)
2. Encrypt the result using recipients public key (encryption)
Time stamping

Binds a time and date to a message- solves non-repudiation

Third party, time stamping agency, timestamps messages


Public Key Infrastructure
PUBLIC KEY INFRASTRUCTURE
Associates a public key with its owner, using a digital certificate
Digital Certificate

Issued by certification authority

Includes info ie name, public key, serial number etc


Some Certificate Authorities are Thawte, VeriSign
Periodically changing key pairs increases security
Security Protocol: Transport Layer Security
Secure Sockets Layer (SSL) and its successor, Transport Layer
Security (TLS), are cryptographic protocols which provide secure
communications on the Internet for such things as web browsing,
e-mail, ecommerce, etc

URLs that require SSL connection use https protocol. Look for a lock
icon at the bottom of your browser page for an https connection.
After an initial handshake (using PKI), messages (web pages, emails,
etc) are encrypted using a session key.
Protects information as it travels over Internet

Does not protect once stored on receivers server


Error Detection and Correction
Errors (misreading one or more bit values) occur in any data
transmission system
Algorithms exist for error detection and error correction
Are based on the idea of adding redundancy (more bits than are
needed to represent the data)
Detecting an error means the data can be resent

Packets lost or corrupted in TCP/IP

Product rescanned after bar code misread


Correcting an error using more redundancy is far better

Reliably reading a scratched CD

Obtaining images from a deep space probe

Getting data from an old archive


In all cases high error rates will result in data loss
Example 1: Parity Check
Parity checks were used in the simplest forms of serial
communication
Encoding algorithm is simple (only needs basic hardware):

add up the number of 1s in the message

if even, append a 1, otherwise append a 0

this is called odd parity (even parity is also used)


Error checking algorithm is very similar:

add up the number of 1s in the message (including the parity bit)

if odd, remove the last bit and accept the data

if even, reject the data


Parity checking can obviously detect a single bit error, but if two
errors occur (or 4 or any even number) the data will be wrongly
classified

ENGINEERING SOFTWARE
Computer Aided Design
CAD is an important tool in engineering which draws 2D and 3D
drawings with exact dimensions
Plans and models
3D modelling utilises newer rendering and visualisation algorithms
Supports standard object representations to allow sharing of
component designs
May be programmable
Goal is CAD/CAM (computer aided manufacturing)

CAD design data used directly to drive a CNC machine tool to


create a physical component
Most popular product:AutoCAD
Released 1982
Originally inputs were only text command-based, still persists as an
option
DWG industry standard file format
Since 2008 has adopted an Office ribbon style menu structure
Mathematical Modelling and Simulation
Maple and MapleSim
Core computations in Maple
MapleSim built on top for dynamic modelling
Mathematica
Symbolic package with visualisation language
More suitable for demos (layout code is cumbersome)
Other Specialised Software
Each engineering discipline represents a market for software to solve
problems specific to that domain.
Conclusion
Engineering use both general-purpose and specialised software,
according to need and availability
Packages assist in the design process by improving

Design times

How well engineers understand the problem and the selected


solution (through modelling)

Reliability of the design due to the inbuilt error checks

Design-to-manufacture processes (especially with CAD/CAM)


As with all design activities, whether planning or drafting or
programming or anything else