0% found this document useful (0 votes)
39 views24 pages

Course Objectives: Lojik Devreler 1

The document introduces the basic components of a computer system. It begins by explaining how simple controllable switches can be used to build logic gates. These gates can then be combined to perform operations like addition through circuits like half and full adders. Memory is introduced using feedback loops in circuits that can store data. Finally, the key components of a computer are listed as an ALU, instruction decoding circuits, memory, and a stored program that allows the computer to perform programmed operations on data stored in memory.

Uploaded by

Yavuz Cura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views24 pages

Course Objectives: Lojik Devreler 1

The document introduces the basic components of a computer system. It begins by explaining how simple controllable switches can be used to build logic gates. These gates can then be combined to perform operations like addition through circuits like half and full adders. Memory is introduced using feedback loops in circuits that can store data. Finally, the key components of a computer are listed as an ALU, instruction decoding circuits, memory, and a stored program that allows the computer to perform programmed operations on data stored in memory.

Uploaded by

Yavuz Cura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Course Objectives

To Understand how a simple computer works


Its hardware components
What they are built from
How to design them
Today
A grand overview
How have we been able to make a Machine that can do complex
things
Add and multiply really fast
Weather forecast, design of medicinal drugs
Speech recognition, Robotics, Artificial Intelligence..
Web browsers, internet communication protocols
Starting at (almost) the lowest level
Gates to Gates

Lojik Devreler

The Modest Switch

All these capabilities are built from an extremely simple component:


A controllable switch
The usual Electrical switch we use every day
The electric switch we use turns current on and off
But we need to turn it on and off by hand
The result of turning the switch on?
The top end in the figure becomes
raised to a high voltage
Which makes the current flow through the bulb

The Controllable Switch


No hands
Voltage controls if the switch is on or off
High voltage at input: switch on
Otherwise it is off

Lojik Devreler

Using the switch


Input

Output is high (voltage) if and only if


the input is high
Output
Now we can make one circuit control
another switch
Neat!

This is getting
boring..

Lojik Devreler

Lets use them creatively

Output is high if both the inputs


input1 AND input2 are high

Input1

Output

If either of the inputs is low, the


output is low.

This is called an AND gate


Input2

Now, can you make an OR gate with


switches?

Lojik Devreler

OR Gate

Input1

Output

Input2
Output is low if both inputs are low

I.e. Output is high if either of the inputs (or both) are


high (input1 OR input2)

Lojik Devreler

Basic Gates

There are three basic kinds of logic gates


Operation:

AND
of two inputs

OR of two
inputs

NOT
(complement)
on one input

Logic gate:

Two Questions:
How can we implement such switches?
What can we build with Gates? And How?

Lojik Devreler

How to make switches?

Use mechanical power


Use hydrolic pressure
Use electromechanical switches (electromagnet turns the switch on)
Current technology:
Semiconductor transistors
A transitor can be made to conduct electricity depending on the
input on the 3rd input
CMOS gates (actually, switches)
We can now manufacture millions of transistors on a single silicon chip!
So, switches and Gates are no
magic.
We believe they can be built
Two properties of Switches and Gates:
Size
Switching and Propagation delay

Lojik Devreler

A little bit about technology

Two properties of Switches and Gates:


Size
Switching and propagation delay
Smaller the size, smaller the propagation delay (typically)!
Smaller the size, cheaper the processor!
Silicon is sand anyway
But you can put more logic on a single chip
This nice positive feedback cycle has
Made processors faster and cheaper
Over the last 30 years! (1972: Intel 4004)
Before that: A processor was built with MANY chips

Lojik Devreler

What can we do with Gates?

What do you want to do?


Let us say we want to add numbers automatically
What are numbers? How are they represented
Roman XVII
Decimal: 17
How to add them, depends on how they are represented
One representation may be better than other for adding
Try adding two long roman numbers
Decimal is better but
We have only two values, high and low, in our gates
So,
Let us think about why decimal is better
And can we design a representation that allows us to use the
binary (hi/low) gates that we have.

Lojik Devreler

Decimal review

Numbers consist of a bunch of digits, each with a weight


1
6
2
.
3
7
5
Digits
100
10
1
1/10
1/100 1/1000 Weights

These weights are all powers of the base, which is 10. We can rewrite
this:
1
6
2
.
3
7
5
Digits
102
101
100
10-1
10-2
10-3
Weights

To find the decimal value of a number, multiply each digit by its weight
and sum the products.
(1 x 102) + (6 x 101) + (2 x 100) + (3 x 10-1) + (7 x 10-2) + (5 x 10-3) = 162.375

Now we can see why addition is easier with decimal system than
the roman system. The idea of positional weights and carry!

Lojik Devreler

10

Nothing special about 10!

Decimal system (and the idea of 0) was invented in India around 100500AD
Why did they use 10? Anything special about it?
Not really.
Probably the fact that we have 10 fingers influenced this
Will a base other than 10 work?
Sure: 345 in base 9 = 5 +9*4 + 92 *3 = 284 in base 10
Base 9 has only 9 symbols: 1, 2, 3, 4, 5, 6, 7, 8, 0
What about base 2? (1 and 0)
1101 in base 2: 1 + 2*0 + 4*1 + 8*1 = 13
Base 2 system will work for our gates!
Base 2 Addition:
1
0
0
1
1
Compare this with decimal addition

Lojik Devreler

11

Converting binary to decimal

We can use the same trick to convert binary, or base 2, numbers to


