0% found this document useful (0 votes)
30 views

OS Session 5 Microcomputer Technology Slides

Microcontrollers, or embedded computers, are tiny specialized computers installed in devices like appliances and cars. They enable these devices to store and manipulate data, like keeping track of cooking times and temperatures. The basic components of a microcomputer are input devices like keyboards, output devices like monitors, memory to store data and programs, a central processing unit (CPU) to perform calculations, and a control unit to oversee operations. Computer architecture refers to the design and structure of a computer system at both the instruction set and hardware levels. The von Neumann architecture, developed by mathematician John von Neumann, is a universal design model that uses a single memory to store both instructions and data, and is the basis for all modern general-purpose computers.

Uploaded by

SHAME BOPE
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

OS Session 5 Microcomputer Technology Slides

Microcontrollers, or embedded computers, are tiny specialized computers installed in devices like appliances and cars. They enable these devices to store and manipulate data, like keeping track of cooking times and temperatures. The basic components of a microcomputer are input devices like keyboards, output devices like monitors, memory to store data and programs, a central processing unit (CPU) to perform calculations, and a control unit to oversee operations. Computer architecture refers to the design and structure of a computer system at both the instruction set and hardware levels. The von Neumann architecture, developed by mathematician John von Neumann, is a universal design model that uses a single memory to store both instructions and data, and is the basis for all modern general-purpose computers.

Uploaded by

SHAME BOPE
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 48

Microcomputer Technology

Session 6 session 1 Slides


Learning Objectives
By the end of this session, you should be able to
▪ Understand the Microcomputer Technology.
Why do we study Microcomputers?
🠶 Embedded systems use microcontrollers or microcomputers.
🠶 Some interesting statistics (from a few years ago)
🠶 An average American interacts with 300 or more embedded systems every
day. – 95% of all microprocessor will be sold each year for embedded
systems.
🠶 IEEE estimated that over 700,000 people worldwide were employed writing
code for embedded system in 2007.
Computer Generations
🠶 First Generation Computers (1945-1954): Vacuum Tubes
🠶 These machines were used in business for accounting and payroll applications.
🠶 Valves were unreliable components generating a lot of heat.
🠶 They had very limited memory capacity.
🠶 Magnetic drums were developed to store information and tapes were also
developed for secondary storage.
🠶 They were initially programmed in machine language (binary).
🠶 A major breakthrough was the development of assemblers and assembly
language
Second Generation (1955-1964): Transistors

🠶 The development of the transistor revolutionized the development of


computers.
🠶 Invented at Bell Labs in 1948, transistors were much smaller, more rugged,
cheaper to make and far more reliable than valves.
🠶 Core memory was introduced and disk storage was also used.
🠶 The hardware became smaller and more reliable, a trend that stills continues.
🠶 Another major feature of the second generation was the use of high-level
programming languages such as Fortran and Cobol.
🠶 These revolutionized the development of software for computers
Third Generation (1965-1974): Integrated Circuits
(ICs)
🠶 IC’s were again smaller, cheaper, faster and more reliable than transistors.
🠶 Speeds went from the microsecond to the nanosecond (billionth) to the
picosecond (trillionth) range.
🠶 ICs were used for main memory despite the disadvantage of being volatile.
🠶 Minicomputers were developed at this time.
🠶 Terminals replaced punched cards for data entry and disk packs became popular
for secondary storage.
🠶 IBM introduced the idea of a compatible family of computers, 360 family easing
the problem of upgrading to a more powerful machine.
🠶 Operating systems were developed to manage and share the computing resources
and time-sharing operating systems were developed.
🠶 These greatly improved the efficiency of computers. Computers had by now
pervaded most areas of business and administration
Fourth Generation (1975-1984): VLSI (Very Large
Scale of integration)
🠶 The term fourth generation is occasionally applied to VLSI-based computer
architecture. (SI)
🠶 VLSI has made it possible to fabricate an entire CPU, main memory, or similar
devices with a single IC.
🠶 This has resulted in new classes of machines such as inexpensive personal computers,
and high- performance parallel processors that contain thousands of CPUs.
🠶 VLSI allowed the equivalent of tens of thousand of transistors to be incorporated on a
single chip.
🠶 This led to the development of the microprocessor a processor on a chip. Intel
produced the 4004 which was followed by the 8008,8080, 8088 and 8086 etc.
🠶 Other companies developing microprocessors included Motorolla (6800, 68000), and
Zilog. Personal computers were developed and IBM launched the IBM PC based on
the 8088 and 8086 microprocessors.
🠶 Mainframe computers have grown in power. Memory chips are in the megabyte range
Summary
Microcontrollers-tiny computers

🠶 Microcontrollers-tiny computers: Microcontrollers, also called embedded


computers, are the tiny, specialized microprocessors installed in "smart"
appliances and automobiles.
🠶 These microcontrollers enable PDAs microwave ovens, for example, to store
data about how long to cook your potatoes and at what temperature.
Basic Blocks of a Microcomputer

🠶 If we think of the computer as an information manipulation device the basic


components of a microcomputer are:
🠶 Input Units -- "How to tell it what to do" Devices allow us to enter
information into the computer.
🠶 A keyboard and mouse are the standard way to interact with the computer.
🠶 Other devices include mice, scanners, microphones, joysticks and game pads
used primarly for games.
Basic Blocks of a Microcomputer

🠶 Output Units -- "How it shows you what it is doing" Devices are how the
manipulated information is returned to us.
🠶 They commonly include video monitors, printers, and speakers.
🠶 Memory -- "How the processor stores and uses immediate data“
🠶 When you use a program, the computer loads a portion of the program from
the hard drive to the much faster memory (RAM).
🠶 When you "save" your work or quit the program, the data gets written back to
the hard drive
Basic Blocks of a Microcomputer
Basic Blocks of a Microcomputer

🠶 Processor – Central Processing Unit


🠶 Datapath - consists of register file and ALU
🠶 Register is a storage location.
🠶 Used to hold data or a memory address during execution of an instruction.
🠶 ALU receives data from main memory and/or register file, performs
computations and writes result back to main memory or registers
🠶 Control unit – decodes and monitors the execution of instructions and also
acts as an arbiter while various systems compete for resources of CPU.
Computer Architecture

🠶 In computer engineering, computer architecture is the conceptual design and


fundamental operational structure of a computer system.
🠶 It is a blueprint and functional description of requirements (especially speeds
and interconnections) and design implementations for the various parts of a
computer — focusing largely on the way by which the central processing unit
(CPU) performs internally and accesses addresses in memory
🠶 Computer architecture comprises at least three main subcategories
Instruction set architecture, or ISA

🠶 is the abstract image of a computing system that is seen by a machine


language (or assembly language) programmer, including the instruction set,
memory address modes, processor registers, and address and data formats.
🠶 An example of an instruction set is the x86 instruction set, which is common
to find on computers today.
🠶 Different computer processors can use almost the same instruction set while
still having very different internal design. Both the Intel Pentium
and AMD Athlon processors use nearly the same x86 instruction set.
🠶 An instruction set can be built into the hardware of the processor, or it can be
emulated in software, using an interpreter.
🠶 The hardware design is more efficient and faster for running programs than the
emulated software version.
Instruction set architecture, or ISA

🠶 Examples of instruction set


🠶 ADD - Add two numbers together.
🠶 COMPARE - Compare numbers.
🠶 IN - Input information from a device, e.g., keyboard.
🠶 JUMP - Jump to designated RAM address.
🠶 JUMP IF - Conditional statement that jumps to a designated RAM address.
🠶 LOAD - Load information from RAM to the CPU.
🠶 OUT - Output information to device, e.g., monitor.
🠶 STORE - Store information to RAM.
Microarchitecture

🠶 also known as Computer organization is a lower level, more concrete,


description of the system that involves how the constituent parts of the system
are interconnected and how they interoperate in order to implement the ISA.
🠶 The size of a computer's cache for instance, is an organizational issue that
generally has nothing to do with the ISA.
System Design

🠶 which includes all of the other hardware components within a computing


system such as: system interconnects such as computer buses and switches
memory controllers and hierarchies
🠶 CPU off-load mechanisms such as direct memory access issues like multi-
processing.
🠶 Once both ISA and microarchitecture has been specified, the actual device
needs to be designed into hardware. This design process is often called
implementation.
🠶 Implementation is usually not considered architectural definition, but rather
hardware design engineering.
🠶 Computer Organization deals with the advances in computer architecture right
from the Von Neumann machines to the current day super scalar architectures.
Von Neumann Architecture

