Sunday 30 October 2016

8255 Programmable Peripheral Interface(PPI)

8255 Programmable Peripheral  Interface(PPI)-



The Intel 8255 (or i8255) programmable peripheral interface (PPI) chip was developed and manufactured by Intel in the first half of the 1970s for the Intel 8080 microprocessor and is a member of the MCS-85 Family of chips. The i8255 was also used with the Intel 8085 and Intel 8086[1] and their descendants and found wide applicability in digital processing systems. It was later cloned by other manufacturers.

The Intel 8255A is a general purpose programmable I/O device which is designed for use with all Intel and most other microprocessors. It provides 24 I/O pins which may be individually programmed in 2 groups of 12 and used in 3 major modes of operation.

Similar chips-

The i8255 has a similar function to the MOS Technology 6522 (Versatile Interface Adapter) and the MOS Technology CIA (Complex Interface Adapter) all developed for the 6502 family. Other such chips are the 2655 Programmable Peripheral Interface from the Signetics 2650 family of microprocessors, the Motorola 6820 PIA (Peripheral Interface Adapter) from the Motorola 6800 family, the Western Design Center WDC 65C21, an enhanced 6520, and many others.



Application Of  8255 Programmable Peripheral  Interface-

The 8255 is widely used in many microcomputer/microcontroller systems and home computers such as the SV-328 and all MSX models. The 8255 is used in the original IBM-PC, PC/XT, PC/jr and clones, along with numerous homebuilt computers such as the N8VEM. The 8255 is also directly compatible with the Z-80, as well as many Intel processors.

8255 Programmable Peripheral  Interface (PPI)

Data Bus Buffer

This three-state bi-directional 8-bit buffer is used to interface the 8255 to the system data bus. Data is transmitted or received by the buffer upon execution of input or output instructions by the CPU. Control words and status informa-tion are also transferred through the data bus buffer.

Read/Write and Control Logic-

The function of this block is to manage all of the internal and external transfers of both Data and Control or Status words. It accepts inputs from the CPU Address and Control busses and in turn, issues commands to both of the Control Groups.
(CS) Chip Select. A "low" on this input pin enables the communcation between the 8255 and the CPU.
(RD) Read. A "low" on this input pin enables 8255 to send the data or status information to the CPU on the data bus. In essence, it allows the CPU to "read from" the 8255.
(WR) Write. A "low" on this input pin enables the CPU to write data or control words into the 8255.
(A0 and A1) Port Select 0 and Port Select 1. These input signals, in conjunction with the RD and WR inputs, control the selection of one of the three ports or the control word register. They are normally connected to the least significant bits of the address bus (A0 and A1).

(RESET) Reset. A "high" on this input initializes the control register to 9Bh and all ports (A, B, C) are set to the input mode.



Group A and Group B Controls
The functional configuration of each port is programmed by the systems software. In essence, the CPU "outputs" a control word to the 8255. The control word contains information such as "mode", "bit set", "bit reset", etc., that initializes the functional configuration of the 8255. Each of the Control blocks (Group A and Group B) accepts "commands" from the Read/Write Control logic, receives "control words" from the internal data bus and issues the proper commands to its associated ports.
Ports A, B, and C
The 8255 contains three 8-bit ports (A, B, and C). All can be configured to a wide variety of functional characteristics by the system software but each has its own special features or "personality" to further enhance the power and flexibility of the 8255.
Port A One 8-bit data output latch/buffer and one 8-bit data input latch. Both "pull-up" and "pull-down" bus-hold devices are present on Port A.
Port B One 8-bit data input/output latch/buffer and one 8-bit data input buffer.

Port C One 8-bit data output latch/buffer and one 8-bit data input buffer (no latch for input). This port can be divided into two 4-bit ports under the mode control. Each 4-bit port contains a 4-bit latch and it can be used for the control signal output and status signal inputs in conjunction with ports A and B.
The 8255 PPI chip Architecture


PIN CONFIGRATION OF 8255:-


D0 - D7 These are the data input/output lines for the device. All information read from and written to the 8255 occurs via these 8 data lines.
CS (Chip Select Input). If this line is a logical 0, the microprocessor can read and write to the 8255.
RD (Read Input) Whenever this input line is a logical 0 and the RD input is a logical 0, the 8255 data outputs are enabled onto the system data bus.
WR (Write Input) Whenever this input line is a logical 0 and the CS input is a logical 0, data is written to the 8255 from the system data bus
A0 - A1 (Address Inputs) The logical combination of these two input lines determines which internal register of the 8255 data is written to or read from.
RESET The 8255 is placed into its reset state if this input line is a logical 1. All peripheral ports are set to the input mode.
PA0 - PA7, PB0 - PB7, PC0 - PC7 These signal lines are used as 8-bit I/O ports. They can be connected to peripheral devices. The 8255 has three 8 bit I/O ports and each one can be connected to the physical lines of an external device. These lines are labeled PA0-PA7, PB0-PB7, and PC0-PC7. The groups of the signals are divided into three different I/O ports labeled port A (PA), port B (PB), and port C (PC).



Control Word Register-

Before going to discuss the detailed description about the usage of the 8255 in the MZ-700, you should see the bit definitions of the 8255 control word register (port $E003 of the MZ-700).

If bit 7 of the control word is a logical 1 then the 8255 will be configured.
If bit 7 of the control word is a logical 0 then each bit of the port C can be set or reset.
Bit definitions of the 8255 control register to modify single bits of port C.

Examples:
If you want to set/reset bit 0 of port C then set D3 to D1 to 000.
Bit 1 of port C will be set/reset if you code 001 to D3 to D1.
Bit 6 of port C is set/reset if D3 to D1 is 110.



Friday 28 October 2016

Materials used for making Microprocessor.

 Materials used for making Microprocessor (CPU)-


                       Microprocessors are the heart of  any computers,laptops,mobile phones,servers,super computers and complex military and space systems.Today we are going to deeply analyse What are the materials are used for making the modern microprocessors.

Commonly there are three electronic components are used these are

  1. Resistors
  2. Transistors
  3. Capacitors
  4. Diodes


1.RESISTOR

  A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element. In electronic circuits, resistors are used to reduce current flow, adjust signal levels, to divide voltages, bias active elements, and terminate transmission lines, among other uses. High-power resistors that can dissipate many watts of electrical power as heat may be used as part of motor controls, in power distribution systems, or as test loads for generators. Fixed resistors have resistances that only change slightly with temperature, time or operating voltage. Variable resistors can be used to adjust circuit elements (such as a volume control or a lamp dimmer), or as sensing devices for heat, light, humidity, force, or chemical activity.

RESISTOR

Resistors are common elements of electrical networks and electronic circuits and are ubiquitous in electronic equipment. Practical resistors as discrete components can be composed of various compounds and forms. Resistors are also implemented within integrated circuits.
The electrical function of a resistor is specified by its resistance: common commercial resistors are manufactured over a range of more than nine orders of magnitude. The nominal value of the resistance falls within the manufacturing tolerance, indicated on the component.



2.TRANSISTOR-

A transistor is a device that regulates current or voltage flow and acts as a switch or gate for electronic signals. Transistors consist of three layers of a semiconductor material, each capable of carrying a current.
Transistor

The transistor was invented by three scientists at the Bell Laboratories in 1947, and it rapidly replaced the vacuum tube as an electronic signal regulator. A transistor regulates current or voltage flow and acts as a switch or gate for electronic signals. A transistor consists of three layers of a semiconductor material, each capable of carrying a current. A semiconductor is a material such as germanium and silicon that conducts electricity in a "semi-enthusiastic" way. It's somewhere between a real conductor such as copper and an insulator (like the plastic wrapped around wires).
The semiconductor material is given special properties by a chemical process called doping. The doping results in a material that either adds extra electrons to the material (which is then called N-type for the extra negative charge carriers) or creates "holes" in the material's crystal structure (which is then called P-type because it results in more positive charge carriers). The transistor's three-layer structure contains an N-type semiconductor layer sandwiched between P-type layers (a PNP configuration) or a P-type layer between N-type layers (an NPN configuration).
A small change in the current or voltage at the inner semiconductor layer (which acts as the control electrode) produces a large, rapid change in the current passing through the entire component. The component can thus act as a switch, opening and closing an electronic gate many times per second. Today's computers use circuitry made with complementary metal oxide semiconductor (CMOS) technology. CMOS uses two complementary transistors per gate (one with N-type material; the other with P-type material). When one transistor is maintaining a logic state, it requires almost no power.
Transistors are the basic elements in integrated circuits (IC), which consist of very large numbers of transistors interconnected with circuitry and baked into a single silicon microchip.



3 Capacitor

A capacitor (originally known as a condenser) is a passive two-terminal electrical component used to temporarily store electricalenergy in an electric field. The forms of practical capacitors vary widely, but most contain at least two electrical conductors (plates) separated by a dielectric (i.e. an insulator that can store energy by becoming polarized).
Capacotor
The conductors can be thin films, foils or sintered beads of metal or conductive electrolyte, etc. The nonconducting dielectric acts to increase the capacitor's charge capacity. Materials commonly used as dielectrics include glass, ceramic, plastic film, paper, mica, and oxide layers. Capacitors are widely used as parts of electrical circuits in many common electrical devices. Unlike a resistor, an ideal capacitor does not dissipate energy. Instead, a capacitor stores energy in the form of an electrostatic field between its plates.
When there is a potential difference across the conductors (e.g., when a capacitor is attached across a battery), an electric fielddevelops across the dielectric, causing positive charge +Q to collect on one plate and negative charge −Q to collect on the other plate. If a battery has been attached to a capacitor for a sufficient amount of time, no current can flow through the capacitor. However, if a time-varying voltage is applied across the leads of the capacitor, a displacement current can flow.
An ideal capacitor is characterized by a single constant value, its capacitance. Capacitance is defined as the ratio of the electric charge Q on each conductor to the potential difference V between them. The SI unit of capacitance is the farad (F), which is equal to one coulomb per volt (1 C/V). Typical capacitance values range from about 1 pF (10−12 F) to about 1 mF (10−3 F).
The larger the surface area of the "plates" (conductors) and the narrower the gap between them, the greater the capacitance is. In practice, the dielectric between the plates passes a small amount of leakage current and also has an electric field strength limit, known as the breakdown voltage. The conductors and leads introduce an undesired inductance and resistance.
Capacitors are widely used in electronic circuits for blocking direct current while allowing alternating current to pass. In analog filter networks, they smooth the output of power supplies. In resonant circuits they tune radios to particular frequencies. In electric power transmission systems, they stabilize voltage and power flow..

4.Diode

In electronics, a diode is a two-terminal electronic component that conducts primarily in one direction (asymmetric conductance); it has low (ideally zero) resistance to the flow of current in one direction, and high (ideally infinite) resistance in the other. 
Diode
semiconductor diode, the most common type today, is a crystalline piece of semiconductor material with a p–n junction connected to two electrical terminals.[5] A vacuum tube diode has two electrodes, a plate (anode) and a heated cathode. Semiconductor diodes were the first semiconductor electronic devices. The discovery of crystalsrectifying abilities was made by German physicist Ferdinand Braun in 1874. The first semiconductor diodes, called cat's whisker diodes, developed around 1906, were made of mineral crystals such as galena. Today, most diodes are made of silicon, but other semiconductors such as selenium or germanium are sometimes used.

Evolution of Microprocessor

Evolution of Microprocessor:

Microprocessor has turned into the brain of millions of gadgets, since year 1971 i.e. devoid of microprocessors these wonderful innovations of millions of gadgets would have not been possible. Now come have a look at the gadgets in which the microprocessors are playing an imperative role from more than 40 long years.


  • Business Calculator: A business calculator was invented in the year 1971. The Unicom 141P business calculator was out of the foremost gadgets that feature a microprocessor.
  • Commodore PET: The PET was invented in the year 1971 and is broadly recognized as the primary all-in-one home computer.
  • Washing Machine: The foremost microchip controlled washing machines were launched in the year 1977 and gave a bang to the market, showcasing the varied usages of innovative technology.
  • Arcade Mania in the year 1980: Namco pioneered Pac-Man in the walkways of the Unite States and ignited a new trend.
  • Osborne 1 Laptop: With five screen and 10.7kgs of weight, Osborne 1 Laptop was invented in the year 1981. It actually was the great grand-father of most modern laptops.
  • Nintendo NES: Consoles revitalized the gaming industry in the year 1986 such as Nintendo Entertainment System.
  • Computing Democratized: Personal & business computing blasted with a broad variety of laptops, desktops & even early tabs. These inventions came up in the year 1991.
  • MP3 Player: The modern way to enjoy to music forever altered in the last 1990s with the foremost MP3 player, which was invented in the year 1997.
  • BlackBerry: The Smartphone insurgence boosted with the launch of RIM’s Blackberry 850. The 1st BB was accessible in the year 1999.
  • Apple iPod: Apple launched its 1st iPod in the year 2001; its release gave the future of MP3 music format a new selection of set tunes.
  • Microsoft Windows Tablet: Approximately a decade prior to the shopper’s fascination with tab, Microsoft Windows Tablet was launched in the year 2002, business were employing these tabs for more useful jobs.
  • Netbook: Netbooks were launched in the year 2008, as small and light-weighted gadget for carrying out uncomplicated jobs and enjoying media & internet content on the move.
  • Apple iPod: Tabs strike the customers main-stream with the release of iPod in the year 2010.
  • Digital Signage in the year 2011: Digital Signage was 1st of the vast new usages for the microprocessor. Intellectual, internet allied gadgets are more and more found in the daily life from business and retail to farming and automobiles.
  • Ultrabook in the year 2011: The advancement of the Personal Computer takes an additional gigantic step as trendy Ultrabook gadgets push ahead high performance computing experience.

