This document provides an overview of the Intel 8086 microprocessor architecture and its instruction set. It describes the basic components of the 8086 including the bus interface unit (BIU) and execution unit (EU). The BIU handles fetching instructions and operands from memory via the address, data and control buses. The EU then executes the instructions. The document outlines the 8086's 16-bit registers including the accumulator, base, counter, data and segment registers used for addressing memory. It also summarizes the 8086's addressing modes and instruction set.
The document discusses the 8086 microprocessor. It provides details on the architecture of the 8086 including its functional units, registers, addressing modes, instruction set, and interrupts. Specifically, it notes that the 8086 has a 16-bit data bus and 20-bit address bus, 14 registers including 4 general purpose 16-bit registers, and 24 operand addressing modes. The document also describes the different types of instructions in the 8086 instruction set and the purpose of interrupts.
The Intel 8086 is a 16-bit microprocessor that can access up to 1 MB of memory. It has a 20-bit address bus and supports 64K I/O ports. The 8086 has two main units - the Bus Interface Unit (BIU) and the Execution Unit (EU). The BIU handles fetching instructions from memory and performing bus operations, while the EU decodes and executes instructions. The 8086 uses a segmented memory architecture with four segment registers - code, data, extra, and stack - to access the 1 MB address space.
The document discusses the architecture of the 8086 and 80386 microprocessors. It covers their register sets, addressing modes, and instruction sets. Specifically, it describes the 8086's 16-bit architecture, 20-bit address bus, segment registers (CS, DS, SS, ES), instruction pointer (IP), and functional units (BIU and EU). It also compares the 8086 to the 80386, noting differences like the 80386's 32-bit architecture and support for virtual memory and paging.
The document provides information about the Intel 8086 microprocessor, including its architecture, components, and instruction set. It describes the 16-bit architecture and three-bus system. It explains that the 8086 CPU is divided into the Bus Interface Unit (BIU) and Execution Unit (EU). The BIU handles address generation and data transfer, while the EU decodes and executes instructions. The document outlines the various registers, addressing modes, and categories of instructions supported by the 8086 architecture.
The 8086 microprocessor is an enhanced 16-bit version of the 8085 microprocessor. It has a more powerful instruction set, can access more memory (up to 1MB), and supports faster processing through features like an instruction queue and two-stage pipelining. The 8086 architecture includes an execution unit and bus interface unit. The execution unit performs operations using an ALU and registers, while the bus interface unit handles data transfers between memory and I/O.
i. The 8086 microprocessor is a 16-bit processor with 16-bit data bus and 20-bit address bus, allowing it to access up to 1 MB of memory space.
ii. It has 14 internal 16-bit registers used for storing data and addressing memory, including the Accumulator (AX), Base (BX), Count (CX), and Data (DX) registers.
iii. The 8086 uses a Harvard architecture with separate buses for instructions and data, allowing it to fetch instructions simultaneously with data processing for improved performance.
The 8086 microprocessor is a 16-bit CPU with a 20-bit address bus that can access up to 1MB of memory. It has two main units: the Bus Interface Unit (BIU) which handles memory access and addressing, and the Execution Unit (EU) which decodes and executes instructions. The BIU uses a 6-byte instruction queue to overlap instruction fetching and execution, improving performance. The 8086 supports segmented memory allowing code, data, stack and extra segments each up to 64KB in size.
The document discusses the 8086 microprocessor. It provides details on the architecture of the 8086 including its functional units, registers, addressing modes, instruction set, and interrupts. Specifically, it notes that the 8086 has a 16-bit data bus and 20-bit address bus, 14 registers including 4 general purpose 16-bit registers, and 24 operand addressing modes. The document also describes the different types of instructions in the 8086 instruction set and the purpose of interrupts.
The Intel 8086 is a 16-bit microprocessor that can access up to 1 MB of memory. It has a 20-bit address bus and supports 64K I/O ports. The 8086 has two main units - the Bus Interface Unit (BIU) and the Execution Unit (EU). The BIU handles fetching instructions from memory and performing bus operations, while the EU decodes and executes instructions. The 8086 uses a segmented memory architecture with four segment registers - code, data, extra, and stack - to access the 1 MB address space.
The document discusses the architecture of the 8086 and 80386 microprocessors. It covers their register sets, addressing modes, and instruction sets. Specifically, it describes the 8086's 16-bit architecture, 20-bit address bus, segment registers (CS, DS, SS, ES), instruction pointer (IP), and functional units (BIU and EU). It also compares the 8086 to the 80386, noting differences like the 80386's 32-bit architecture and support for virtual memory and paging.
The document provides information about the Intel 8086 microprocessor, including its architecture, components, and instruction set. It describes the 16-bit architecture and three-bus system. It explains that the 8086 CPU is divided into the Bus Interface Unit (BIU) and Execution Unit (EU). The BIU handles address generation and data transfer, while the EU decodes and executes instructions. The document outlines the various registers, addressing modes, and categories of instructions supported by the 8086 architecture.
The 8086 microprocessor is an enhanced 16-bit version of the 8085 microprocessor. It has a more powerful instruction set, can access more memory (up to 1MB), and supports faster processing through features like an instruction queue and two-stage pipelining. The 8086 architecture includes an execution unit and bus interface unit. The execution unit performs operations using an ALU and registers, while the bus interface unit handles data transfers between memory and I/O.
i. The 8086 microprocessor is a 16-bit processor with 16-bit data bus and 20-bit address bus, allowing it to access up to 1 MB of memory space.
ii. It has 14 internal 16-bit registers used for storing data and addressing memory, including the Accumulator (AX), Base (BX), Count (CX), and Data (DX) registers.
iii. The 8086 uses a Harvard architecture with separate buses for instructions and data, allowing it to fetch instructions simultaneously with data processing for improved performance.
The 8086 microprocessor is a 16-bit CPU with a 20-bit address bus that can access up to 1MB of memory. It has two main units: the Bus Interface Unit (BIU) which handles memory access and addressing, and the Execution Unit (EU) which decodes and executes instructions. The BIU uses a 6-byte instruction queue to overlap instruction fetching and execution, improving performance. The 8086 supports segmented memory allowing code, data, stack and extra segments each up to 64KB in size.
Register Organization of 8086, Architecture, Signal Description of 8086, Physical Memory
Organization, General Bus Operation, I/O Addressing Capability, Special Processor Activities,
Minimum Mode 8086 System and Timings, Maximum Mode 8086 System and Timings.
Addressing Modes of 8086.
The document describes the Intel 8086 microprocessor. It is a 16-bit microprocessor that can access up to 1 MB of memory using a 20-bit address bus. It has a multiplexed address/data bus and requires a single phase clock. The 8086 has two main units - the Bus Interface Unit which handles bus transactions and the Execution Unit which decodes and executes instructions. It uses a segmented memory architecture with separate code, data, extra, and stack segments.
The Intel 8086 is a 16-bit microprocessor that can access up to 1 MB of memory. It has a 20-bit address bus and supports 64K I/O ports. The 8086 uses a pipeline architecture with an Execution Unit that decodes and executes instructions, and a Bus Interface Unit that handles memory access and address calculation. The 8086's registers include general-purpose registers like AX, BX, CX and DX, as well as segment registers and flags that provide status information.
The document describes the architecture and functional units of the Intel 80486 microprocessor. It discusses the following key points in 3 sentences:
The 80486 contains various functional units like the BIU, code prefetch unit, instruction decoding unit, execution unit, FPU, segmentation unit, paging unit, and cache unit. It has register organizations like general purpose registers, segment registers, instruction pointer, and flag registers. The 80486 also includes special purpose registers like segment descriptor cache registers, system level registers, FPU registers, debug registers, and test registers that control various functions.
This document outlines the objectives and units of study for a course on microprocessors and microcontrollers. The aim is to learn the architecture, programming, and interfacing of microprocessors and microcontrollers. Key topics covered include the 8085 and 8086 microprocessors as well as the 8051 microcontroller. Specific units will cover the architecture and programming of these chips, interfacing with peripheral devices, timers, serial communication, and application programming. The textbook references provided relate to the 8085, 8086, and 8051.
The document discusses microprocessors, their architecture, instructions, operations, interfacing and the 8085 and 8086 microprocessors. It provides details on the functional blocks, registers, addressing modes, procedures, calling conventions, and stack usage of the 8086 microprocessor. It also describes various assembler directives, operators, and concepts like logical segments, procedures, and passing parameters in registers vs memory for procedures.
This document contains information about the 8086 microprocessor used in a college course on microprocessors and microcontrollers. It includes details about the architecture and components of the 8086 such as the bus interface unit, execution unit, registers, addressing modes, and instruction set. It also provides explanations of the different addressing modes used by the 8086 like register, immediate, direct, register indirect, base, indexed, and based indexed addressing.
The document summarizes the internal architecture of the 8086 microprocessor. It has two main units: the Bus Interface Unit (BIU) which handles bus operations like instruction fetching and memory access, and the Execution Unit (EU) which decodes and executes instructions. The BIU uses an instruction queue to implement pipelining for overlapping fetch and execution. It also generates physical addresses by combining segment registers and offset addresses. The EU contains an ALU and flag register. Memory is organized into segments addressed using segment registers. Pipelining improves performance by allowing parallel fetch, decode, and execute operations.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
The document provides information on the architecture of the 8086 microprocessor. It describes the Execution Unit (EU) and Bus Interface Unit (BIU) that partition the CPU logic. The EU is responsible for executing instructions while the BIU handles fetching instructions and operands from memory. The EU contains an ALU, registers including general purpose, segment, pointer and index registers, and a flag register. It also describes the various addressing modes supported by the 8086.
The document provides an overview of the syllabus for an Assembly Programming Language course. The syllabus covers 6 units: (1) 8086 microprocessor architecture, memory addressing, data types, and segment registers; (2) 8086 instruction set and addressing modes; (3) 8086 instructions for logic, shifts, flags, and flow control; (4) stack, subroutines, macros, and recursion; (5) 8086 I/O and the 8255 PPI; and (6) 8086 interrupt mechanism and the 8259 PIC. The course aims to teach students about 8086 organization, instruction formats, control flow, subroutines, I/O, and interrupts through 8086 programming exercises
This document provides information about the 8086 microprocessor used in microcontroller applications. It discusses the architecture of the 8086 including its registers, buses, addressing modes, instruction set and interrupts. Specifically, it outlines the features of the 8086, describes the bus interface unit and execution unit, and explains the different general purpose and segment registers as well as the various addressing modes supported by the 8086 architecture.
The 8086 microprocessor is an enhanced 16-bit version of the 8085 microprocessor. It has 16 data lines, 20 address lines, and supports up to 1MB of storage. It features an instruction queue, 16-bit registers, and two-stage pipelining for faster processing. The 8086 uses a segmented memory architecture and has separate execution and bus interface units connected by an internal bus. It was the first widely used 16-bit microprocessor.
The document provides an introduction to the 8085 microprocessor. It discusses the basic components of a microcomputer including the CPU, memory (RAM and ROM), and I/O unit. It then describes the internal structure of the 8085 CPU including its registers, flag bits, program counter, and stack pointer. The document outlines the 8085 bus structure including its address bus, data bus, and control signals. It provides timing diagrams for opcode fetch, memory read, and memory write operations. Finally, it discusses addressing modes, instruction size, and includes a table of the 8085 instruction set.
The 8086 is a 16-bit microprocessor that can access up to 1MB of memory. It has an internal architecture with two main units - the Bus Interface Unit (BIU) and Execution Unit (EU). The BIU handles fetching instructions from memory and passing them to the EU via an instruction queue. The EU then decodes and executes the instructions. The 8086 supports segmented memory addressing using segment registers and offsets. It has general purpose registers like the accumulator, flags to indicate arithmetic results, and pointer/index registers used for memory addressing.
The document discusses various concepts related to microprocessors including their basic components and architecture. It defines key terms like microprocessor, ALU, registers, bus, memory mapping and interrupts. It also describes the architecture of 8086 microprocessor including its registers, addressing modes, functional units and interrupts. Interfacing I/O devices using ports is discussed along with examples like 8255 programmable port. Direct memory access and its initiation process are also summarized.
The document discusses the features and architecture of the Intel 8086 microprocessor, including its 16-bit architecture, 20-bit address bus, instruction queue, segmentation of memory into four 64KB segments, registers, flag register, arithmetic logic unit, and various addressing modes. It also provides a comparison of the 8086 to the 8085 microprocessor and describes some applications of the 8086.
This document provides an overview of embedded systems and microcontrollers including the 8051 and 8086. It discusses key aspects of embedded systems such as they combine both hardware and software to perform a specific task. Examples are given of microcontrollers that control functions like engine control. The document then focuses on details of the 8051 microcontroller including its features, pins, and ports. It also provides details on the architecture and components of the 8086 microprocessor such as its execution unit, registers, bus interface unit, and segment registers.
8086 Microprocessor is an enhanced version of 8085 Microprocessor that was designed by Intel in 1976. It is a 16-bit Microprocessor having 20 address lines and 16 data lines that provides up to 1MB storage. In April 1978, intel introduced this microprocessor and it was officially released on June 8.
This document provides an outline for a course on microprocessors and microcontrollers. The course is divided into 5 units:
1. The 8086 microprocessor, covering its architecture, instruction set, assembly language programming, and interrupts.
2. The 8086 system bus structure, including I/O programming, multiprogramming, and advanced processors.
3. I/O interfacing with the 8086, including parallel and serial interfaces.
4. The 8051 microcontroller architecture and assembly language programming.
5. Interfacing with the 8051, including timers, serial ports, interrupts, and interfacing with devices like LCDs, keyboards, and sensors.
The document discusses embedded systems and Internet of Things (IoT) design. It defines embedded systems as information processing systems embedded into larger products. Key aspects of embedded system design include dependability, efficiency to meet tight constraints, reactivity in real-time, and dedicated functions. Additional challenges for IoT design are large-scale networks with heterogeneous devices, mobility, and zero infrastructure. A generic IoT architecture includes a processor, communication module, power supply, and interface to sensors and databases.
This document contains templates for proposals being submitted under the Chips to Start-Up (C2S) Programme. It requests details about the institutions, organizations, start-ups, and end users involved in the proposed project. This includes their legal status, roles, eligibility, accreditation status, contact details for key investigators, and letters of interest/commitment from end users. It also provides guidelines for submitting information on the financial contribution from collaborating industry/end users, which should be a minimum of 10% of the overall budget.
More Related Content
Similar to MICROPROCESSORS AND ITS APPLICATIONS UNIT-I.ppt
Register Organization of 8086, Architecture, Signal Description of 8086, Physical Memory
Organization, General Bus Operation, I/O Addressing Capability, Special Processor Activities,
Minimum Mode 8086 System and Timings, Maximum Mode 8086 System and Timings.
Addressing Modes of 8086.
The document describes the Intel 8086 microprocessor. It is a 16-bit microprocessor that can access up to 1 MB of memory using a 20-bit address bus. It has a multiplexed address/data bus and requires a single phase clock. The 8086 has two main units - the Bus Interface Unit which handles bus transactions and the Execution Unit which decodes and executes instructions. It uses a segmented memory architecture with separate code, data, extra, and stack segments.
The Intel 8086 is a 16-bit microprocessor that can access up to 1 MB of memory. It has a 20-bit address bus and supports 64K I/O ports. The 8086 uses a pipeline architecture with an Execution Unit that decodes and executes instructions, and a Bus Interface Unit that handles memory access and address calculation. The 8086's registers include general-purpose registers like AX, BX, CX and DX, as well as segment registers and flags that provide status information.
The document describes the architecture and functional units of the Intel 80486 microprocessor. It discusses the following key points in 3 sentences:
The 80486 contains various functional units like the BIU, code prefetch unit, instruction decoding unit, execution unit, FPU, segmentation unit, paging unit, and cache unit. It has register organizations like general purpose registers, segment registers, instruction pointer, and flag registers. The 80486 also includes special purpose registers like segment descriptor cache registers, system level registers, FPU registers, debug registers, and test registers that control various functions.
This document outlines the objectives and units of study for a course on microprocessors and microcontrollers. The aim is to learn the architecture, programming, and interfacing of microprocessors and microcontrollers. Key topics covered include the 8085 and 8086 microprocessors as well as the 8051 microcontroller. Specific units will cover the architecture and programming of these chips, interfacing with peripheral devices, timers, serial communication, and application programming. The textbook references provided relate to the 8085, 8086, and 8051.
The document discusses microprocessors, their architecture, instructions, operations, interfacing and the 8085 and 8086 microprocessors. It provides details on the functional blocks, registers, addressing modes, procedures, calling conventions, and stack usage of the 8086 microprocessor. It also describes various assembler directives, operators, and concepts like logical segments, procedures, and passing parameters in registers vs memory for procedures.
This document contains information about the 8086 microprocessor used in a college course on microprocessors and microcontrollers. It includes details about the architecture and components of the 8086 such as the bus interface unit, execution unit, registers, addressing modes, and instruction set. It also provides explanations of the different addressing modes used by the 8086 like register, immediate, direct, register indirect, base, indexed, and based indexed addressing.
The document summarizes the internal architecture of the 8086 microprocessor. It has two main units: the Bus Interface Unit (BIU) which handles bus operations like instruction fetching and memory access, and the Execution Unit (EU) which decodes and executes instructions. The BIU uses an instruction queue to implement pipelining for overlapping fetch and execution. It also generates physical addresses by combining segment registers and offset addresses. The EU contains an ALU and flag register. Memory is organized into segments addressed using segment registers. Pipelining improves performance by allowing parallel fetch, decode, and execute operations.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
The document provides information on the architecture of the 8086 microprocessor. It describes the Execution Unit (EU) and Bus Interface Unit (BIU) that partition the CPU logic. The EU is responsible for executing instructions while the BIU handles fetching instructions and operands from memory. The EU contains an ALU, registers including general purpose, segment, pointer and index registers, and a flag register. It also describes the various addressing modes supported by the 8086.
The document provides an overview of the syllabus for an Assembly Programming Language course. The syllabus covers 6 units: (1) 8086 microprocessor architecture, memory addressing, data types, and segment registers; (2) 8086 instruction set and addressing modes; (3) 8086 instructions for logic, shifts, flags, and flow control; (4) stack, subroutines, macros, and recursion; (5) 8086 I/O and the 8255 PPI; and (6) 8086 interrupt mechanism and the 8259 PIC. The course aims to teach students about 8086 organization, instruction formats, control flow, subroutines, I/O, and interrupts through 8086 programming exercises
This document provides information about the 8086 microprocessor used in microcontroller applications. It discusses the architecture of the 8086 including its registers, buses, addressing modes, instruction set and interrupts. Specifically, it outlines the features of the 8086, describes the bus interface unit and execution unit, and explains the different general purpose and segment registers as well as the various addressing modes supported by the 8086 architecture.
The 8086 microprocessor is an enhanced 16-bit version of the 8085 microprocessor. It has 16 data lines, 20 address lines, and supports up to 1MB of storage. It features an instruction queue, 16-bit registers, and two-stage pipelining for faster processing. The 8086 uses a segmented memory architecture and has separate execution and bus interface units connected by an internal bus. It was the first widely used 16-bit microprocessor.
The document provides an introduction to the 8085 microprocessor. It discusses the basic components of a microcomputer including the CPU, memory (RAM and ROM), and I/O unit. It then describes the internal structure of the 8085 CPU including its registers, flag bits, program counter, and stack pointer. The document outlines the 8085 bus structure including its address bus, data bus, and control signals. It provides timing diagrams for opcode fetch, memory read, and memory write operations. Finally, it discusses addressing modes, instruction size, and includes a table of the 8085 instruction set.
The 8086 is a 16-bit microprocessor that can access up to 1MB of memory. It has an internal architecture with two main units - the Bus Interface Unit (BIU) and Execution Unit (EU). The BIU handles fetching instructions from memory and passing them to the EU via an instruction queue. The EU then decodes and executes the instructions. The 8086 supports segmented memory addressing using segment registers and offsets. It has general purpose registers like the accumulator, flags to indicate arithmetic results, and pointer/index registers used for memory addressing.
The document discusses various concepts related to microprocessors including their basic components and architecture. It defines key terms like microprocessor, ALU, registers, bus, memory mapping and interrupts. It also describes the architecture of 8086 microprocessor including its registers, addressing modes, functional units and interrupts. Interfacing I/O devices using ports is discussed along with examples like 8255 programmable port. Direct memory access and its initiation process are also summarized.
The document discusses the features and architecture of the Intel 8086 microprocessor, including its 16-bit architecture, 20-bit address bus, instruction queue, segmentation of memory into four 64KB segments, registers, flag register, arithmetic logic unit, and various addressing modes. It also provides a comparison of the 8086 to the 8085 microprocessor and describes some applications of the 8086.
This document provides an overview of embedded systems and microcontrollers including the 8051 and 8086. It discusses key aspects of embedded systems such as they combine both hardware and software to perform a specific task. Examples are given of microcontrollers that control functions like engine control. The document then focuses on details of the 8051 microcontroller including its features, pins, and ports. It also provides details on the architecture and components of the 8086 microprocessor such as its execution unit, registers, bus interface unit, and segment registers.
8086 Microprocessor is an enhanced version of 8085 Microprocessor that was designed by Intel in 1976. It is a 16-bit Microprocessor having 20 address lines and 16 data lines that provides up to 1MB storage. In April 1978, intel introduced this microprocessor and it was officially released on June 8.
This document provides an outline for a course on microprocessors and microcontrollers. The course is divided into 5 units:
1. The 8086 microprocessor, covering its architecture, instruction set, assembly language programming, and interrupts.
2. The 8086 system bus structure, including I/O programming, multiprogramming, and advanced processors.
3. I/O interfacing with the 8086, including parallel and serial interfaces.
4. The 8051 microcontroller architecture and assembly language programming.
5. Interfacing with the 8051, including timers, serial ports, interrupts, and interfacing with devices like LCDs, keyboards, and sensors.
Similar to MICROPROCESSORS AND ITS APPLICATIONS UNIT-I.ppt (20)
The document discusses embedded systems and Internet of Things (IoT) design. It defines embedded systems as information processing systems embedded into larger products. Key aspects of embedded system design include dependability, efficiency to meet tight constraints, reactivity in real-time, and dedicated functions. Additional challenges for IoT design are large-scale networks with heterogeneous devices, mobility, and zero infrastructure. A generic IoT architecture includes a processor, communication module, power supply, and interface to sensors and databases.
This document contains templates for proposals being submitted under the Chips to Start-Up (C2S) Programme. It requests details about the institutions, organizations, start-ups, and end users involved in the proposed project. This includes their legal status, roles, eligibility, accreditation status, contact details for key investigators, and letters of interest/commitment from end users. It also provides guidelines for submitting information on the financial contribution from collaborating industry/end users, which should be a minimum of 10% of the overall budget.
This 3 sentence summary provides an overview of the key information from the document:
The document is a raw model output and research product from the Indian Institute of Tropical Meteorology meant for scientific use only that provides experimental lightning flash predictions from a WRF model run with 3km resolution based on an initial condition from March 3, 2023 along with 24 hour and 3 hourly accumulated total lightning flash counts overlaid with maximum reflectivity.
Cyclone Predication using Machine Learingkpkarthi2001
The document discusses tropical cyclones that frequently impact coastal regions in India, causing tremendous loss. It notes that predicting tropical cyclone intensity is challenging due to climate changes. Intensity is influenced by oceanic, atmospheric, and meteorological parameters. The proposed research aims to develop hybrid learning models combining machine learning techniques to improve intensity predictions and provide timely warnings. The objectives are to enhance prediction accuracy, extend lead times, and provide probabilistic forecasts to help decision-making.
The document is a simplified diagram of a standard convolutional neural network architecture. It shows the basic structure and components of a convolutional neural network, including terms that are further explained in Section 3. The diagram provides a high-level overview of the convolutional neural network in a visual format.
The document discusses various industry-institute collaboration activities at a GB meeting, including 4 innovative projects receiving funds, 4 best final year projects for commercialization, several MoUs signed with industry partners, consultancy activities generating revenue, and internships conducted by both students and faculty with various companies. Outcomes of the initiatives included gaining knowledge and experience in areas such as product development, networking, drones, sensors, 3D modeling, and more.
This technical reference manual provides documentation for the ARM7TDMI processor core, including its architecture, instruction set, programmer's model, memory and debug interfaces. It describes the core's instruction cycle timings, AC and DC timing parameters, and includes appendices with signal descriptions and additional details about the debug interface and scan chains. The document includes revision information and copyright notices.
The customer is requesting HDFC Ltd to register their bank account for online payment of their housing loan. They provide their loan account number, name, bank account details including number, type and branch. They have attached required identification and address proof documents for verification. The customer declares the information provided is correct and understands the existing online payment facility is only available for select banks. They agree not to close the bank account without HDFC's consent.
The 8253/8254 timer contains three independent counters that can each divide the input clock frequency. It has four I/O port addresses to access the individual counters and the control register. Each counter has pins for the clock input, output, and gating signal. The timer can operate in different modes like interrupt on terminal count, one shot, rate generator, and software/hardware triggered strobe by programming the corresponding counter and control registers.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
2. Objective of the course
• Understand the Microprocessor architecture
and assembly language programming flow for
the development and debugging in embedded
applications like mobile, set top box and
navigation in high level languages.
• Understand the basics for the hardware
protocols like UART,PCI and USB for the
application development in embedded systems.
2
Dept of ECE,VCET Madurai
5. 8086 MP Overview
• Intel 8086 Microprocessors are the basis of all
IBM-PC compatible computers
(8086 introduced in 1978, first IBM-PC released in 1981)
• All Intel, AMD and other advanced
microprocessors are based on and are
compatible with the original 8086.
• At Power Up and Reset time, Pentiums,
Athlons etc all look like 8086 processors.
5
Dept of ECE,VCET Madurai
6. 8086 Architecture Overview
• Intel 8086 is a 16b microprocessor:
– 16b data registers, 16b ALU
• Width of external data bus:
– 8086: 16b
• Width of external address bus: 16b+4b=20b
• Segment: Offset memory model
• Little-Endian Data Format
• The 8086 used an instruction queue to speed up
performance
• While the processor is decoding and executing an
instruction, its bus interface can be reading new
instructions, since at that time the bus is not actually in use
6
Dept of ECE,VCET Madurai
8. Basic Internal Architecture Of 8086
• The 8086 make use of this idle time by pre-fetching the
next instruction while the current instruction is being
executed.
• Here the bus is always busy.
• The 8086 contains two internal units; the execution unit
(EU) and the bus interface unit (BIU).
• The BIU is responsible for fetching an instruction or the
operand of an instruction from the memory.
• The EU is responsible for executing the instructions.
• The 8086 both are able to utilize the bus with maximum
efficiency because both contain internal memory in the form of
a queue.
• The 8086 queue is 2 bytes wide and three locations deep. It is
therefore able to hold three 16-bit numbers.
8
Dept of ECE,VCET Madurai
9. Bus Interface Unit (BIU)
• The BIU contains a prefetch queue, a bus controller,
segment registers and the instruction pointer.
• The main purposes of the BIU are:
1. To keep the prefetch queue filled with instructions.
2. To generate and accept the control signals.
3. To provide the system with a memory address or I/O port
number.
4. To act as a window between the EU and memory for
data.
9
Dept of ECE,VCET Madurai
10. Bus Interface Unit (BIU)
• Instruction Queue: the next instructions or data can be fetched from
memory while the processor is executing the current instruction
– The memory interface is slower than the processor execution
time so this speeds up overall performance
• Segment Registers:
– CS, DS, SS and ES are 16b registers
– Used with the 16b Base registers to generate the 20b address
– Allow the 8086 to address 1MB of memory
• Instruction Pointer (IP) contains the Offset Address of the next
instruction, the distance in bytes from the address given by the
current CS register
10
Dept of ECE,VCET Madurai
11. Execution Unit (EU)
• The purpose of the EU is to carry out instructions that are
fetched from the prefetch queue.
• It contains; an Arithmetic and Logic Unit(ALU), an
instruction register, and a register array.
• The ALU performs arithmetic and logic operations on
memory and or register data.
• The instruction register receives the instructions from the
prefetch queue. From here these instructions are decoded to
direct the operation of the execution unit.
• The register array holds information temporarily. It also
contains pointers or index registers used to address operand
data located in the memory.
11
Dept of ECE,VCET Madurai
12. System Architecture
• Three types of buses are
Address Bus
Data Bus
Control Bus
• The address bus provides the memory address to the system memory
and also I/O addresses to the I/O devices. The 8086 has a 20-bit
address bus.
• The data bus transfers data between the microprocessor and the
memory and I/O attached to the system. The 8086 has a16-bit data
bus.
• The control bus provides control signals that cause the memory or
I/O to perform a READ or WRITE operation. It consists of three
signals RD, WR and IO/M.
• The 8086 having address of 1M bytes of memory because they both
contain a 20-bit address bus.
12
Dept of ECE,VCET Madurai
14. 8086/8088 Register File (cont)
Flags Register
x x x x OF DF IF TF SF ZF x AF x PF x CF
0
15
Status and Control Bits Maintained in Flags Register
– Generally Set and Tested Individually
– Nine 1-bit flags in 8086; Seven are unused
14
Dept of ECE,VCET Madurai
15. Flags Register
• Carry Flag (CF) - this flag is set to 1 when there is an unsigned overflow.
When there is no overflow this flag is set to 0.
• Parity Flag (PF) - this flag is set to 1 when there is even number of one bits
in result, and 0 when there is odd number of one bits.
• Auxiliary Flag (AF) - set to 1 when there is an unsigned overflow for low
nibble (4 bits).
• Zero Flag (ZF) - set to 1 when result is zero. For non-zero result this flag is
set to 0.
• Sign Flag (SF) - set to 1 when result is negative. When result is positive it
is set to 0. (This flag takes the value of the most significant bit.)
• Trap Flag (TF) - Used for on-chip debugging.
• Interrupt enable Flag (IF) - when this flag is set to 1 CPU reacts to
interrupts from external devices.
• Direction Flag (DF) - this flag is used by some instructions to process data
chains, when this flag is set to 0 - the processing is done forward, when this
flag is set to 1 the processing is done backward.
• Overflow Flag (OF) - set to 1 when there is a signed overflow.
15
Dept of ECE,VCET Madurai
16. Status Flags
CF Carry Flag Arithmetic Carry/Borrow
OF Overflow Flag Arithmetic Overflow
ZF Zero Flag Zero Result; Equal Compare
SF Sign Flag Negative Result; Non-Equal Compare
PF Parity Flag Even Number of “1” bits
AF Auxiliary Carry Used with BCD Arithmetic
Indicate Current Processor Status
16
Dept of ECE,VCET Madurai
17. Control Flags
DF Direction Flag Auto-Increment/Decrement
– used for “string operations”
IF Interrupt Flag Enables Interrupts
– allows “fetch-execute” to be interrupted
TF Trap Flag Allows Single-Step
– for debugging; causes interrupt after each op
Influence the 8086 During Execution Phase
17
Dept of ECE,VCET Madurai
18. 8086/8088 Register File (cont)
0
15
IP Contains Address of NEXT Instruction to be Fetched
– Automatically Incremented
– Programmer can control with jump and branch
Instruction Pointer Register
18
Dept of ECE,VCET Madurai
19. AX, BX, CX, DX
• Can Be Used Separately as 1-byte Registers
AX = AH:AL
• Temporary Storage to Avoid Memory Access
– Faster Execution
– Avoids Memory Access
• Some Special uses for Certain Instructions
AH
BH
CH
DH
AL
BL
CL
DL
0
7 0
7
Accumulator
Base
Counter
Data
General Purpose Registers
AX
BX
CX
DX
19
Dept of ECE,VCET Madurai
20. AX, BX, CX, DX - Some Specialized Uses
AX, Accumulator
Main Register for Performing Arithmetic
mult/div must use AH, AL
“accumulator” Means Register with Simple ALU
BX, Base
Point to Translation Table in Memory
Holds Memory Offsets; Function Calls
CX, Counter
Index Counter for Loop Control
DX, Data
After Integer Division Execution - Holds Remainder
AH
BH
CH
DH
AL
BL
CL
DL
0
7 0
7
Accumulator
Base
Counter
Data
AX
BX
CX
DX
20
Dept of ECE,VCET Madurai
21. CS, DS, ES, SS - Segment Registers
CS, Code Segment
Used to “point” to Instructions
Determines a Memory Address (along with IP)
Segmented Address written as CS:IP
DS, Data Segment
Used to “point” to Data
Determines Memory Address (along with other registers)
ES, Extra Segment allows to Data Address Registers
SS, Stack Segment
Used to “point” to Data in Stack Structure (LIFO)
Used with SP or BP
SS:SP or SS:BP are valid Segmented Addresses
Contains “Base Value” for Memory Address
21
Dept of ECE,VCET Madurai
22. IP, SP, BP, SI, DI - Offset Registers
IP, Instruction Pointer
Used to “point” to Instructions
Determines a Memory Address (along with CS)
Segmented Address written as CS:IP
SI, Source Index; DI, Destination Index
Used to “point” to Data
Determines Memory Address (along with other registers)
DS, ES commonly used
SP, Stack Pointer;BP, Base Pointer
Used to “point” to Data in Stack Structure (LIFO)
Used with SS
SS:SP or SS:BP are valid Segmented Addresses
These can also be used as General Registers !!!!!!
Contains “Index Value” for Memory Address
22
Dept of ECE,VCET Madurai
23. Memory Segmentation
• x86 Memory Partitioned into Segments
8086: maximum size is 64K (16-bit index reg.)
8086: can have 4 active segments (CS, SS, DS, ES)
8086: 2-data; 1-code; 1-stack
• Why have segmented memory ?
– Other microprocessors could only address 64K since
they only had a single 16-bit MAR (or smaller).
Segments allowed computers to be built that could use
more than 64K memory (but not all at the same time).
23
Dept of ECE,VCET Madurai
24. ADD
Memory System
Address Lines
0000
Index Reg. Segment Reg.
Physical Address
0
0
0
15
15
19
Portion of BIU Circuitry
CS
ES
SS
DS
IP
Dedicated Segment Registers
Dedicated Index Registers
BP
DI
SI
SP
8086 Generating Physical Addresses
24
Dept of ECE,VCET Madurai
25. 8086 20-bit Addresses
16-bit Segnment Base Address 0000
16-bit Offset Address
20-bit Physical Address
CS
IP
25
Dept of ECE,VCET Madurai
26. Segmented Addressing
CS
ES
SS
DS
IP
BP
DI
SI
SP
• Each Segment must begin at Paragraph Boundary
00000h
00010h
00020h
physical address memory
paragraph 1
paragraph 2
paragraph 3
• Each paragraph has phys. address that is multiple of 10h
• BIU is responsible for appending 0000 to Segment
– only need 16-bit segment registers
26
Dept of ECE,VCET Madurai
27. Segmented Memory (x86 Style)
CS
ES
SS
DS
Data
Segment
Stack
Segment
Extra
Segment
Code
Segment
Segment
Registers
System
Memory
• Segment Registers:
– Point to Base Address
• Index Registers:
– Contain Offset Value
• Notation (Segmented Address):
– CS:IP
– DS:SI
– ES:DI
– SS:BP
– SS:SP
00000h
FFFFFh
fragmentation
27
Dept of ECE,VCET Madurai
29. Segment Locations in Physical Memory
segment a segment b
segment c
segment d
segment e
0h 10000h 20000h 30000h
continuous
partially overlapped fully overlapped
Logical
Segments
Physical
Memory
Note that segments can overlap. This means that two different logical
addresses can refer to the same physical address (aliasing).
29
Dept of ECE,VCET Madurai
30. The offset is the distance in bytes from the start of the segment.
The offset is given by the IP for the Code Segment.
Instructions are always fetched with using the CS register.
The physical address is also called the absolute address
000000H
Memory
Segment Register
Offset
Physical or
Absolute Address
0
+
CS:
IP
0400H
0056H
4000H
4056H
0400
0056
04056H
CS:IP = 400:56
Logical Address
0FFFFFH
Left-shift 4 bits
The Code Segment
30
Dept of ECE,VCET Madurai
31. The Data Segment
Data is usually fetched with respect to the DS register.
The effective address (EA) is the offset.
The EA depends on the addressing mode.
Memory
Segment Register
Offset
Physical Address
+
DS:
EA
05C0
0050
05C00H
05C50H
05C0 0
0050
05C50H
DS:EA
000000
H
0FFFFFH
31
Dept of ECE,VCET Madurai
32. Addressing Modes
DATA1 DW 25H DATA1 is defined as a word (16-bit) variable, i.e., a
memory location that contains 25H.
DATA2 EQU 20H DATA2 is not a memory location but a constant.
Direct Addressing
MOV AX,DATA1 [DATA1] AX, the contents of DATA1 is put into AX.
The CPU goes to memory to get data. 25H is put in AX.
Immediate Addressing
MOV AX,DATA2 DATA2 = 20H AX, 20H is put in AX.
Does not go to memory to get data.
Data is in the instruction.
MOV AX, OFFSET DATA1
The assembler knows which mode to encode by the way the operands SAM and
FRED are defined.
Assembler directive, DW = Define Word
32
Dept of ECE,VCET Madurai
33. Addressing Modes
Register Addressing MOV AX,BX AX BX
Register Indirect Addressing MOV AX,[BX] AX DS:BX
Can use BX or BP -- Based Addressing (BP defaults to SS)
or DI or SI -- Indexed Addressing
The offset or effective address (EA) is in the base or index register.
Register Indirect with Displacement MOV AX,SAM[BX]
AX DS:BX + Offset SAM
Indexed with displacement
Based with displacement
Based-Indexed Addressing MOV AX,[BX][SI] EA = BX + SI
Based-Indexed w/Displacement MOV AX,SAM[BX][DI]
EA = BX + DI + offset SAM
AX DS:EA
where EA = BX + offset SAM
33
Dept of ECE,VCET Madurai
34. Addressing Modes
Branch Related Instructions
Intrasegment
(CS does not change)
Direct -- IP relative displacement
new IP = old IP + displacement
Allows program relocation with
no change in code.
Indirect -- new IP is in memory or a register.
All addressing modes apply.
Intersegment Direct -- new CS and IP are encoded in
(CS changes) the instruction.
Indirect -- new CS and IP are in memory.
All addressing modes apply
except immediate and register.
NEAR JUMPS and CALLS
FAR
34
Dept of ECE,VCET Madurai
35. Assembly Language
The Assembler is a program that reads the source program as
data and translates the instructions into binary machine code.
The assembler outputs a listing of the addresses and machine
code along with the
source code and a binary file (object file) with the machine code.
Most assemblers scan the source code twice -- called a two-pass
assembler.
• The first pass determines the locations of the labels or
identifiers.
• The second pass generates the code.
35
Dept of ECE,VCET Madurai
36. Assembly Language
To locate the labels, the assembler has a location counter.
This counts the number of bytes required by each instruction.
• When the program starts a segment, the location counter is
zero.
• If a previous segment is re-entered, the counter resumes the
count.
• The location counter can be set to any offset by the ORG
directive.
In the first pass, the assembler uses the location counter to
construct a symbol table which contains the offsets or values of the
various labels.
The offsets are used in the second pass to generate operand
addresses.
36
Dept of ECE,VCET Madurai
37. INSTRUCTION SET OF 8086
8086 instructions are categorized as
1)Data Copy/Transfer Instructions
2)Arithmetic and Logical Instructions
3)Branch Instructions
4)Loop Instructions
5)Machine Control Instructions
6)Flag Manipulation Instructions
7)Shift and Rotate Instructions
8)String Instructions
37
Dept of ECE,VCET Madurai
41. PUSH,POP,IN,OUT,XLAT,LAHF,SAHF
• PUSH -Push to Stack(Push operation decrements SP by
two and then stores the two byte contents of the operand on to
the stack)
• POP -Pop from Stack(The stack pointer incremented by
two. Popping register contents from stack memory)
• PUSHF -Push Flags
• POPF -Pop Flags
• IN -Input from Fixed Port/Variable port
• OUT -Output to Fixed Port/Variable port
• XLAT -Translate Byte to AL
• LAHF -Load AH with Flags
• SAHF -Store AH with Flags
41
Dept of ECE,VCET Madurai
49. Compare
• Compares the source operand(reg,imme data,mem loc)
with a destination operand(reg or mem loc).
• Comparison, it subtracts the source operand from the
destination operand.
• Both operands are equal zero flag is set. If the source
operand is greater than the destination operand, carry flag
is set or else carry flag is reset.
Examble
CMP BX,0100H Immediate
CMP [5000H],0100H Direct
CMP BX,[SI] Register indirect
CMP BX,CX Register
49
Dept of ECE,VCET Madurai
60. STRING MANIPULATION INSTRUCTIONS
• REP Repeat Instruction Prefix
• MOVSB/MOVSW Move String Byte or String Word
• CMPS Compare String Byte or String Word
• SCAS Scan String Byte or String Word
• LODS Load String Byte or String Word
• STOS Store String Byte or String Word
60
Dept of ECE,VCET Madurai
61. Unconditional Branch Instructions
• CALL Unconditional Call
• RET Return from the Procedure
• INT N Interrupt Type N
• INTO Interrupt on Overflow
• JMP Unconditional Jump
• IRET Return from ISR
• LOOP Loop Unconditionally
61
Dept of ECE,VCET Madurai
62. Conditional Jumps
Name/Alt Meaning Flag setting
JE/JZ Jump equal/zero ZF = 1
JNE/JNZ Jump not equal/zero ZF = 0
JL/JNGE Jump less than/not greater than or = (SF xor OF) = 1
JNL/JGE Jump not less than/greater than or = (SF xor OF) = 0
JG/JNLE Jump greater than/not less than or = ((SF xor OF) or ZF) = 0
JNG/JLE Jump not greater than/ less than or = ((SF xor OF) or ZF) = 1
JB/JNAE Jump below/not above or equal CF = 1
JNB/JAE Jump not below/above or equal CF = 0
JA/JNBE Jump above/not below or equal (CF or ZF) = 0
JNA/JBE Jump not above/ below or equal (CF or ZF) = 1
JS Jump on sign (jump negative) SF = 1
JNS Jump on not sign (jump positive) SF = 0
JO Jump on overflow OF = 1
JNO Jump on no overflow OF = 0
JP/JPE Jump parity/parity even PF = 1
JNP/JPO Jump no parity/parity odd PF = 0
JCXZ Jump on CX = 0 ---
62
Dept of ECE,VCET Madurai
63. Flag Manipulation
CLC - Clear carry flag
CMC - Complement carry flag
STC - Set carry flag
CLD - Clear direction flag
STD - Set direction flag
CLI - Clear interrupt flag
STI - Set interrupt flag
Processor Control Instructions
WAIT - Wait for Test input pin to go low
HLT - Halt the Processor
NOP - No operation
ESC - Escape to external device like
NDP(numeric co-processor)
LOCK - Bus lock instruction prefix
63
Dept of ECE,VCET Madurai
64. Assembler Directives
ASSUME Tells the assembler what segments to use.
SEGMENT Defines the segment name and specifies that the
code that follows is in that segment
ORG Originate or Origin: sets the location counter
END End of source code
ENDS End of segment
ENDP End of Procedure
NAME Give source module a name
OFFSET Offset of a label
DW Define word
DB Define byte
DQ Define Quad word
DT Define Ten Bytes
64
Dept of ECE,VCET Madurai
65. Assembler Directives
EQU Equate or equivalence
EVEN Align or Even memory address
EXTRN External
PUBLIC Public
GROUP Group the related segments
LABEL Assign current location count to a symbol
LENGTH Byte Length of a Label
LOCAL Lables,variables,constants or procedures declared
LOCAL in module
$ Current location count
PROC Procedure
PTR Pointer(FAR PTR,NEAR PTR)
SEG Segment of a Label
SHORT,TYPE,GLOBAL, “+&-”Operators
65
Dept of ECE,VCET Madurai
67. 67
The Purpose of Interrupts
• Interrupts are useful when interfacing I/O devices with low data-
transfer rates, like a keyboard or a mouse, in which case polling the
device wastes valuable processing time
• The peripheral interrupts the normal application execution,
requesting to send or receive data.
• The processor jumps to a special program called Interrupt Service
Routine to service the peripheral
• After the processor services the peripheral, the execution of the
interrupted program continues.
Printer Interrupt Modem Interrupt Modem Interrupt
Main Program
Main Program
Main Program
Main Program
Dept of ECE,VCET Madurai
68. BASIC INTERRUPT TERMINOLOGY
• Interrupt pins: Set of pins used in hardware interrupts
• Interrupt Service Routine (ISR) or Interrupt handler: code used
for handling a specific interrupt
• Interrupt priority: In systems with more than one interrupt
inputs, some interrupts have a higher priority than other
– They are serviced first if multiple interrupts are triggered
simultaneously
• Interrupt vector: Code loaded on the bus by the interrupting
device that contains the Address (segment and offset) of specific
interrupt service routine
• Interrupt Masking: Ignoring (disabling) an interrupt
• Non-Maskable Interrupt: Interrupt that cannot be ignored
(power-down)
Dept of ECE,VCET Madurai
69. Hardware Interrupts – Interrupt pins and timing
• x86 Interrupt Pins
– INTR: Interrupt Request. Activated by a peripheral device to interrupt the processor.
• Level triggered. Activated with a logic 1.
– /INTA: Interrupt Acknowledge. Activated by the processor to inform the interrupting
device the the interrupt request (INTR) is accepted.
• Level triggered. Activated with a logic 0.
– NMI: Non-Maskable Interrupt. Used for major system faults such as parity errors and
power failures.
• Edge triggered. Activated with a positive edge (0 to 1) transition.
• Must remain at logic 1, until it is accepted by the processor.
• Before the 0 to 1 transition, NMI must be at logic 0 for at least 2 clock cycles.
• No need for interrupt acknowledgement.
Vector
INTR
INTA΄
D7-D0
Dept of ECE,VCET Madurai
70. Software Interrupts
• Traps: (self-interrupt!)
– Single step mode
– Calls to Operating System (INT 21H - x86, SC –
PPC)
• Exceptions:
– Divide by zero
– Memory protection fault
Dept of ECE,VCET Madurai
72. Interrupt Processing
• Save state
– Disable interrupts for the duration of the ISR or allow it
to be interrupted too?
– Save program counter
– Save flags
– Save register values?
• Jump to interrupt service routine
– Location obtained by interrupt vector
• Process interrupt
• Restore state
– Load PC, flags, registers etc.
Dept of ECE,VCET Madurai
73. Interrupt Processing on the 8086
Microprocessor
• External interface sends an interrupt signal, to the Interrupt
Request (INTR) pin, (or an internal interrupt occurs.)
• The CPU finishes the present instruction (for a hardware
interrupt) and checks the INTR pin.
• If IF=0 the processor ignores the interrupt, else sends
Interrupt Acknowledge (INTA) to hardware interface.
• The interrupt type N is sent to the Central Processor Unit
(CPU) via the Data bus from the hardware interface.
• The contents of the flag registers are pushed onto the stack.
Dept of ECE,VCET Madurai
74. • Both the interrupt (IF – FR bit 9) and (TF – FR bit 8) flags are
cleared. This disables the INTR pin and the trap or single-step
feature.
• The contents of the code segment register (CS) are pushed onto the
Stack.
• The contents of the instruction pointer (IP) are pushed onto the
Stack.
• The interrupt vector contents are fetched, from (4 x N) and then
placed into the IP and from (4 x N +2) into the CS so that the next
instruction executes at the interrupt service procedure addressed by
the interrupt vector.
• While returning from the interrupt-service routine by the Interrupt
Return (IRET) instruction, the IP, CS and Flag registers are popped
from the Stack and return to their state prior to the interrupt.
Interrupt Processing on the 8086
Microprocessor
74
Dept of ECE,VCET Madurai
75. Interrupt Vectors
• The processor uses the interrupt vector to determine the address of
the ISR of the interrupting device.
• In the 8088/8086 processor as well as in the 80386/80486/Pentium
processors operating in Real Mode (16-bit operation), the interrupt
vector is a pointer to the Interrupt Vector Table.
– The Interrupt Vector Table occupies the address range from
00000H to 003FFH (the first 1024 bytes in the memory map).
– Each entry in the Interrupt Vector Table is 4 bytes long:
• The first two represent the offset address and the last two the
segment address of the ISR.
– The first 5 vectors are reserved by Intel to be used by the
processor.
• The vectors 5 to 255 are free to be used by the user.
Dept of ECE,VCET Madurai
76. Dept of ECE,VCET Madurai 76
Interrupt Vector Table
Type 0 POINTER
(DIVIDE ERROR)
Type 1 POINTER
(SINGLE STEP)
Type 2 POINTER
(NON-MASKABLE)
Type 3 POINTER
(BREAK POINT)
Type 4 POINTER
(OVERFLOW)
010H
00CH
008H
004H
000H
16 bits
CS base address
IP offset
77. Dept of ECE,VCET Madurai 77
03FFH
Type 5
Reserved
Type 31 (Reserved)
Type 32 (Available)
03FCH
080H
07FH
0014H
Reserved
Interrupts
(27)
Type 255 (Available)
Available
Interrupts
(224)
78. Setting up an Interrupt-Pointer Table
• The first 1 KB of memory is set aside as a table
for storing the starting addresses of ISRs
– these are addresses 00000H to 003FFH
– you need 4 bytes to store the CS and IP values for each
ISR
– thus the table can hold the addresses for 256 ISRs
• Terms
– Interrupt vector/pointer - the starting address of an ISR
– Interrupt vector/pointer table - the table containing the
starting addresses of the ISRs
78
Dept of ECE,VCET Madurai
79. Dept of ECE,VCET Madurai 79
Interrupt Vector Table
INT Number Physical Address
INT 00 00000
INT 01 00004
INT 02 00008
: :
: :
INT FF 003FC
80. Dept of ECE,VCET Madurai 80
Dedicated Interrupts
• Type 0 to Type 4 interrupts are dedicated to
specific interrupts
• Type 5 to Type 31 interrupts are reserved by
Intel for more complex microprocessors
• Type 32 to Type 255 interrupts can be user
specified for dealing with hardware or software
interrupts
81. Dept of ECE,VCET Madurai 81
Type 0 Interrupt Example
• Type 0 specifies a divide by zero interrupt
– Recall DIV instruction
• whenever a quotient from DIV or IDIV
operation is too large to fit in the result
register, a type 0 interrupt happens
automatically
• It’s up to the programmer to handle this interrupt
– one possible is to set a programmer-defined
error flag…BAD_DIV_FLAG
82. Dept of ECE,VCET Madurai 82
Initialization List
• Initialize the interrupt-vector table
– use the ES register
– the starting address of our type 0 ISR needs to
be in locations 00000H and 00002H
• Set up the data segment
– include a declaration for the BAD_DIV_FLAG
– Initialize DS
• Set up a stack
– Initialize SS and SP
83. Dept of ECE,VCET Madurai 83
Single-Step Interrupt - Type 1
• If the TF (trap flag) is set, a type 1 interrupt will
automatically occur
• To implement single-stepping, such as in a
debugger:
– set the trap flag
– write an ISR that saves all registers on the
stack, so they can be examined
– load the address of the ISR into the addresses
00004H and 00006H
84. Dept of ECE,VCET Madurai 84
Nonmaskable Interrupt - Type 2
• Type 2 interrupt automatically occurs when the
CPU receives a low-to-high transition on its NMI
pin
• this type of interrupt cannot be masked by any
program instructions
• normally used to signal that some external
system/device must be taken care of
– pressure sensor on a large steam boiler
– save data in case of a power failure
85. Dept of ECE,VCET Madurai 85
Breakpoint Interrupt -Type 3
• This type of interrupt is produced by executing an
INT 3 instruction
– no automatic triggers
• Useful for debugging
– many debuggers implement breakpoints by
inserting an INT 3 instruction before the
specified instruction
– the Type 3 ISR may then store all the registers
so that they can be examined by the user
86. Dept of ECE,VCET Madurai 86
Overflow Interrupt - Type 4
• This type of interrupt may be produced if
the OF (Overflow flag) is set… but not
automatically triggered
• OF will be set if the signed result of an
arithmetic operation on 2 signed numbers is
too large to be represented in the destination
– 01101100 (108 decimal) + 01010001 (81 decimal),
remember that these are signed!
87. Dept of ECE,VCET Madurai 87
Overflow Interrupt (cont.)
• Can handle OF error using a JO instruction
following arithmetic operation
• Can also use the INTO instruction
– this specifies to Interrupt on Overflow
– if OF is set (1), will execute ISR contained in
the type 4 addresses in the vector table
• INTO is advantageous because you can use the
same ISR for many programs
88. Dept of ECE,VCET Madurai 88
Software Interrupts
• How do I test out my ISR that handles a
type 2 interrupt without directly signaling
the NMI pin?
– Use a software interrupt
INT 2 ; test out NMI ISR
• You can specify values 0 - 255 (decimal) as
operands to the INT instruction
89. Dept of ECE,VCET Madurai 89
INTR Interrupts
• These are hardware interrupts
• can be disabled by clearing IF
CLI ; disable interrupts
• can be enabled by setting IF
STI ; enable interrupts
• The interrupt type is sent to the 8086 from an
external hardware device
– could be an 8259A priority interrupt controller
• Remember, IF is automatically cleared in response
to any type of 8086 interrupt
90. Dept of ECE,VCET Madurai 90
Why Disable INTR Interrupts?
Reason #1
– To prevent an INTR
interrupt from interrupting
a higher priority interrupt
– Interrupt priorities
• Highest - Divide
Error, INT n, INTO
• Lower - NMI
• Still Lower - INTR
• Lowest - Single-Step
Reason #2
-To prevent an interrupt from
continuously interrupting itself
The INTR input is active
high…whenever INTR input is high
and IF is set, the 8086 will be
interrupted
-After IRET, flag is popped
INTR could still possibly be
receiving the same high signal and
cause another interrupt
it is the responsibility of the
external hardware sending the
INTR signal to avoid this
problem