Introduction To Hardware Architectures
Introduction To Hardware Architectures
Introduction To Hardware Architectures
& Programming
Concepts
(BCE05103)
Unit 1
Introduction to Hardware Architecture and Programming Concepts
AIM:
To equip students with the hardware architecture and the basic concepts of
programming.
2
Introduction to Hardware Architecture and Programming Concepts
Objectives:
3
Introduction to Hardware Architecture and Programming Concepts
Outcome:
• Define microprocessor.
• Classify the structure of microprocessor.
• Use different microprocessor based on its application.
• Differentiate the different system software's.
4
Introduction to Hardware Architecture and Programming Concepts
Contents
1. PC Components.
2. Microprocessor – history of microprocessors, transistor, IC, evolution of microprocessors.
3. Microcontrollers – history .
4. System software and machine architecture, simplified instructional computer (SIC).
5. Assembler, loader, linker, macro processor, compilers.
5
PC Components
6
PC Components
PC Components
A computer system is a collection of electronic and mechanical devices operating as a
unit. These devices can be sorted according to the role they play in the computer system.
The main device categories are:
• Input devices These devices are used to get data into the computer system
• Processing devices These manipulate the data using to a set of instructions
called a program
• Output devices These are used to get data out of a computer system
• Storage devices The can store the data for use at a later stage
• Communications devices These can send the data to another computer system
9
PC Components
10
PC Components
• 1 System Unit The container for the motherboard, disk drives etc.
• 2 Monitor The main output device for the system.
• 3 Keyboard The main input device for the system
• 4 Mouse An input device allowing interaction with the system using pointing and clicking
• 5 Speakers Used to output sounds and music from the system
11
PC Components
The term software is used to describe computer programs that perform a task or tasks on a
computer system. Software can be grouped .
12
Microprocessor – history of microprocessors,
transistor, IC, evolution of microprocessors
13
14
15
16
17
18
Microprocessor
20
History of Microprocessor
21
Transistor
22
History of Microprocessor
23
History of Microprocessor
24
IC
25
IC
26
Types of IC
• Like electronic circuit, ICs can also be categorized as digital IC and analog
IC based on their applications.
• Analog IC
In this type of ICs, the input and output both signals are continuous. The
output signal level depends upon the input signal level and the output signal
level is a linear function of input signal level. Linear ICs or analog ICs are
most commonly used as audio frequency amplifier and radio frequency
amplifier.
Op amps, voltage regulators, comparators and timers are also well-known
examples of linear ICs or analog ICs.
27
Types of IC’s
• Digital IC
• The logic Gates, such as AND gate, OR gate, NAND gate, XOR gate, flip
flops, counters; microprocessors are some well-known examples of digital
ICs. These ICs operate with binary data such as either 0 or 1. Normally in
digital circuit, 0 indicates 0 V and one indicate +5 V. The main components
of an IC are transistors. These transistors may be bipolar or field effect
depending upon the applications of ICs. As the technology is improving
day by day, the number of transistors incorporated in a single IC chip is
also increasing. Depending upon the number of transistors incorporated in
a single chip, the ICs are categorized in five groups
28
• Small Scale Integration (SSI) where the number of transistors incorporated
in a single IC chip is up to 100.
• Medium Scale Integration (MSI) where the number of transistors
incorporated in a single IC chip is from 100 to 1000.
• Large Scale Integration (LSI) where the number of transistors incorporated in
a single IC chip is from 1000 to 20,000.
• Very Large Scale Integration (VLSI) where the number of transistors
incorporated in a single IC chip is from 20,000 to 10,00,000.
• Ultra Large Scale Integration (ULSI) where the number of transistors
incorporated in a single IC chip is from 10,00,000 to 1,00,00,000.
29
Evolution of Microprocessor
30
Microcontrollers – history
31
Microcontroller
33
Microcontroller history
• Intel Microcontrollers
• Intel also created many significant microcontrollers besides producing the world’s first ever
microprocessor.
• The important ones produced by Intel are the 8048 and the 8051 microcontrollers.
• 8048 was introduced in 1976 and was the first of Intel’s microcontrollers. It was used as the
processor in the PC keyboard of IBM.
• The 8051 microcontroller was introduced in 1980 and is one of the most popular
microcontrollers. It is even used now and is considered to be one of the most long-lived
microcontrollers
34
Microcontroller history
35
Microcontroller history
36
Microcontrollers – history
• The first microprocessor was the 4-bit Intel 4004 released in 1971, with the Intel 8008 and
other more capable microprocessors becoming available over the next several years.
However, both processors required external chips to implement a working system, raising
total system cost, and making it impossible to economically computerize appliances.
• One book credits TI engineers Gary Boone and Michael Cochran with the successful
creation of the first microcontroller in 1971. The result of their work was the TMS 1000,
which became commercially available in 1974. It combined read-only memory, read/write
memory, processor and clock on one chip and was targeted at embedded systems.
• Partly in response to the existence of the single-chip TMS 1000, Intel developed a
computer system on a chip optimized for control applications, the Intel 8048, with
commercial parts first shipping in 1977. It combined RAM and ROM on the same chip.
This chip would find its way into over one billion PC keyboards, and other numerous
applications. At that time Intel's President, Luke J. Valenter, stated that the microcontroller
was one of the most successful in the company's history, and expanded the division's
budget over 25%.
37
System software and machine architecture,
simplified instructional computer (SIC), assembler,
loader , linker, macro processor ,compiler.
38
system software and machine architecture
• System programs on the other hand are intended to support the operation and use of the
computer itself, rather than any particular application.
• For this reason, they are usually related to the architecture of the machine on which they are
run. For example, assemblers translate mnemonic instructions into machine code.
39
System software
• System software consists of a variety of programs that support the operation of a computer.
• It is a set of programs to perform a variety of system functions as file editing, resource
management, I/O management and storage management. · The characteristic in which system
software differs from application software is machine dependency.
• An application program is primarily concerned with the solution of some problem, using the
computer as a tool.
• System programs on the other hand are intended to support the operation and use of the computer
itself, rather than any particular application.
• For this reason, they are usually related to the architecture of the machine on which they are run.
• For example, assemblers translate mnemonic(symbolic representation) instructions into machine
code. The instruction formats, addressing modes are of direct concern in assembler design.
• There are some aspects of system software that do not directly depend upon the type of computing
system being supported. These are known as machine independent features.
• For example, the general design and logic of an assembler is basically the same on most computers
40
System software
41
System Software
Probably nothing has influenced our lives more in the past 50 years than the invention of the
electronic computer. Today computers are nearly ubiquitous. They are in our homes, our cars,
our microwaves, our cellular phones, and even in our toys.
Tiny computers called microprocessors are responsible for controlling many of the common
appliances that we use every day from the automatic coffee maker to the hi-fi VCR.
One way to get a sense of the pervasive nature of modern computers is see how these
machines are depicted in art.
Click on the arrows below to browse through the computer art gallery.
See if you can identify with any of these humorous depictions of how computers influence
modern life.
42
What is an Assembler?
An assembler enables software and application developers to access, operate and manage a
computer's hardware architecture and components.
44
SIC Assembler
Memory
Memory consists of 8-bit / 1byte
Any 3 consecutive bytes form a word (24 bits)
45
Specified Instructional computer(SIC)
46
loader
• In computer systems a loader is the part of an operating system that is responsible for
loading programs and libraries.
• It is one of the essential stages in the process of starting a program, as it places programs
into memory and prepares them for execution.
• Loading a program involves reading the contents of the executable file containing the
program instructions into memory, and then carrying out other required preparatory tasks to
prepare the executable for running.
• Once loading is complete, the operating system starts the program by passing control to the
loaded program code.
47
Linker
In computer science, a linker is a computer program that takes one or more object files
generated by a compiler and combines them into one, executable program.
Linker
Tool that merges the object files produced by separate compilation or assembly and creates an
executable file.
• Three tasks:-
Searches the program to find library routines used by program, e.g. printf(),sqrt(),strcat()
and various other.
Determines the memory locations that code from each module will occupy and relocates its
instructions by adjusting absolute references.
Relocation, which modifies the object program so that it can be loaded at an address
different from the location originally specified.
It combines two or more separate object programs and supplies the information needed to
allow references between them .
48
Linker
49
Macro processor
• A macro processor is a program that copies a stream of text from one place to another,
making a systematic set of replacements as it does so. Macro processors are often embedded
in other programs, such as assemblers and compilers. Sometimes they are standalone
programs that can be used to process any kind of text.
• A macro processor is not directly related to the architecture of the computer on which it is to
run
• Macro processors can also be used with high-level programming languages, OS command
languages, etc.
50
Compilers
Compiler
Compilation is a process that translates a program in one language
(the source language) into an equivalent program in another language
(the object or target language).
An important part of any compiler is the detection and reporting of errors. Thus
compilation is a fundamental concept in the production of software: it is the link between
the (abstract) world of application development and the low-level world of application
execution on machines. 51
Thanks
52