🠶 The earliest computing machines had fixed programs. Some very simple
computers still use this design, either for simplicity or training purposes.
🠶 For example, a desk calculator (in principle) is a fixed program computer.
🠶 It can do basic mathematics, but it cannot be used as a word processor or to
run video games.
🠶 To change the program of such a machine, you have to re-wire, re-structure, or
even redesign the machine.
🠶 Indeed, the earliest computers were not so much "programmed as they were
"designed".
🠶 "Reprogramming", when it was possible at all, was a very manual process,
starting with flow charts and paper notes, followed by detailed engineering
designs, and then the often-arduous process of implementing the physical
changes.
Von Neumann Architecture

🠶 The von Neumann architecture is a computer design model that uses a


processing unit and a single separate storage structure to hold both instructions
and data.
🠶 It is named after mathematician and early computer scientist John von
Neumann.
🠶 Such a computer implements a universal Turing machine, and the common
"referential model" of specifying sequential architectures, in contrast with
parallel architectures.
🠶 The term "stored-program computer" is generally used to mean a computer of
this design, although as modern computers are usually of this type, the term
has fallen into disuse.
🠶 All general-purpose computers are now based on the key concepts of the von
Neumann architecture.
Von Neumann Architecture
Von Neumann Architecture

🠶 Though the von Neumann model is universal in general-purpose computing, it


