Computer Organization and Design Fundamentals by David Tarnoff is now available!

Although the set of notes you have requested is presented below, it has not been maintained since January, 2003. All of the information in these notes has been included in an on-line text titled Computer Organization and Design Fundamentals. The book is available in three formats, two of which are free electronic downloads. Please visit one of the following links in order to access the format you prefer.

Thank you for your interest in this textbook. Please feel free to e-mail me at tarnoff etsu.edu if you have any questions or comments.

-Dave Tarnoff

CSCI 2150
Digital Signals and Binary Numbers

Digital waveforms

Last period, we covered the differences between a real-world analog signal and the digital signals used by computers. Now we need to examine some of the different forms of digital signals.

As with analog signals, digital signals change with time. Transitions from logic '0' to logic '1' and vice versa represent changes in data values or act as stimulus to make something happen.

Positive-going pulse.

Waveform of a positive-going pulse


Negative-going pulse.

Waveform of a negative-going pulse


Non-Periodic Pulse Train

Most digital signals, the ones carrying data or otherwise communicating in an asynchronous manner, have no pattern to their changes between values. These are called non-periodic pulse trains.

<IMG SRC="nonperdc.gif" WIDTH=200 HEIGHT=100 usemap="#nonperdc" BORDER=0>

Waveform of a non-periodic pulse train


Periodic Pulse Train

Some signals act as a heartbeat to a digital system. They, for example, might say, "Every 1/100th of a second, the system needs to do this." Another example of a periodic signal can be found as the output of a cyclical event such as the output to an engine's spark plug. A sample is shown in the figure below.

<IMG SRC="periodic.gif" WIDTH=200 HEIGHT=100 usemap="#periodic" BORDER=0>

Waveform of a periodic pulse train


The defining characteristic of this type of waveform is that measuring between any two subsequent identical parts of the waveform results in the same value. This value is referred to as the period and it has units of seconds.

The period of a periodic waveform.

The period of a periodic waveform


There is a second method of measuring the periodic waveform and it is directly related to the period. This measurement is called frequency and it has units of cycles per seconds, also referred to as Hertz (Hz).

To convert the measurement of time for a period to the measurement of frequency in hertz, simply invert the period.

frequency in hertz =          1         
period in seconds

Example

If it takes 0.1 seconds for a periodic waveform to make a complete period, what is that waveform's frequency?

frequency in hertz =          1         
period in seconds
  
frequency in hertz =       1     
0.1 seconds
  
frequency in hertz =  10 Hz

Example

If a waveform has a frequency of 10 kHz (10,000 Hz), what is the duration of its period?

frequency in hertz =          1         
period in seconds
  
period in seconds =           1        
frequency in hertz
  
period in seconds =      1    
10,000 Hz
  
period in seconds =  0.0001 seconds = 100 microseconds

The last measurement of a periodic waveform is the duty cycle. The duty cycle represents the percentage of time that a periodic signal is a logic '1'. For example, the figure below, while it doesn't look very periodic, has a duty cycle of 100%, i.e., the signal is always a logic 1.

PWM signal at 100%.

On the opposite end of the spectrum, a constant logic 0 is a logic 1 0% of the time and therefore has a duty cycle of 0%.

PWM signal at 0%.

Somewhere in the middle is where most periodic signals fall. For example, if the digital signal is a logic 1 for 25% of the time and logic 0 otherwise, we get a signal with a 25% duty cycle.

PWM signal at 25%.

The measurements for the period and the pulse duration are represented with T and th respectively as shown in the figure below.

PWM signal at measurement labels.

In general, the formula for duty cycle is:

Duty Cycle =   duration of logic 1 in seconds (th
_____________________________________
  x 100%
period in seconds (T)

Timing Diagrams

Digital Signals in the Real-World

No signal is truly digital. A close examination of a digital signal reveals gradual transitions between logic 1 and logic 0 and vice versa.

The analog rise and fall of a digital signal.

The analog rise and fall of a digital signal


Single Logic Line

There are many ways to represent a digital signal over a period of time. The figure below represents a single line (a single switch with only two possible values, logic 1 and logic 0). The area between the horizontal hash marks on the rising and falling edges of the signal represent the period where the signal is undefined and in transition.

Representation of a single digital line.

Representation of a single digital line


Multiple lines (usually with the same overall function):

Sometimes, digital lines are grouped together to perform a single function. This circumstance may be represented with figures such as the one below.

Representation of multiple digital lines.

Representation of multiple digital lines


Alternatively, these multiple lines can be combined into a more abstract representation such as the one below.

Alternative representation of multiple digital lines.

Alternative representation of multiple digital lines


Basic Logic and Logic Operations

Logic Symbols

Below are the primary logic symbols used in digital design.

Basic logic symbols.

Basic logic symbols


Each of these symbols has one or more inputs (lines coming in from the left side) and one output (line exiting from the right). The symbols can be added together to create complex circuits. For example, adding a small circle to an input or an output of a logic symbol is identical to adding an inverter at that input or output.

Logic symbol with an inverter tied to the output.

Logic symbol with an inverter tied to the output


Logic 1's or logic 0's are sent into the inputs of these symbols, and by definition, a specific logic 1 or logic 0 is expected on the output. The following section describes which symbols have which outputs based on a certain set of inputs.

Truth Tables

Now, we need a method to represent how to combine two or more binary signals to produce an output or function. In general, a truth table shows the relationship between columns of inputs and their associated outputs.

Inputs Outputs
X X ··· X Y0
: :     : :
X X ··· X Yn

For example, the "NOT" gate shown above has one input and one output. Therefore, there is one column of inputs and one column of outputs. For single input, there are exactly two possible states: logic 1 and logic 0. Therefore, there will be two rows of data for the NOT truth table. That table is shown below.

Logic symbol for an inverter.
Inputs Outputs
A Y
0 1
1 0

The operation of the AND gate is such that its output is a logic 1 ONLY if both the inputs are logic 1. Otherwise the output is always a logic 0.

Operation of an AND gate.

Operation of an AND gate


With two inputs and one output, the AND gate's truth table will have two columns for inputs and one column for outputs. It is shown below.

Inputs Outputs
A B Y
0 0 0
0 1 0
1 0 0
1 1 1

Note that if input A is a logic 0, it doesn't matter what input B is, the output is always 0. Similarly, if input B is 0, A's state does not matter. These situations are called "don't cares" and are represented by the symbol X. Using don't cares, we can redo the truth table for the AND gate.

Inputs Outputs
A B Y
0 X 0
X 0 0
1 1 1

The OR gate's output is set to logic 1 if either of the inputs are 1. It is 0 ONLY when both inputs are 0. Its truth table is shown below.

Symbol for an OR gate.
Inputs Outputs
A B Y
0 0 0
0 1 1
1 0 1
1 1 1

The XOR gate's output is set to logic 1 if the inputs are different and 0 when the inputs are the same. Its truth table is shown below.

Symbol for an XOR gate.
Inputs Outputs
A B Y
0 0 0
0 1 1
1 0 1
1 1 0

Numbering Systems

If you have any confusion about binary, hexadecimal, or the conversion process between these numbering systems and decimal, you need to clear them up. If this set of note does not help, please see me during my office hours for further assistance.

Binary -- Basic Description

When we count in a decimal integer manner, we start with the first digit, the one's place, and count until we reach the limit, 9. At that point, we increment the next digit, the ten's place, reset the first digit to zero, and start the cycle again.

Binary counting is performed the same way, the exception being that decimal has ten numerals (0 through 9) and binary has two numerals (0 and 1).

Dec
Value
Binary Value
000000
100001
200010
300011
400100
500101
600110
700111
801000
Dec
Value
Binary Value
901001
1001010
1101011
1201100
1301101
1401110
1501111
1610000
1710001

Binary-Decimal Conversion

Going from binary to decimal is quite straightforward. First, find the bit positions of all the bits containing a 1. Note that numbering the bit positions begins with the rightmost bit as number 0.

Exponent/bit position (n)76543210
2 raised to the power of n1286432168421

Next, take the sum of 2 raised to the power of the bit-position for each position containing a 1. Since this last sentence could only have made less sense if it were written in Swahili, an example is shown below.

Example: Convert the binary value 110110100 to decimal.

Sample decimal to binary conversion.

Click here to see this same process done with a Flash 6 animation.

It is vital to remember when operating with a computer that only a finite number of bit positions will be available to store information. Therefore, it is important to know the maximum values that can be represented with a limited number of bits.

Maximum unsigned binary number represented with n bits = 2n - 1

Converting from decimal to binary is only slightly more complicated. As an example, we will convert the number 75.

Begin by finding the largest power of two that the number we are converting is greater than. Once you have done this, subtract that power of two from the original number and place a one in the bit position representing that power. In the case of 75, the largest power of two that 75 is greater than is 26 = 64. Therefore, we must place a one at bit position 6 and subtract 64 from 75.

Exponent/bit position (n)76543210
2 raised to the power of n1286432168421
Converted value 1      

Take the result of the subtraction, and repeat the above process. In the case of 75, 11 is the result of the subtraction. Therefore, 23 = 8 is the largest power of two that is still less than 11.

Exponent/bit position (n)76543210
2 raised to the power of n1286432168421
Converted value 1  1   

This cycle is repeated until the result of the subtraction is 0. Continuing with our example, the subtraction 11 – 8 results in a value of 3. 21 = 2 is the largest power of two still less than 3. Placing a 1 in bit position 1 gives us:

Exponent/bit position (n)76543210
2 raised to the power of n1286432168421
Converted value 1  1 1 

And lastly, 3 – 2 = 1 = 20, requiring us to place a 1 in the last bit position.

Exponent/bit position (n)76543210
2 raised to the power of n1286432168421
Converted value 1  1 11

Filling all of the blank bit positions with 0 gives us the converted binary number, 01001011.

Uses for Binary

The binary numbering system is vitally important to computer engineering, especially at the hardware level. Binary numbers are used for:

A Final Set of Binary Terms

As was indicated before, the number of each bit position of a binary value is equal to the exponent value represented by that position. Below are some terms that are also based on bit numbering/position: