Further Look at Data Handling. Communication and Standards

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

12/14/2014

311 - Computer Systems Engineering

Image taken from: www.skadate.com

Computer Bus Systems

Data Handling,
Communication &
Standards (A further
look)
Rukshan Siriwardhane

Bus Systems
Uni directional
E.g. Address bus

Bi Directional
E.g. Data bus, Control Bus

TriState/Three State bus


A three-state bus is a computer bus connected to multiple tri-state
output devices, only one of which can be enabled at any point to
avoid bus contention. This scheme allows for the same bus to be
shared among multiple devices.
Read more on tri-state buffer at:
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/CompOrg/tristate.html
3

What is a Computer Bus?


a set of physical connections which can be
shared by multiple hardware components in
order to communicate with one another.
the metaphor of a "data highway" is
sometimes used.
Read further on:
http://en.kioskea.net/contents/375-what-is-a-computer-bus
2

VMEbus (VersaModular Eurocard bus)


A bus standard, originally developed for the Motorola
68000 line of CPUs
Used in traffic control systems, weapons control systems,
telecommunication switching systems, data acquisition,
video imaging, and robots
Ideal for harsh environments
withstand shock, vibration, and extended temperatures

Read more at:


http://whatis.techtarget.com/definition/VMEbus-VersaModularEurocard-bus
4

12/14/2014

IEEE 796/ multibus


The Multibus standard was originally
developed by Intel. It specified four busses
the Multibus System Bus
the I/O Expansion Bus (iSBX)
the Execution Bus (iLBX)
the Multichannel I/O Bus.
The multibus system bus was adopted as IEEE 796,
and the iSBX bus was adopted as IEEE P959.
5

IEEE 796/ multibus


Multibus is an asynchronous bus that accommodates
devices with various transfer rates while maintaining
maximum throughput.
It had 20 address lines so it could address up to 1
Mb of Multibus memory and 1 Mb of I/O locations.
Multibus supported multi-master functionality that
allowed it to share the Multibus with multiple
processors and other DMA devices.
6

Bus Systems

Bus Systems

Bus Arbitration

Bus Arbitration

Question: 1
a) Explain what is meant by bus arbitration.
b) Describe different categories of bus arbitration

The process used to determine which device should be


in control of the bus.
In systems with more than one master device, bus
arbitration is required. Bus arbitration schemes must
provide priority to certain master devices and, at the
same time, make sure the lower priority devices are nit
starved out.
Bus arbitration schemes fall into four categories.

12/14/2014

Bus Systems
Distributed using self-detection:
Daisy chain: Uses a grant bus
Similar to centralized arbitration but
control line that is passed down
instead of a central authority
the bus from the highest priority
selecting who gets the bus the
device to the lowest priority
devices themselves determine who
device. Fairness is not ensured
has the highest priority and who gets
and it is possible that low
the bus.
priority devices are starved out
and never allowed to use the
Distributed using collisionbus. Simple but not fair.
detection: Each device is allowed to
make a request for the bus . If the
bus detects any collisions, the device
Centralized parallel: Each
must make another request. (e.g.
device has a request control line
Ethernet)
to the bus and a centralized
arbiter selects who gets the bus.
Bottlenecks can result using
9
this.

Interrupts
Question: 2
Describe using diagrams how an interrupt is serviced in a
computer.

10

Interrupts

Interrupts

Vectored Interrupts

Priority Levels

I/O interrupts that tell the interrupts handler that a request for
attention from an I/O device has been received and also identifies
the device that sent the request.

The interrupt priority defines which of a set of pending interrupts


is serviced first. There are 4 classes of priorities for bus
interrupts. Other interrupt priorities are reserved for base kernel.
A device's interrupt priority is selected based on two criteria: its
maximum interrupt latency requirements and the device driver's
interrupt execution time. If an interrupt is not serviced in this
latency, some event is lost or serious performance degradations
occur.

Polled Interrupts
I/O interrupt that notifies the interrupt handler that a device is
ready to be handled (read or otherwise) but does not indicate
which device. The interrupt controller must poll (send a signal
out to) each device to determine which one made the request.

11

Read more on interrupts at:


http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ib
m.aix.kernelext%2Fdoc%2Fkernextc%2Finterrupts.htm
12

12/14/2014

