Introduction of Microprocessor

A Microprocessor is an important part of a computer armature without which you won’t be suitable to perform anything on your computer. It’s a programmable device that takes in input performs some computation and logical operations over it and produces the asked affair. In simple words, a Microprocessor is a digital device on a chip that can cost instructions from memory, crack and execute them and give results.

History of Microprocessors

Fair child semiconductors( innovated in 1957) constructed the first Integrated Circuit in 1959 that marked the microprocessor history. In 1968, Gordan Moore, Robert Noyce and Andrew Grove abnegated from the Fair child semiconductors and started their own company Integrated Electronics( Intel). In 1971, the first microprocessor Intel 4004 was constructed. A microprocessor is also known as a central processing unit in which figures of peripherals ’ are fabricated on a single chip. It has ALU( computation and sense unit), a control unit, registers, machine systems and a timepiece to perform computational tasks.

Micro-Computers

A microcomputer is a small, fairly affordable computer having a central processing unit( CPU) made out of a microprocessor. The computer also includes memory and input/ affair( I/ O) circuitry together mounted on a published circuit board( PCB). Microcomputers came popular in the 1970s and 1980s with the arrival of decreasingly important microprocessors. The forerunners to these computers, mainframes and minicomputers, were comparatively much larger and more precious( though indeed present- day mainframes similar as the IBM System z machines use one or further custom microprocessors as their CPUs). numerous microcomputers( when equipped with a keyboard and screen for input and affair) are also particular computers( in the general sense). An early use of the term particular computer in 1962 predates microprocessor- grounded designs.( See” Personal Computer Computers at Companies” reference below). A microcomputer used as an bedded control system may have no mortal- readable input and affair bias.” particular computer” may be used generically or may denote an IBM PC compatible machine.

Micro-controllers

A microcontroller( MCU for microcontroller unit, also MC, UC, or μC) is a small computer on a single VLSI integrated circuit( IC) chip. A microcontroller contains one or further CPUs( processor cores) along with memory and programmable input/ affair peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also frequently included on chip, as well as a small quantum of RAM. Microcontrollers are designed for bedded operations, in discrepancy to the microprocessors used in particular computers or other general purpose operations conforming of colorful separate chips.

Microprocessor architecture

A microprocessor is an integrated circuit that contains the arithmetic logic unit (ALU), control unit, and registers for data storage. The microprocessor processes data and executes instructions stored in memory. It communicates with other components of a computer system through a data bus, address bus, and control bus.

The architecture of a microprocessor determines its instruction set and the number of registers and addressing modes available. Common architectures include the x86, ARM, and PowerPC architectures.

Memory

Computer memory is just like the mortal brain. It’s used to store data information and instructions. It’s a data storehouse unit or a data storehouse device where data is to be reused and instructions needed for processing are stored. It can store both the input and affair can be stored then.

Input & output devices

An input device is commodity you connect to a computer that sends information into the computer. An affair device is commodity you connect to a computer that has information transferred to it.

Logic devices for interfacing

Some of the semiconductor chips are needed to connect peripherals to the system bus. these chips are called interfacing devices. all peripherals and memory share the same bus, however, the microprocessor communicates with only one peripheral at a time. for the proper functioning of this system, tri-state logic devices are necessary.

The 8085 MPU

The 8085 MPU (Microprocessor Unit) is a general-purpose microprocessor that was widely used in computers and other electronic devices in the 1970s and 1980s. However, it was not specifically designed for graphics processing, and therefore it may not be the best choice for modern graphics applications.

8085-based computers

The 8085 is an 8- bit microprocessor that was introduced by Intel in 1976. It was a popular microprocessor in the 1980s, and was used in a number of different computer systems. One illustration of an 8085- grounded computer is the Altair 8800. The Altair 8800 was a popular computer tackle that was vended in themid-1970s. It was grounded on the 8080, which was the precursor to the 8085. still, the 8085 was backwards-compatible with the 8080, so numerous Altair 8800s were latterly upgraded to use the 8085.

Memory interfacing