suffers from one obvious problem.
🠶 All information (instructions and data) must flow back and forth between the
processor and memory through a single channel, and this channel will have
finite bandwidth.
🠶 When this bandwidth is fully used the processor can go no faster.
🠶 This performance limiting factor is called the von Neumann bottleneck.
Hardvard Architecture
🠶 A Harvard Architecture has one memory for instructions and a second for data.
🠶 The name comes from the Harvard Mark 1, an electromechanical computer
which pre-dates the stored-program concept of von Neumann, as does the
architecture in this form.
🠶 It is still used for applications which run fixed programs, in areas such as
digital signal processing, but not for generalpurpose computing.
🠶 The advantage is the increased bandwidth available due to having separate
communication channels for instructions and data; the disadvantage is that the
storage is allocated to code and data in a fixed ratio.
Hardvard Architecture
Hardvard Architecture
🠶 In Harvard architecture, there is no need to make the two memories share
characteristics.
🠶 In particular, the word width, timing, implementation technology, and memory
address structure can differ.
🠶 Instruction memory is often wider than data memory.
🠶 In some systems, instructions can be stored in read-only memory while data
memory generally requires read-write memory.
🠶 In some systems, there is much more instruction memory than data memory
so instruction addresses are much wider than data addresses
Hardvard Architecture
🠶 A pure Harvard architecture computer suffers from the disadvantage that
mechanisms must be provided to separately load the program to be executed
into instruction memory and any data to be operated upon into data memory.
🠶 Additionally, modern Harvard architecture machines often use a read-only
technology for the instruction memory and read/write technology for the data
memory.
🠶 This allows the computer to begin execution of a pre-loaded program as soon
as power is applied
Hardvard Architecture
🠶 The Modified Harvard architecture is very like the Harvard architecture but
provides a pathway between the instruction memory and the CPU that allows
words from the instruction memory to be treated as read-only data.
🠶 This allows constant data, particularly text strings, to be accessed without first
having to be copied into data memory, thus preserving more data memory for
read/write variables
Hardvard Architecture
Microprocessor
🠶 A microprocessor is a computer processor on a microchip. It's sometimes called a logic
chip.
🠶 It is the "engine" that goes into motion when you turn your computer on.
🠶 A microprocessor is designed to perform arithmetic and logic operations that make use of
small number-holding areas called registers.
🠶 Typical microprocessor operations include adding, subtracting, comparing two numbers,
and fetching numbers from one area to another.
🠶 These operations are the result of a set of instructions that are part of the microprocessor
design.
🠶 When the computer is turned on, the microprocessor is designed to get the first
instruction from the basic input/output system (BIOS) that comes with the computer as
part of its memory.
🠶 After that, either the BIOS, or the operating system that BIOS loads into computer
memory, or an application program is "driving" the microprocessor, giving it instructions
to perform
Evaluation of the Microprocessors
🠶 The evolution of microprocessors has been known to follow Moore's Law
when it comes to steadily increasing performance over the years.
🠶 This law suggests that the complexity of an integrated circuit, with respect to
minimum component cost, doubles every 18 months.
🠶 This dictum has generally proven true since the early 1970s.
🠶 From their humble beginnings as the drivers for calculators, the continued
increase in power has led to the dominance of microprocessors over every
other form of computer; every system from the largest mainframes to the
smallest handheld computers now uses a microprocessor at its core.
Evaluation of the Microprocessors
🠶 Intel 4004 was a 4 bit up.
🠶 Only 45 instructions P Channel Mosfet technology. 50 K instructions per
second (ENIAC).
🠶 Later 8008 as an 8 bit µ processor then 8080 and Motorolla 6800.
🠶 8080 was 10x faster than 8008 and TTL compatible.
🠶 MITS Altair 8800 in 1974. The BASIC Interpreter was written by Bill Gates.
Assembler program was written by Digital Research Corporation.
🠶 In 1977, 8085 microprocessor. Internal clock generator, higher frequency at
reduced cost and integration.
🠶 There are 200 million 8085’s around the world.
Block diagram of a simple CPU
🠶 As mentioned before, the microprocessor is the CPU of the microcomputer.
🠶 Therefore, the power of the microcomputer is determined by the capabilities
of the microprocessor.
🠶 Its clock frequency determines the speed of the microcomputer. The number of
data and address pins on the microprocessor chip make up the
microcomputer's word size and maximum memory size.
🠶 The microcomputer's I/O and interfacing capabilities are determined by the
control pins on the microprocessor chip.
Block diagram of a simple CPU
🠶 The logic inside the microprocessor chip can be divided into three main areas:
the register section, the control unit, and the Arithmetic and Logic Unit (ALU)
🠶 A typical CPU has three major components: (1) register set, (2) arithmetic
logic unit (ALU), and (3) control unit (CU).
🠶 The register set differs from one computer architecture to another.
🠶 It is usually a combination of general-purpose and specialpurpose registers.
General-purpose registers are used for any purpose, hence the name general
purpose.
🠶 Special-purpose registers have specific functions within the CPU. For
example, the program counter (PC) is a special-purpose register that is used to
hold the address of the instruction to be executed next.
🠶 Another example of specialpurpose registers is the instruction register (IR),
which is used to hold the instruction that is currently executed.
Block diagram of a simple CPU
🠶 The ALU provides the circuitry needed to perform the arithmetic, logical and shift
operations demanded of the instruction set
🠶 The control unit is the entity responsible for fetching the instruction to be executed
from the main memory and decoding and then executing it
🠶 The CPU fetches instructions from memory, reads and writes data from and to
memory, and transfers data from and to input/output devices.
🠶 A typical and simple execution cycle can be summarized as follows:
🠶 1. The next instruction to be executed, whose address is obtained from the PC, is
fetched from the memory and stored in the IR.
🠶 2. The instruction is decoded.
🠶 3. Operands are fetched from the memory and stored in CPU registers, if needed.
🠶 4. The instruction is executed.
🠶 5. Results are transferred from CPU registers to the memory, if needed.
Block diagram of a simple CPU
Block diagram of a simple CPU
🠶 The execution cycle is repeated as long as there are more instructions to
execute.
🠶 A check for pending interrupts is usually included in the cycle. Examples of
interrupts include I/O device request, arithmetic overflow, or a page fault.
🠶 When an interrupt request is encountered, a transfer to an interrupt handling
routine takes place.
🠶 Interrupt handling routines are programs that are invoked to collect the state of
the currently executing program, correct the cause of the interrupt, and restore
the state of the program.
🠶 The actions of the CPU during an execution cycle are defined by micro-orders
issued by the control unit. These micro-orders are individual control signals
sent over dedicated control lines
Register Set
🠶 The number, size, and types of registers vary from one microprocessor to
another.
🠶 However, the various registers in all microprocessors carry out similar
operations.
🠶 The register structures of microprocessors play a major role in designing the
microprocessor architectures.
🠶 Also, the register structures for a specific microprocessor determine how
convenient and easy it is to program this microprocessor.
Memory Access Registers
🠶 Two registers are essential in memory write and read operations: the memory
data register (MDR) and memory address register (MAR).
🠶 The MDR and MAR are used exclusively by the CPU and are not directly
accessible to programmers.
🠶 In order to perform a write operation into a specified memory location, the
MDR and MAR are used as follows:
🠶 1. The word to be stored into the memory location is frst loaded by the CPU
intoMDR.
🠶 2. The address of the location into which the word is to be stored is loaded by
the CPU into a MAR.
🠶 3. A write signal is issued by the CPU.
Memory Access Registers
🠶 Similarly, to perform a memory read operation, the MDR and MAR are used
as follows:
🠶 1. The address of the location from which the word is to be read is loaded into
the MAR.
🠶 2. A read signal is issued by the CPU.
🠶 3. The required word will be loaded by the memory into the MDR ready for
use by the CPU.
Instruction Fetching Registers
🠶 Two main registers are involved in fetching an instruction for execution: the
program counter (PC) and the instruction register (IR).
🠶 The PC is the register that contains the address of the next instruction to be
fetched. The fetched instruction is loaded in the IR for execution.
🠶 After a successful instruction fetch, the PC is updated to point to the next
instruction to be executed.
🠶 In the case of a branch operation, the PC is updated to point to the branch
target instruction after the branch is resolved, that is, the target address is
known
Condition Registers
🠶 Condition registers, or flags, are used to maintain status information.
🠶 Some architectures contain a special program status word (PSW) register.
🠶 The PSW contains bits that are set by the CPU to indicate the current status of
an executing program.
🠶 These indicators are typically for arithmetic operations, interrupts, memory
protection information, or processor status.
Special-Purpose Address Registers
🠶 1. Index Register:
🠶 The address of the operand is obtained by adding a constant to the content of a
register, called the index register.
🠶 The index register holds an address displacement.
🠶 Index addressing is indicated in the instruction by including the name of the
index register in parentheses and using the symbol X to indicate the constant
to be added.
🠶 2. Segment Pointers:
🠶 In order to support segmentation, the address issued by the processor should
consist of a segment number (base) and a displacement (or an offset) within
the segment.
🠶 A segment register holds the address of the base of the segment.
Special-Purpose Address Registers
🠶 3. Stack Pointer:
🠶 A stack is a data organization mechanism in which the last data item stored is
the first data item retrieved.
🠶 Two specific operations can be performed on a stack.
🠶 These are the Push and the Pop operations.
🠶 A specific register, called the stack pointer (SP), is used to indicate the stack
locationm that can be addressed.
🠶 In the stack push operation, the SP value is used to indicate the location
(called the top of the stack).
🠶 After storing (pushing) this value, the SP is incremented
80386 Registers
🠶 The Intel basic programming model of the 386, 486, and the Pentium consists of three
register groups.
🠶 These are the general-purpose registers, the segment registers, and the instruction pointer
(program counter) and the flag register.
🠶 The first set consists of general purpose registers A, B, C, D, SI (source index), DI
(destination index), SP (stack pointer), and BP (base pointer).
🠶 The second set of registers consists of CS (code segment), SS (stack segment), and four data
segment registers DS, ES, FS, and GS.
🠶 The third set of registers consists of the instruction pointer (program counter) and the flags
(status) register.
🠶 Among the status bits, the first five are identical to those bits introduced as early as in the
8085 8-bit microprocessor.
🠶 The next 6 – 11 bits are identical to those introduced in the 8086.
🠶 The flags in the bits 12 – 14 were introduced in the 80286 while the 16 – 17 bits were
introduced in the 80386. The flag in bit 18 was introduced in the 80486
80386 Registers
Arithmetic Logic Unit
🠶 In computing, an arithmetic logic unit (ALU) is a digital circuit that performs
arithmetic and logical operations.
🠶 The ALU is a fundamental building block of the central processing unit of a
computer, and even the simplest microprocessors contain one for purposes
such as maintaining timers.
🠶 The processors found inside modern CPUs and GPUs have inside them very
powerful and very complex ALUs; a single component may contain a number
of ALUs.
🠶 An ALU must process numbers using the same format as the rest of the digital
circuit.
🠶 For modern processors, that almost always is the two's complement binary
number representation.
Arithmetic Logic Unit
🠶 Most of the computer’s actions are performed by the ALU.
🠶 The ALU gets data from processor registers. This data is processed and the
results of this operation are stored into ALU output registers. Other
mechanisms move data between these registers and memory.
🠶 Most ALUs can perform the following operations:
🠶 Integer arithmetic operations (addition, subtraction, and sometime
multiplication and division, though this is more expensive)
🠶 Bitwise logic operations (AND, NOT, OR, XOR)
🠶 Bit-shifting operations (shifting or rotating a word by a specified number of
bits to the left or right, with or without sign extension).
🠶 Shifts can be interpreted as multiplications by 2 and divisions by 2.
End of session

You might also like