decimal. This time, the weights are powers of 2.
Example: 1101.01 in binary
1
1
0
1
. 0
1
Binary digits, or bits
23
22
21
20
2-1
2-2
Weights (in base 10)

The decimal value is:


(1 x 23) + (1 x 22) + (0 x 21) + (1 x 20) + (0 x 2-1) + (1 x 2-2) =
8
+
4
+
0
+
1
+
0
+ 0.25 = 13.25
Powers of 2:
20 = 1
24 = 16
21 = 2
25 = 32
22 = 4
26 = 64
23 = 8
27 = 128

28 = 256
29 = 512
210 = 1024

Useful abbreviations:
K = 210 = 1,024
M = 220 = 1,048,576
G = 230 = 1,073,741,824

Lojik Devreler

12

Binary addition example worked out

Some terms are given here


Exercise: what are these numbers equivalent to in decimal?

The initial carry


in is implicitly 0
1
+

1
1
1
1

most significant
bit (MSB)

1
0
1
0

0
1
1
0

1
0
1

(Carries)
(Augend)
(Addend)
(Sum)

least significant
bit (LSB)

Lojik Devreler

13

Doing addition with gates

Lets do simple stuff first:


Can we add two numbers each with just 1 bit?
Bit: binary digit
0+0 = 0, 0+1 = 1 , 1+0 = 1, and 1+1 = ???
2. But 2 is not a symbol.
10 (just as 5 + 5 is 10 in decimal)
Result is 0 with 1 carried over to the next bit..
Whats 1 and 0? High and low voltage respectively.
Half adder
Result
Carry

Lojik Devreler

14

Half adder: result

Result

This circuit is so common,


that it has a name an
symbol as a gate by
itself: Exclusive OR

Output is 1 iff
exactly one of the 2
inputs is 1
Exclusive OR

Lojik Devreler

15

Adding two bits

A half adder is used to add two bits.


The result consists of two bits: a sum (the right bit) and a carry out
(the left bit)
Here is the circuit and its block symbol

0
0
1
1

+0
+1
+0
+1

=0
=1
=1
= 10

Lojik Devreler

16

Adding three bits

But what we really need to do is add three bits: the augend and addend,
and the carry in from the right.
1
+

1
1
1
1

Cin

Cout

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
1
0
1
1
1

0
1
1
0
1
0
0
1

1
0
1
0

0
0
0
0
1
1
1
1

0
1
1
0

1
0
1

+0
+0
+1
+1
+0
+0
+1
+1

+0
+0
+0
+1
+0
+1
+0
+1

= 00
= 01
= 01
= 10
= 01
= 10
= 10
= 11

Lojik Devreler

17

Full adder circuit

Why are these things called half adders and full adders?
You can build a full adder by putting together two half adders.

Lojik Devreler

18

A 4-bit adder

Four full adders together can make a 4-bit adder


There are nine total inputs to the 4-bit adder:
two 4-bit numbers, A3 A2 A1 A0 and B3 B2 B1 B0
an initial carry in, CI
The five outputs are:
a 4-bit sum, S3 S2 S1 S0
a carry out, CO

Lojik Devreler

19

An example of 4-bit addition

Lets put our initial example into this circuit: A=1011, B=1110
1

1
1

1
0

Step 1: Fill in all the inputs, including CI=0


Step 2: The circuit produces C1 and S0 (1 + 0 + 0 = 01)
Step 3: Use C1 to find C2 and S1 (1 + 1 + 0 = 10)
Step 4: Use C2 to compute C3 and S2 (0 + 1 + 1 = 10)
Step 5: Use C3 to compute CO and S3 (1 + 1 + 1 = 11)
The final answer is 11001

Lojik Devreler

20

Now that we can add, how about some memory?

We want to save results computed before, and recall them in a later


calculation, for example
Gates help us build memory
How can a circuit remember anything on its own?
The values on the wires are always changing, as outputs are
generated in response to inputs.
The basic idea is feedback: we make a loop in the circuit, so the
circuit outputs are inputs as well
When S and R are 0, Q
is stable: whatever it
was, it stays in that
state. Ergo : memory.
When S is 1 and R is 0, Q becomes 1
Set and Reset inputs

When R is 1 and S is 0, Q becomes 0

Lojik Devreler

21

So, we have built a calculator


It is not a computer yet
We have to type each step into a calculator
Wed like to program standard steps
E.g. Add 57 numbers sitting in memory in specific places
Also, support other operations (subtract..)
Two things needed for this:
Addressable memory
Stored Program
Addressable memory
Memory organized in a bunch of locations, such that contents of specified

location can be brought back to the adder when needed.


Each memory location has an address (binary, of course)
Stored Program:
The instructions for which numbers to operate on, what operation to do
(add/subtract, ..) and where to store the result
The instructions themselves can be represented in binary and stored in the
memory!
The processor must have circuits to decode and interpret these instructions

Lojik Devreler

22

Components of a basic computer

Data

ALU
(Arithmetic/Logic Unit:
Basic operations

Memory

Program

Control and Decoding

Lojik Devreler

23

Summary

Controllable Switches are easy to make


These switches can be used to put together Logic Gates
Logic Gates can be put together to make half adder, full adders and
multi-bit adders
So we can see they can be used for other such circtuits as well
Logic Gates can be used to make circtuits that remember or store
data
A Computer includes, at its heart :
An ALU (Arithmetic Logic Unit)
Instruction Decoding and associated circuits
Memory
Stored Program

Lojik Devreler

24

You might also like