Data Acquisition Systems

Computer Peripherals
Characteristics and Operating Principles
http://www.lintech.org/comp-per/index.html

Products and/or processes used to collect


information to document or analyze some
phenomenon.
In the simplest form, a person logging the
temperature of an oven on a piece of paper

14

13

Data Acquisition Systems

Data Acquisition Systems

With the use of electronic equipment, these


types of processes have been simplified and
made more accurate, versatile, and reliable.
Equipment used range from simple recorders
to sophisticated computer systems.
Data acquisition products tie together a wide
variety of products
sensors that indicate temperature, flow, level, or pressure.
15

16

Extracted from: http://www.omega.com/techref/pdf/dasintro.pdf

12/14/2014

Data Acquisition Systems


Analog-to-digital converter (ADC)
An electronic device that converts analog
signals to an equivalent digital form. The
analog-to-digital converter is the heart of
most data acquisition systems.

Analog to Digital Converter (ADC)


World is not a digital environment of absolutes. The
electrical signals of the real world are not made of
logical highs and lows, or zeros and ones. These
signals are analog and measurable within a range of
voltages or currents.
Consider a simple voltage-input ADC.
VRef

Digital
Output

ADC
VIN

17

Analog to Digital Converter (ADC)


The reference voltage is the maximum value that the
ADC can convert. Our example 8-bit ADC can
convert values from 0V to the reference voltage.
This voltage range is divided into 256 values, or
steps.
The size of the step is given by: VRef / 256
e.g. For a 5V reference, the step size is:
5V/256 = 0.0195V or 19.5mV
19

18

Analog to Digital Converter (ADC)


The most significant bit of above 8-bitword indicates
whether the input voltage is greater than half the
reference (2.5V, with a 5V reference). Each
succeeding bit represents half the range of the
previous bit.
Bit:
Volts:
Output
Value:

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

2.5

1.25

0.625

0.3125

0.156

0.078

0.039

0.0195

Adding the voltages corresponding to each set bit in 0010 1100, we get:
.625 + .156 + .078 = .859 volts
20

12/14/2014

Analog to Digital Converter (ADC)


The resolution of an ADC is determined by the
reference input and by the word width. The resolution
defines the smallest voltage change that can be
measured by the ADC.
As mentioned earlier, the resolution is the same as the
smallest step size, and can be calculated by dividing the
reference voltage by the number of possible conversion
values.
In our above example, the resolution is 19.5mV.
i.e. any input voltage below 19.5mV will result in an output of 0.
Input voltages between 19.5mV and 39mV will result in an output of 1.
21
Between 39mV and 58.6mV, the output will be 2.

Digital to Analog Converter (DAC)

Analog to Digital Converter (ADC)


Resolution can be improved by
Reducing the reference input.
Limitation..?

Using an ADC with more bits.

Types of ADCs

22

Flash ADC
Successive approximation converter
Sigma-delta
Read more at:
http://www.eetimes.com/document.asp?doc_id=127697
4

Digital to Analog Converter (DAC)

The digital data may originate from a


microprocessor, application-specific integrated
circuit (ASIC), or FPGA (field-programmable
gate array), but at some point requires conversion
to an analog signal to have impact on the real
world.
Whether the system uses an audio amplifier, an LED
indicator, or a motor driver, the final signal will be
analog in nature.
23

24

12/14/2014

Digital to Analog Converter (DAC)

Digital to Analog Converter (DAC)

The diagram shown is a 4-bit parallel-input DAC


With a 4-bit DAC, there are 24= 16 possible input
data codes as shown on the table first column.
DACs have an analog reference (VREF), along with
power supply (VA), and an analog output.
In many cases, the reference and supply voltages
may be the same, and therefore the DAC will have
a single pin for both functions. Also, the reference
can be a voltage or a current, depending on DAC
design.

The DAC multiplies the input data code by the


reference to generate the analog output.
So the DAC is the opposite function of ADC, which is
a divider to convert an analog input into digital bits.
The DAC can have a voltage or current output,
depending on design. Current output DACs are well
suited for high frequency applications and in
applications that may require more precision.

25

26

Digital to Analog Converter (DAC)

Digital to Analog Converter (DAC)

Consider the diagram above is a voltage-output DAC