Memory Interfacing When we’re executing any instruction, the address of memory position or an I/ O device is transferred out by the microprocessor. The corresponding memory chip or I/ O device is named by a decoding circuit.

Address Decoding

an address decoder is a double decoder that has two or further inputs for address bits and one or further labors for device selection signals.( 1) When the address for a particular device appears on the address inputs, the decoder asserts the selection affair for that device. A devoted, single- affair address decoder may be incorporated into each device on an address machine, or a single address decoder may serve multiple bias.

Basic interfacing concepts in microprocesor

Interfacing is the process of connecting a microprocessor with external devices or components. In order to do this, the microprocessor needs to communicate with the external device through input and output ports.

Interfacing Output Device

The microprocessor 8085 sends 8 bit data to the affair device similar as 7 member displays, LEDs, printer etc. the circuit illustration to affiliate affair harborage( latch) which is used to shoot the signal for glowing the LEDs. LED will glow when affair leg status is low. The IC 74LS138 and 3 input OR gate is used to induce device select signal. The latch enable signal is active high. So NOR gate is used to induce latch enable signal, which goes high when Y1 and IOW both are low.

Interfacing input devices

The microprocessor 8085 accepts 8 bit data from the input device similar as keyboard, detectors, transducers etc. the circuit illustration to Input Affair Interfacing ways( buffer) which is used to read the status of 8 switches. The address for this input device is 80H.

Memory mapped I/O

In memory counterplotted I/ O, the I/ O bias are assigned and linked by 16 bit addresses. The memory related instructions transfer the data between an I/ O device and the microprocessor, as long as I/ O harborage is assigned to the memory address space rather than to the I/ O address space. The register associated with the I/ O harborage is simply treated as a memory position. therefore I/ O device becomes a part of the system’s memory chart and hence its name. In memory- counterplotted I/ O every instruction that refers to a memory position can control I/ O. The source and destination of the data is limited with I/ O counterplotted I/ O, since for an IN instruction the destination register is always the accumulator, and for the OUT instruction the source register is always the accumulator. still, for memory counterplotted I/ O there are number of sources and destinations.

Peripheral Mapped I/O

IN instruction is used to pierce input device and OUT instruction is used to pierce affair device. Each I/ O device is linked by a unique 8- bit address assigned to it. Since the control signals used to pierce input and affair bias are different, and all I/ O device use 8- bit address, a outside of 256( 28) input bias and 256 affair bias can be connived with 8085.

Flow chart symbols

Flowcharts are the ideal plates for visually representing business processes. For illustration, if you need to show the inflow of a custom- order process through colorful departments within your association, you can use a flowchart. This paper provides a visual representation of introductory flowchart symbols and their proposed use in communicating the structure of a well- developed web point, as well as their correlation in developing on- line educational systems. A typical flowchart from aged Computer Science handbooks may have the following kinds of symbols

Data Transfer operations

Data transfer operations are fundamental operations in microprocessors that involve moving data from one location to another. These operations are crucial for performing arithmetic, logical, and other types of operations in the microprocessor.

There are several ways to transfer data in a microprocessor, including:

  1. Register-to-register transfer.
  2. Memory-to-register transfer.
  3. Register-to-memory transfer.
  4. Input/output transfer.

Arithmetic operations

The 8085 microprocessor performs colorful computation operations, similar as addition, deduction, proliferation, and diminishment. These computation operations have the following mnemonics.

Logic Operations

Microprocessors process information by performing logical operations on double data, and these data are stored in sense circuits both within the microprocessor itself and in external bias. The former three chapters have described sense circuits and shown how sense operations are used to reuse data. The purpose of this chapter is to consider the structure of the microprocessor itself, its sense circuits and its operation. These introductory generalities are explained using a simple imaginary microprocessor as an illustration, and also the 68020 and 8051 microprocessors are introduced.

Branch operation

Branch instructions relate to the act of switching prosecution to a different instruction sequence as a result of executing a branch instruction.

The three types of Branch instructions are

  1. Jump (unconditional and conditional)
  2. Call (unconditional and conditional)
  3. Return (unconditional and conditional)