Thursday 27 October 2016

History of the microprocessor !

\

History of the microprocessor

The CPU is known as the central processing unit, and this term is synonymous with microprocessor. The microprocessor is considered the brain of the computer, and Intel invented the term in 1971. There was a previous 8-bit chip developed in 1969 known as the Four-Phase AL1; however, Intel invented a better component and coined the term microprocessor.


In 1971, Intel’s first microprocessor generated an equal amount of processing power as the world's most-powerful computer at that time. This computer was known as the ENIAC, and it was large enough to fill an entire room. The first commercially available microprocessor was known as the Intel 4004, followed by the 8008. In 1978, Intel developed the 16-bit 8086 processor, followed by the 8088 processor a year later. The 8088 processor integrated technology that offered backward-compatibility with previous 8-bit chips. This chip was selected by IBM to power the original IBM PC.
During the early 1990s, Intel developed a more-powerful processor known as the i386. The i386 was the first 32-bit microprocessor available for commercial use. This microprocessor offered multitasking capabilities on personal desktop computers. The i486 microprocessor was the successor to the i386, and it offered memory cache, a math co-processor and improved data transfer.

Intel developed the Pentium processor in 1993, and this was the first microprocessor capable of performing two instructions during each clock cycle. The microprocessors released later in the Pentium line revolutionized the way data was stored and transferred on chips. As of 2014, Intel offers multi-core, 64-bit chips that eclipse the power of previous chips.

Definition of Microprocessor

 Microprocessor


A microprocessor is a tiny electronic chip found inside a computer's central processing unit and other electronic devices. Its basic function is to take input, process it and then provide appropriate output.
Microprocessor

On the surface, a microprocessor’s job may seem like an easy task, but modern microprocessors perform trillions of instructions per second.
A computer’s central processing unit handles all the processing functions of a computer including processing instructions from peripheral devices as well as input from running programs.
From the time a computer is turned on to the time it is shut down, a microprocessor will have performed millions of logic and arithmetic operations. These operations utilize tiny number holding spaces called registers. Typical arithmetic operations include adding, subtracting and comparing two or more values.
To perform the operations, a microprocessor has to receive specific instructions as part of its design. For instance, when a computer is started, the microprocessor receives its first set of instructions from the basic input-output system.

A microprocessor’s speed is measured in megahertz. It is common to associate a higher megahertz with better performance but this is not always true. A computer’s overall performance is influenced by several factors such as the amount of available memory, the bus architecture, the applications running on the computer and the efficiency of the processor

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER
ARCHITECTURE:



A microprocessor is a programmable electronics chip that has computing and decision making capabilities similar to central processing unit of a computer. Any microprocessorbased systems having limited number of resources are called microcomputers. Nowadays, microprocessor can be seen in almost all types of electronics devices like mobile phones, printers, washing machines etc. Microprocessors are also used in advanced applications like radars, satellites and flights. Due to the rapid advancements in electronic industry and large scale integration of devices results in a significant cost reduction and increase application of microprocessors and their derivatives.
Bit: A bit is a single binary digit. 