The Least Significant Bit (LSB) is the rightmost bit of
the data code and represents the smallest value in a
digital code and the Most Significant Bit (MSB) is the
leftmost bit of the data code and also represents the
half-scale value.
As you can see on the table, the LSB (0001b)
represents 0.3125 V. The LSB value is determined by
the basic equation below:

The LSB value is determined by:


LSB Value = G x VREF / 2N ; G = Gain = 1 for an ideal DAC
The basic transfer function:
DAC Output = G x DIN VREF / 2N

27

With a DIN of 1111, the DAC output = 1 x 15 x 5 / 24


= 4.6875 V

28

12/14/2014

Digital to Analog Converter (DAC)


Digital to Analog Converter (DAC)
Monotocity
the condition in which the DAC transfer functions slope does not change

Resolution
refers to number of bits, and with the analog reference, determines
granularity of the signal conversion. Resolution also refers to the output
value representing one LSB.

Settling Time
the time from a change in the input code until the DAC output signal is
generated and remains within specified output range.

Read more at:


http://www.analog-eetimes.com/en/bridging-the-divide-part-1-dacintroduction.html?cmp_id=71&news_id=222900832
29

Data Acquisition Systems - Contd.

30

Data Acquisition Systems - Contd.

Differential Input
Refers to the way a signal is wired to a data acquisition
device.
General Purpose Interface Bus (GPIB)
Synonymous with HPIB (for Hewlett-Packard), the standard
bus used for controlling electronic instruments with a
computer. Also called IEEE 488 in reference to defining
ANSI/IEEE standards.
Resolution
The smallest signal increment that can be detected by a data
acquisition system. Resolution can be expressed in bits, in
proportions, or in percent of full scale

RS232
A standard for serial communications found in many data
acquistion systems. This is the most common serial
communication.

31

32

only supports communication to one device connected to the bus at a


time, transmission distances up to 50 feet.

RS485
Another standard for serial communications.
- Not as popular as RS232, supports communication to more than one
device on the bus at a time, supports transmission distances of
approximately 5,000 feet.

12/14/2014

Data Acquisition Systems - Contd.


Sample Rate
The speed at which a data acquisition system collects data.
The speed is normally expressed in samples per second. For
multi-channel data acquisition devices the sample rate is
typically given as the speed of the analog-to-digital
converter(A/D).
Single-ended Input (SE):
Refers to the way a signal is wired to a data acquisition
device. In single-ended wiring, each analog input has a
unique high connection but all channels share a common
ground connection.
Read more at:
33
http://www.omega.com/prodinfo/dataacquisition.html

Computer Interfaces
Interface Requirements
To communicate between two different systems
Hardware/Software/Human-Computer
Read: The Best Computer Interfaces: Past,
Present, and Future
http://www.technologyreview.com/news/412880/the-best-computerinterfaces-past-present-and-future/

34

Computer Interfaces
Command line

Computer Interfaces
Command line

This is a text-based interface. There is usually a "prompt"


from the operating system signifying that it is ready for a
command from the user. In DOS, the prompt is usually
"C:>" ( ), where C: indicates the default drive (the drive
that will be used unless the user changes it), and >
indicating to type the command to the right. Note that this
means that the user must know the correct command, and
spell it correctly.

35

The computer does not display what it can do; instead,


the user must know the commands.
To get the computer to do something, the user types in
the name of the appropriate command.
Just the command is not enough; the computer does
nothing until the command is entered with the <Enter>
key.
If the command is mistyped the computer may not be
very helpful.
36

12/14/2014

Computer Interfaces
GUI Graphical User Interface
The computer displays actions and files using
letters/menus and icons.
To get the computer to do something, the user
selects the words or icons. This requires only
that the user know what s/he wants to do when
face-to-face with it, and an icon can hint at
what the computer will do when activated.
37

Computer Interfaces
Agent-based interface
The software agent is a virtual assistant
Suggests/asks/reminds what to do
Takes commands, executes them, reports back
with results
E.g. Siri in iOS
Read more on Usability:
http://www.usabilitypost.com/2009/04/15/8-characteristics-ofsuccessful-user-interfaces/
38

Computer Interfaces

Computer Interfaces
Programmable Interfaces
Interfaces that can be configured to get the desired
functionality by the user
May be Software or Hardware
Setting up a router, Timer on a pedestal fan