Writing assembly language programs

Assembly language equates to machine law but is more readable and uses mnemonics. The statements are made up of opcodes and operands, which are directly restated into machine law. Each CPU has its own assembly language.

Programming techniques

Looping

It’s used to instruct the microprocessor unit to repeattasks.A circle is set up by instructing MPU to change sequence of prosecution and perform the taskgiven.This is fulfilled by Jump Instructions.

loops are of 2 types:

  • Continuous( reprises a task continuously)
  • conditional( reprises a task until certain data conditions are met)

Counters

This programming technique uses INR or DCR instructions.A loop is established to update count and each count is checked to determine whether it has reached final number and if not reached,then the loop is repeated.

Increasing data transfer

In microprocessors, data transfer refers to the process of moving data between different locations in the processor or between the processor and external devices. Additional data transfer can be achieved through various techniques, such as:

  1. Parallel processing.
  2. Caching.
  3. DMA (Direct Memory Access).
  4. Pipelining.
  5. Bus Width.

16 bit arithmetic instruction

16-bit arithmetic instructions are used to perform mathematical operations on 16-bit binary numbers. These instructions are part of the instruction set of the microprocessor and are executed by the central processing unit (CPU).

Some common 16-bit arithmetic instructions in microprocessors include:

  1. ADD.
  2. SUB.
  3. INC.
  4. DEC.
  5. NEG.
  6. CMP.

Arithmetic operations related to memory

The relationship between arithmetic function and working memory was examined using a binary- task paradigm for either phonological or visuo- spatial repression. contemporaneous phonological trial significantly delayed the performance of addition but not deduction, whereas holding an image in the mind delayed deduction but not addition. This result indicates that computation function is related to working memory in a subsystem-specific manner addition is more nearly linked to phonological circle and deduction to visuo- spatial sketchpad. Whereas this isn’t compatible with the notion that computation is done on a unitary, amodal representation of figures, it provides support for the triadic- law and/ or the modular processing models on mortal numerical cognition in which number representations are specific for input/ affair modality and computation types.

Logic operation

Logic operations, also known as instructions, are the basic building blocks of computer programs. Each instruction is designed to perform a specific task or operation on data stored in the computer’s memory. The 8085 microprocessor is a popular microprocessor used in many applications, and it provides a variety of instructions to perform different operations.

Rotate

The rotate instructions are used to shift the bits of a byte or a word either to the left or right. The rotate left (RLC) and rotate right (RRC) instructions rotate the bits one position to the left or right, respectively. The rotate left through carry (RL) and rotate right through carry (RR) instructions rotate the bits one position to the left or right through the carry flag, respectively.

Compare

The compare instruction (CMP) is used to compare two operands and set the flags accordingly. It subtracts the second operand from the first operand without modifying the first operand and sets the flags based on the result.

Stack

The stack instructions are used to push data onto the stack or pop data from the stack. The push instruction (PUSH) pushes a register pair onto the stack, and the pop instruction (POP) pops a register pair from the stack

Subroutine

The subroutine instructions are used to call a subroutine and return from a subroutine. The call instruction (CALL) is used to call a subroutine, and the return instruction (RET) is used to return from a subroutine.

Restart

The restart instruction (RST) is used to call a fixed subroutine at a specific address. The address is determined by the lower 3 bits of the instruction.

Conditional Call and Return Instructions

The conditional call instruction (CC) is used to call a subroutine if a certain condition is true. The conditional return instruction (RC) is used to return from a subroutine if a certain condition is true.

Interrupts

The 8085 microprocessor supports 2 types of interrupts maskable interrupts and non -maskable interrupts. Maskable interrupts can be enabled or disabled by the programmer, whilenon-maskable interrupts can not be impaired. Interrupts are used to handle events that bear immediate attention, similar as input/ affair operations.

Vector Interrupts

The 8085 microprocessor provides eight vector interrupts, each with a specific priority. When an interrupt occurs, the processor jumps to the corresponding vector address to handle the interrupt.

RIM and SIM Instructions

