Computer Architecture Notes For ENGG1811
Computer Architecture Notes For ENGG1811
Computer Architecture Notes For ENGG1811
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:
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:
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
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
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
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)
Design times