Word: A word refers to the basic data size or bit size that can be processed by the arithmetic and logic unit of the processor. A 16-bit binary number is called a word in a 16-bit processor.
Bus: A bus is a group of wires/lines that carry similar information
.System Bus: The system bus is a group of wires/lines used for communication between the microprocessor and peripherals.
Memory Word: The number of bits that can be stored in a register or memory element is called a memory word.Address Bus: It carries the address, which is a unique binary pattern used to identify a memory location or an I/O port. For example, an eight bit address bus has eight lines and thus it can address 28 = 256 different locations. The locations in hexadecimal format can be written as 00H FFH.Data Bus: The data bus is used to transfer data between memory and processor or between I/O device and processor. For example, an 8-bit processor will generally have an 8-bit data bus and a 16-bit processor will have 16-bit data bus.Control Bus: The control bus carry control signals, which consists of signals for selection of memory or I/O device from the given address, direction of data transfer and synchronization of data transfer in case of slow devices. A typical microprocessor consists of arithmetic and logic unit (ALU) in association with control unit to process the instruction execution. Almost all the microprocessors are based on the principle of store-program concept. In store-program concept, programs or instructions are sequentially stored in the memory locations that are to be executed. To do any task using a microprocessor, it is to be programmed by the user. So the programmer must have idea about its internal resources, features and supported instructions. Each microprocessor has a set of instructions, a list which is provided by the microprocessor manufacturer. The instruction set of a microprocessor is provided in two forms: binary
machine code and mnemonics. Microprocessor communicates and operates in binary numbers 0 and 1. The set of instructions in the form of binary patterns is called a machine language and it is difficult for us to understand. Therefore, the binary patterns are given abbreviated names, called mnemonics, which forms the assembly language. The conversion of assembly-level language into binary machine-level language is done by using an application called
assembler. Technology Used: The semiconductor manufacturing technologies used for chips are:  Transistor-Transistor Logic (TTL)  Emitter Coupled Logic (ECL)  Complementary Metal-Oxide Semiconductor (CMOS) Classification of Microprocessors: Based on their specification, application and architecture microprocessors are classified.
Based on size of data bus:  4-bit microprocessor  8-bit microprocessor  16-bit microprocessor  32-bit microprocessor
Based on application:  General-purpose microprocessor- used in general computer system and can be used by programmer for any application. Examples, 8085 to Intel Pentium.  Microcontroller- microprocessor with built-in memory and ports and can be programmed for any generic control application. Example, 8051.  Special-purpose processors- designed to handle special functions required for an application. Examples, digital signal processors and application-specific integrated circuit (ASIC) chips.
Based on architecture:  Reduced Instruction Set Computer (RISC) processors  Complex Instruction Set Computer (CISC) processors

Memory Access(8086 Assembler Tutorial for Beginners)

Memory Access
To access memory we can use these four registers: BX, SI, DI, BP. Combining these registers inside [ ] symbols, we can get different memory locations. These combinations are supported (addressing modes)

d8 - stays for 8 bit displacement.

d16 - stays for 16 bit displacement.


Displacement can be a immediate value or offset of a variable, or even both. It's up to compiler to calculate a single immediate value.
Displacement can be inside or outside of [ ] symbols, compiler generates the same machine code for both ways.
Displacement is a signed value, so it can be both positive or negative.
Memory access



Generally the compiler takes care about difference between d8 and
d16, and generates the required machine code. For example, let's assume that DS = 100, BX = 30, SI = 70. The following addressing mode: [BX + SI] + 25 is calculated by processor to this physical address: 100 * 16 + 30 + 70
+ 25 = 1725. By default DS segment register is used for all modes except those with BP register, for these SS segment register is used. There is an easy way to remember all those possible combinations using this chart:


You can form all valid combinations by taking only one item from each column or skipping the column by not taking anything from it. As you see BX and BP never go together. SI and DI also don't go together. Here is an example of a valid addressing mode: [BX+5].

      
                                                                     
You can form all valid combinations by taking only one item from each column or skipping the column by not taking anything from it. As you see BX and BP never go together. SI and DI also don't go together. Here is an example of a valid addressing mode: [BX+5].

In order to say the compiler about data type, these prefixes should be used:
BYTE PTR - for byte.
WORD PTR - for word (two bytes). For example:
BYTE PTR [BX] ; byte access.
or
WORD PTR [BX] ; word access.
MicroAsm supports shorter prefixes as well:
b. - for BYTE PTR
w. - for WORD PTR Sometimes compiler can calculate the data type automatically, but you may not and should not rely on that when one of the operands is an immediate value.


MOV instruction
· Copies the second operand (source) to the first operand (destination).
· The source operand can be an immediate value, general-purpose register or memory location.
· The destination register can be a general-purpose register, or memory location.
· Both operands must be the same size, which can be a byte or a word.





These types of operands are supported:
MOV REG, memory 
MOV memory, REG
MOV REG, REG 
MOV memory, immediate 
MOV REG, immediate
REG: AX, BX, CX, DX, AH, AL, BL, BH, CH, CL, DH, DL, DI, SI, BP, SP.
memory: [BX], [BX+SI+7], variable, etc...
immediate: 5, -24, 3Fh, 10001101b, etc...






For segment registers only these types of MOV are supported:
MOV SREG, memory 
MOV memory, SREG 
MOV REG, SREG 
MOV SREG, REG
SREG: DS, ES, SS, and only as second operand: CS.
REG: AX, BX, CX, DX, AH, AL, BL, BH, CH, CL, DH, DL, DI, SI, BP, SP.
memory: [BX], [BX+SI+7], variable, etc...



The MOV instruction cannot be used to set the value of the CS and  IP registers
.

Powered by Blogger.