The read interrupt mask (RIM) instruction is used to read the current state of the interrupt mask register. The set interrupt mask (SIM) instruction is used to set the interrupt mask register to a specific value. These instructions are used to enable or disable interrupts based on the value of the interrupt mask register.

Program

Addition

This instruction adds two numbers and stores the result in the destination register. For example, to add the contents of register A and register B and store the result in register C, we would use the instruction:
ADD A, B, C

subtraction

SUB – This instruction subtracts two numbers and stores the result in the destination register. For example, to subtract the contents of register B from register A and store the result in register C, we would use the instruction:
SUB A, B, C

multiplication

The MUL instruction is used to multiply two unsigned 8-bit numbers, resulting in a 16-bit product. The MUL instruction takes one operand, which is the number to be multiplied, and multiplies it with the value in the AX register, which holds the other operand. The result is stored in the DX:AX register pair, with the high byte in DX and the low byte in AX.

division of 8-bit numbers

One example of a division algorithm in a microprocessor is the restoring division algorithm. In this algorithm, the dividend is stored in the AX register and the divisor is stored in another register, such as BX. The quotient is initialized to zero in the DX register. The algorithm then performs a series of shift and subtract operations, where the divisor is shifted left and subtracted from the dividend until the remainder is less than the divisor. At this point, the quotient is incremented and the remainder is stored in the AX register.

finding largest & smallest numbers in an array

Given an array arr[] of length N, The task is to find the maximum and the minimum number in the array.

Examples:

Input: arr[] = {1, 2, 3, 4, 5}
Output: Maximum is: 5
Minimum is: 1
Explanation: The maximum of the array is 5 
and the minimum of the array is 1.

Input: arr[] = {5, 3, 7, 4, 2}
Output: Maximum is: 7
Minimum is: 2

Sorting of array

Sorting an array means to arrange the rudiments in the array in a certain order. colorful algorithms have been designed that sort the array using different styles. Some of these feathers are more useful than the others in certain situations.

BCD-to-Binary conversion

The BCD to Binary Converter is used to convert a BCD( double- enciphered numeric) to a binary( Base- 2) number. double- enciphered Decimal In computing and electronic systems, a double- enciphered numeric( BCD) is a digital garbling system for decimal figures in which each number is represented by its own double sequence.

Binary-to-BCD conversion

A Binary can be converted to BCD using these way- Convert the double number into Decimal Convert each decimal number into mouthful Combine the bites into BCD Example Binary to BCD Conversion Let’s say your double value is 1110001111, and you want to convert it to its bcd form. Step 1 Convert input to Decimal 911.

8255 Programmable peripheral interface

The 8255 Programmable Peripheral Interface (PPI) is a general-purpose parallel I/O device that can be used to interface with various peripheral devices. It has 24 I/O pins that can be individually programmed as input or output. The device can be interfaced with a keyboard or a seven-segment display by configuring the I/O pins appropriately.

Interfacing keyboard

To interface with a keyboard, the 8255 PPI can be configured as a mode-1 input device. The keyboard matrix can be connected to the input pins of the PPI, and the output pins can be connected to the microprocessor. When a key is pressed on the keyboard, the corresponding row and column are detected by the PPI and sent to the microprocessor.

Seven segment display

To interface with a seven-segment display, the 8255 PPI can be configured as a mode-0 output device. The seven-segment display can be connected to the output pins of the PPI, and the input pins can be connected to the microprocessor. The microprocessor can then send data to the PPI, which will convert it to the appropriate signals for the display.

Direct Memory Access

Direct Memory Access (DMA) is a technique used to transfer data between memory and I/O devices without the involvement of the microprocessor. This is allows to faster data transfer and frees up the microprocessor to perform other tasks The 8237 DMA controller is a device that manages the DMA transfers between memory and I/O devices.

8237 DMA controller

The 8237 DMA controller has four DMA channels that can be used to transfer data between memory and I/O devices. Each channel has a separate set of registers that control the transfer, including the source and destination addresses, transfer length, and transfer mode. The DMA controller can be programmed to transfer data in a variety of modes, including single transfer, block transfer, and demand transfer.