39

40

10

12/14/2014

Real-time computing (RTC)


Hardware and software systems that are subject
to a real-time constraint
e.g. operational deadlines from event to system
response. (airplane engine failure, anti-lock brakes)
Real-time programs must guarantee response within
strict time constraints
Real-time responses are often understood to be in the
order of milliseconds, and sometimes microseconds.
41

Real-time computing (RTC)


Real-time systems, and their deadlines, are
classified by the consequence of missing a
deadline.
Hard
Missing a deadline is a total system failure. (e.g. pacemakers, car engine
control)

Firm
Infrequent deadline misses are tolerable, but may degrade the system's
quality of service. The usefulness of a result is zero after its deadline.

Soft
42

X.25

Real-time computing (RTC)


Real-time systems should not be misunderstood
with high-performance systems
Recommended Reading: Wikipedia article
http://en.wikipedia.org/wiki/Real-time_computing

The usefulness of a result degrades after its deadline, thereby degrading


the system's quality of service. (live video feeds, updating flight plans)

X.25 is an ITU-T standard protocol suite


for packet switched wide area
network (WAN) communication.
X.25 has been, to a large extent, replaced by
less complex protocols, especially the IP
Recommended Reading: Wikipedia article
http://en.wikipedia.org/wiki/X.25

43

44

11

12/14/2014

Token Bus

Token Bus

Token bus is a network implementing the token


ring protocol over a "virtual ring" on a coaxial cable.
A token is passed around the network nodes and only the
node possessing the token may transmit. If a node doesn't
have anything to send, the token is passed on to the next
node on the virtual ring. Each node must know the address
of its neighbor in the ring, so a special protocol is needed
to notify the other nodes of connections to, and
disconnections from, the ring.

45

46

Channel access method


Find out on:
Frequency Division Multiple Access (FDMA)
Time division multiple access (TDMA)
Packet mode multiple-access
Code division multiple access (CDMA)/Spread
spectrum multiple access (SSMA)
Space division multiple access (SDMA)

47

If a node doesn't have anything to send, the token is


passed on to the next node on the virtual ring. Each node
must know the address of its neighbor in the ring, so a
special protocol is needed to notify the other nodes of
connections to, and disconnections from, the ring.

Modems
A modem (modulator-demodulator) is a device that modulates
an analog carrier signal to encode digital information, and also
demodulates such a carrier signal to decode the transmitted
information. The goal is to produce a signal that can be
transmitted easily and decoded to reproduce the original digital
data. Modems can be used with any means of transmitting
analog signals, from light emitting diodes to radio. The most
familiar example is a voice band modem that turns the digital
data of a personal computer into modulated electrical signals in
the voice frequency range of a telephone channel. These signals
can be transmitted over telephone lines and demodulated by
another modem at the receiver side to recover the digital data.
48

12

12/14/2014

Network Operating Systems


An operating system implemented orienting to facilitate
computer networking. i.e. Software that enhances a basic
operating system by adding networking features

Network Operating Systems


Recommended Readings

E.g. OS that runs on a server and enables the server to manage


data, users, groups, security, applications, and other networking
functions.
A Network OS is designed to allow shared file and printer
access among multiple computers in a network, typically a local
area network (LAN), a private network or to other networks.
Example NOSs: Unix/Linux, Mac OS X Server, Netware, Windows

http://developer.juniper.net/shared/jdn/docs/white_papers/JunosSD
K_WhitePaper_JunosOS.pdf
http://computernetworkingnotes.com/comptia-n-plus-studyguide/network-operating-systems.html

49

50

Question 3
a) Convert the following signed decimal numbers to twos
complement numbers
I. 79
II. -1345
III.-67
b) Convert the IEEE 32 bit floating point number
7665000016 to decimal
c) Convert 39887.562510 to IEEE 32-bit floating point
format

Question 4
a) What is meant by
I. Micro-kernal architectures
II. Monolithic kernel architectures

51

52

b)
c)

Explain 3 operating system services.


Describe the tasks of following programming tools
I. Assemblers
II. Link Editor
III. DLL

13

12/14/2014

Question 5
a) What are the phases of Program Compilation? Explain
providing examples.

53

The End

54

14

You might also like