The document provides information about the 80386 microprocessor. It includes questions and answers about various features of the 80386.
In 3 sentences:
The document contains questions and answers about the features of the 80386 microprocessor, including its modes of operation, memory management capabilities, flag register format, and differences between .COM and .EXE file types. It also discusses the DOS-BIOS interface, RISC processor features, Pentium system architecture, and virtual 8086 environment memory management. The questions cover technical details about the 80386 to test understanding of its architecture and operation.
This document provides an introduction to microcomputers and microprocessors. It discusses how a microprocessor is the central processing unit (CPU) of a microcomputer. A microcomputer system consists of a CPU (microprocessor), memory, and input/output devices connected by buses. The document then traces the evolution of microprocessors from the first 4-bit Intel 4004 in 1971 to more advanced 32-bit and 64-bit processors over subsequent decades. It provides details on characteristics of important processors like the Intel 8085, 8086, 80386, and Pentium series. The document concludes with information on the internal structure of the Intel 8085 microprocessor.
The microprocessor is like the brain of a computer system. It accepts binary data from input devices, processes the data according to instructions, and provides output to output devices. Microprocessors require information stored in external memory like RAM to process data. Key components that affect a microprocessor's speed include its clock speed, front side bus speed, number of transistors, and cache memory. Common microprocessor manufacturers are Intel and AMD, and microprocessor technology has evolved significantly over time to include multiple cores and faster clock speeds.
The document discusses the MIPS instruction set architecture (ISA). It covers the components of the MIPS ISA including register operands, memory operands, arithmetic operations, and control flow operations. It also discusses the interplay between high-level languages like C and low-level machine code in the MIPS ISA. Key aspects of the MIPS ISA include its load-store architecture where all operations use register operands, its use of 32 registers to manage data, and its basic instruction format of operation, source operands, and destination operand.
This document provides an overview of microprocessors and microcomputers. It defines a microprocessor as a computer processor contained on a microchip that incorporates most or all of a central processing unit's functions. The document discusses typical microcomputer components like the input, control, arithmetic, memory, and output units. It also describes the von Neumann model, instruction and program definitions, computer languages, bus systems, the fetch-execute cycle, and internal CPU organization. Common microprocessor bit sizes are also outlined.
Introduction to Structured Computer OrganizationLiEdo
The document discusses the evolution of multilevel computer architectures from early machines with multiple hardware levels to modern systems with operating systems and microcode. It provides an overview of important milestones in computer architecture such as different generations of computers and von Neumann's original machine design. Examples are given of different computer families including Intel, Sun Microsystems, and embedded systems.
This document provides an overview of the syllabus for a course on microprocessors and microcontrollers. The course covers the architecture and programming of microprocessors like the Pentium and microcontrollers like the 8051 and PIC. It includes topics like protected mode, interrupts, I/O, and interfacing microcontrollers with sensors and external circuitry. The objectives are to teach students about microcontroller programming and interfacing as well as the architecture of the Pentium microprocessor.
This document provides an overview of the Intel x86 architecture, including its registers, instructions, memory management, interrupts and exceptions, task management, and input/output capabilities. It describes the basic execution environment including memory management registers and control registers. It explains the operation modes of protected mode and real mode, and the memory models. It also summarizes the general purpose instructions, system instructions, privilege levels, basic program execution registers, and memory addressing in the x86 architecture.
The document provides an overview of digital logic concepts including:
- Common logic gates like NAND, NOR, and their truth tables
- Constructing logic gates from each other
- Boolean algebra identities
- Integrated circuits implementing logic functions
- Multiplexers, decoders, comparators, and other common digital components
- Common components in computer systems like adders, arithmetic logic units, clocks, latches, flip-flops, and memory organization
This document provides an introduction to microcomputers and microprocessors. It discusses how a microprocessor is the central processing unit (CPU) of a microcomputer. A microcomputer system consists of a CPU (microprocessor), memory, and input/output devices connected by buses. The document then traces the evolution of microprocessors from the first 4-bit Intel 4004 in 1971 to more advanced 32-bit and 64-bit processors over subsequent decades. It provides details on characteristics of important processors like the Intel 8085, 8086, 80386, and Pentium series. The document concludes with information on the internal structure of the Intel 8085 microprocessor.
The microprocessor is like the brain of a computer system. It accepts binary data from input devices, processes the data according to instructions, and provides output to output devices. Microprocessors require information stored in external memory like RAM to process data. Key components that affect a microprocessor's speed include its clock speed, front side bus speed, number of transistors, and cache memory. Common microprocessor manufacturers are Intel and AMD, and microprocessor technology has evolved significantly over time to include multiple cores and faster clock speeds.
The document discusses the MIPS instruction set architecture (ISA). It covers the components of the MIPS ISA including register operands, memory operands, arithmetic operations, and control flow operations. It also discusses the interplay between high-level languages like C and low-level machine code in the MIPS ISA. Key aspects of the MIPS ISA include its load-store architecture where all operations use register operands, its use of 32 registers to manage data, and its basic instruction format of operation, source operands, and destination operand.
This document provides an overview of microprocessors and microcomputers. It defines a microprocessor as a computer processor contained on a microchip that incorporates most or all of a central processing unit's functions. The document discusses typical microcomputer components like the input, control, arithmetic, memory, and output units. It also describes the von Neumann model, instruction and program definitions, computer languages, bus systems, the fetch-execute cycle, and internal CPU organization. Common microprocessor bit sizes are also outlined.
Introduction to Structured Computer OrganizationLiEdo
The document discusses the evolution of multilevel computer architectures from early machines with multiple hardware levels to modern systems with operating systems and microcode. It provides an overview of important milestones in computer architecture such as different generations of computers and von Neumann's original machine design. Examples are given of different computer families including Intel, Sun Microsystems, and embedded systems.
This document provides an overview of the syllabus for a course on microprocessors and microcontrollers. The course covers the architecture and programming of microprocessors like the Pentium and microcontrollers like the 8051 and PIC. It includes topics like protected mode, interrupts, I/O, and interfacing microcontrollers with sensors and external circuitry. The objectives are to teach students about microcontroller programming and interfacing as well as the architecture of the Pentium microprocessor.
This document provides an overview of the Intel x86 architecture, including its registers, instructions, memory management, interrupts and exceptions, task management, and input/output capabilities. It describes the basic execution environment including memory management registers and control registers. It explains the operation modes of protected mode and real mode, and the memory models. It also summarizes the general purpose instructions, system instructions, privilege levels, basic program execution registers, and memory addressing in the x86 architecture.
The document provides an overview of digital logic concepts including:
- Common logic gates like NAND, NOR, and their truth tables
- Constructing logic gates from each other
- Boolean algebra identities
- Integrated circuits implementing logic functions
- Multiplexers, decoders, comparators, and other common digital components
- Common components in computer systems like adders, arithmetic logic units, clocks, latches, flip-flops, and memory organization
This document contains questions and answers related to the 8085 microprocessor and its architecture. Some key details include:
- The 8085 is an 8-bit microprocessor that uses registers like the accumulator, temporary, instruction, and stack pointer registers. The stack pointer and program counter are 16-bits.
- It uses flags like sign, zero, auxiliary, parity, and carry. The stack is LIFO and the program counter stores the address of the next instruction.
- When the HLT instruction is executed, the processor enters a halt state and the buses are tri-stated. Interrupts are classified as hardware or software.
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCPriyodarshini Dhar
This document provides an introduction and overview of four different computer architectures: VAX 8600, MC 68040, SPARC, and superscalar RISC processors. It describes key features of each including their instruction set architecture, register usage, pipeline design, and other performance optimizations. The VAX 8600 was an early CISC system with a six-stage pipeline. The MC 68040 was also CISC-based with separate integer and floating point units. SPARC introduced the concept of overlapped register windows to improve procedure calls. Superscalar RISC processors allow multiple instructions to issue concurrently to different execution units each cycle.
Time delay programs and assembler directives 8086Dheeraj Suri
Instructor's slides for writing time delay programs in 8086 microprocessor. Also an introduction to assembler directives and their advantage in writing assembly language programs.
The document discusses the register set and addressing modes of the Motorola 68020 microprocessor. It describes the 18 different addressing modes, including register direct, register indirect, address register indirect with index/displacement, memory indirect, program counter indirect, absolute, and immediate. It provides details on the types of registers in the 68020, which include 8 data registers, 7 address registers, 3 stack pointers, a program counter, condition code, and status and control registers.
Semiconductor Memory Fundamentals
Memory Types
Memory Structure and its requirements
Memory Decoding
Examples
Input - Output Interfacing
Types of Parallel Data Transfer or I/O Techniques
This document describes the design, implementation, and testing of a 16-bit reduced instruction set computer (RISC) processor. The processor was implemented on a Xilinx XC3S400 field programmable gate array (FPGA) and has an instruction set of 8 instructions. The processor design includes a 5-stage pipeline with forwarding logic to handle data hazards and a modified datapath to handle control hazards from branches. Testing was done by writing sample assembly code to the instruction memory and observing the processor's operation via serial transmission of register values and other signals. The results demonstrated stalls from data dependencies and a one clock cycle branch delay as intended.
The document discusses the organization and operation of computer systems at both the hardware and software level. It covers topics such as the central processing unit, instruction execution, pipelining, parallelism, memory hierarchies, storage devices, input/output, networking, and encoding of digital data. The document contains detailed diagrams and explanations of how different components of computer systems work individually and interact together.
This document compares RISC and CISC architectures by examining the MIPS R2000 and Intel 80386 processors. It discusses the history of RISC and CISC, providing examples of each. Experiments using benchmarks show that while the 80386 executes fewer instructions on average than the R2000, the difference is small at around a 2x ratio. Both instruction sets are becoming more alike over time. In the end, performance depends more on how fast a chip executes rather than whether it is RISC or CISC.
INTEL x86 AND ARM DATA TYPES
⦁ Are instructions set architecture
⦁ Change code into instructions a processor can understand and execute.
⦁ Determines which operating systems and apps to run.
The document summarizes the history and architecture of Intel Pentium processors. It discusses the evolution from early 4-bit and 8-bit processors to later 32-bit processors including Pentium, Pentium Pro, and Pentium II. It describes the Pentium architecture including registers, protected mode with segmentation and paging for address translation, and real mode with segmented memory. Protected mode supports 32-bit addressing while real mode uses 16-bit segments. Mixed mode operation allows combining 16-bit and 32-bit code.
The document discusses the basics of the Intel 8085 microprocessor. It covers what a microprocessor is, including that it is a programmable device that processes binary numbers according to instructions stored in memory. It then discusses the specific 8085 microprocessor, including its 8-bit word size and 74 instruction set represented through 246 opcodes. The document also introduces assembly language as a more human readable representation of machine language instructions.
The x86 instruction set architecture began with Intel's 16-bit processors in the 1980s and has since evolved through numerous extensions. It supports multiple execution modes including 16-bit real mode, 32-bit protected mode, and 64-bit long mode. The instruction format includes optional prefixes, opcode bytes, addressing fields, and immediate data. General purpose registers are used for operands along with memory addressing modes. Subsequent x86 architectures, such as AMD64, expanded register sizes and added new instructions while maintaining backwards compatibility.
The document provides details about the Pentium II processor, including that it is part of the P6 family of processors and utilizes Intel's MMX technology. It has multiple low power states for energy efficiency and utilizes a multi-processing system bus like the Pentium Pro. The processor uses a 12-stage pipeline and superscalar architecture to achieve high clock rates. It has an L2 cache in a Single Edge Contact cartridge packaging and uses the same dynamic execution microarchitecture as other P6 family processors.
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015vtunotesbysree
The document provides information about solved question papers for various competitive exams in computer science that can be found at a given URL. It then provides the answers to three questions from a microprocessors exam, including defining a microprocessor and explaining the programming model of the 8086 through Core 2 microprocessors. It also explains the internal architecture of the 8086 microprocessor and various bits of the flag register for the 8086.
This document discusses serial communication in the Atmega328P microcontroller. It describes serial communication as bit-by-bit transmission that requires conversion between parallel and serial, and can operate over longer distances than parallel communication. The document outlines synchronous and asynchronous serial communication, common interface standards like RS-232, SPI, and serial communication protocols in the Atmega328P like USART and SPI.
The x86 instruction set provides a complex array of operation types to optimize machine code translation of high-level languages. These include data movement, arithmetic, logical, control transfer, string, high-level language support, and SIMD instructions. The x86 also defines status flags and condition codes that are used for conditional jumps and other conditional operations. Specialized x86 instructions help support procedure calls, returns, and memory management functions.
This document provides an introduction to the 8085 microprocessor. It discusses the basic concepts of microprocessors including the internal components of a microprocessor like the ALU and control unit. It describes the different parts of the 8085 architecture like the accumulator, registers, flags, and arithmetic logic unit. It also explains the addressing modes, instruction set, and interrupts of the 8085 microprocessor. Various instructions of the 8085 like data transfer, arithmetic, and logic instructions are discussed along with examples.
This document provides an introduction to protected mode memory management in x86 microprocessors. It discusses key concepts like memory segmentation, privilege levels, and descriptor tables which the processor uses to implement protection between processes and enable virtual memory. Segmentation allows logically separating code, data, and stack segments to prevent processes from interfering with each other's memory.
This document provides an outline for the course CS-214 Computer Organization and Assembly Language. The course covers various topics related to computer systems including information representation, machine-level representation of programs, processor architecture, and the Y86 instruction set. Assessment is based on 4 credits with prerequisites of Digital Logic and Design. Required textbooks include Computer Systems: A Programmer's Perspective, MIPS Assembly Language Programming, and Computer System Architecture. The course is taught by Syed Muhammad Rafi from the Department of Software Engineering at Ziauddin University.
This document contains questions and answers related to the 8085 microprocessor and its architecture. Some key details include:
- The 8085 is an 8-bit microprocessor that uses registers like the accumulator, temporary, instruction, and stack pointer registers. The stack pointer and program counter are 16-bits.
- It uses flags like sign, zero, auxiliary, parity, and carry. The stack is LIFO and the program counter stores the address of the next instruction.
- When the HLT instruction is executed, the processor enters a halt state and the buses are tri-stated. Interrupts are classified as hardware or software.
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCPriyodarshini Dhar
This document provides an introduction and overview of four different computer architectures: VAX 8600, MC 68040, SPARC, and superscalar RISC processors. It describes key features of each including their instruction set architecture, register usage, pipeline design, and other performance optimizations. The VAX 8600 was an early CISC system with a six-stage pipeline. The MC 68040 was also CISC-based with separate integer and floating point units. SPARC introduced the concept of overlapped register windows to improve procedure calls. Superscalar RISC processors allow multiple instructions to issue concurrently to different execution units each cycle.
Time delay programs and assembler directives 8086Dheeraj Suri
Instructor's slides for writing time delay programs in 8086 microprocessor. Also an introduction to assembler directives and their advantage in writing assembly language programs.
The document discusses the register set and addressing modes of the Motorola 68020 microprocessor. It describes the 18 different addressing modes, including register direct, register indirect, address register indirect with index/displacement, memory indirect, program counter indirect, absolute, and immediate. It provides details on the types of registers in the 68020, which include 8 data registers, 7 address registers, 3 stack pointers, a program counter, condition code, and status and control registers.
Semiconductor Memory Fundamentals
Memory Types
Memory Structure and its requirements
Memory Decoding
Examples
Input - Output Interfacing
Types of Parallel Data Transfer or I/O Techniques
This document describes the design, implementation, and testing of a 16-bit reduced instruction set computer (RISC) processor. The processor was implemented on a Xilinx XC3S400 field programmable gate array (FPGA) and has an instruction set of 8 instructions. The processor design includes a 5-stage pipeline with forwarding logic to handle data hazards and a modified datapath to handle control hazards from branches. Testing was done by writing sample assembly code to the instruction memory and observing the processor's operation via serial transmission of register values and other signals. The results demonstrated stalls from data dependencies and a one clock cycle branch delay as intended.
The document discusses the organization and operation of computer systems at both the hardware and software level. It covers topics such as the central processing unit, instruction execution, pipelining, parallelism, memory hierarchies, storage devices, input/output, networking, and encoding of digital data. The document contains detailed diagrams and explanations of how different components of computer systems work individually and interact together.
This document compares RISC and CISC architectures by examining the MIPS R2000 and Intel 80386 processors. It discusses the history of RISC and CISC, providing examples of each. Experiments using benchmarks show that while the 80386 executes fewer instructions on average than the R2000, the difference is small at around a 2x ratio. Both instruction sets are becoming more alike over time. In the end, performance depends more on how fast a chip executes rather than whether it is RISC or CISC.
INTEL x86 AND ARM DATA TYPES
⦁ Are instructions set architecture
⦁ Change code into instructions a processor can understand and execute.
⦁ Determines which operating systems and apps to run.
The document summarizes the history and architecture of Intel Pentium processors. It discusses the evolution from early 4-bit and 8-bit processors to later 32-bit processors including Pentium, Pentium Pro, and Pentium II. It describes the Pentium architecture including registers, protected mode with segmentation and paging for address translation, and real mode with segmented memory. Protected mode supports 32-bit addressing while real mode uses 16-bit segments. Mixed mode operation allows combining 16-bit and 32-bit code.
The document discusses the basics of the Intel 8085 microprocessor. It covers what a microprocessor is, including that it is a programmable device that processes binary numbers according to instructions stored in memory. It then discusses the specific 8085 microprocessor, including its 8-bit word size and 74 instruction set represented through 246 opcodes. The document also introduces assembly language as a more human readable representation of machine language instructions.
The x86 instruction set architecture began with Intel's 16-bit processors in the 1980s and has since evolved through numerous extensions. It supports multiple execution modes including 16-bit real mode, 32-bit protected mode, and 64-bit long mode. The instruction format includes optional prefixes, opcode bytes, addressing fields, and immediate data. General purpose registers are used for operands along with memory addressing modes. Subsequent x86 architectures, such as AMD64, expanded register sizes and added new instructions while maintaining backwards compatibility.
The document provides details about the Pentium II processor, including that it is part of the P6 family of processors and utilizes Intel's MMX technology. It has multiple low power states for energy efficiency and utilizes a multi-processing system bus like the Pentium Pro. The processor uses a 12-stage pipeline and superscalar architecture to achieve high clock rates. It has an L2 cache in a Single Edge Contact cartridge packaging and uses the same dynamic execution microarchitecture as other P6 family processors.
VTU 4TH SEM CSE MICROPROCESSORS SOLVED PAPERS OF JUNE-2014 & JUNE-2015vtunotesbysree
The document provides information about solved question papers for various competitive exams in computer science that can be found at a given URL. It then provides the answers to three questions from a microprocessors exam, including defining a microprocessor and explaining the programming model of the 8086 through Core 2 microprocessors. It also explains the internal architecture of the 8086 microprocessor and various bits of the flag register for the 8086.
This document discusses serial communication in the Atmega328P microcontroller. It describes serial communication as bit-by-bit transmission that requires conversion between parallel and serial, and can operate over longer distances than parallel communication. The document outlines synchronous and asynchronous serial communication, common interface standards like RS-232, SPI, and serial communication protocols in the Atmega328P like USART and SPI.
The x86 instruction set provides a complex array of operation types to optimize machine code translation of high-level languages. These include data movement, arithmetic, logical, control transfer, string, high-level language support, and SIMD instructions. The x86 also defines status flags and condition codes that are used for conditional jumps and other conditional operations. Specialized x86 instructions help support procedure calls, returns, and memory management functions.
This document provides an introduction to the 8085 microprocessor. It discusses the basic concepts of microprocessors including the internal components of a microprocessor like the ALU and control unit. It describes the different parts of the 8085 architecture like the accumulator, registers, flags, and arithmetic logic unit. It also explains the addressing modes, instruction set, and interrupts of the 8085 microprocessor. Various instructions of the 8085 like data transfer, arithmetic, and logic instructions are discussed along with examples.
This document provides an introduction to protected mode memory management in x86 microprocessors. It discusses key concepts like memory segmentation, privilege levels, and descriptor tables which the processor uses to implement protection between processes and enable virtual memory. Segmentation allows logically separating code, data, and stack segments to prevent processes from interfering with each other's memory.
This document provides an outline for the course CS-214 Computer Organization and Assembly Language. The course covers various topics related to computer systems including information representation, machine-level representation of programs, processor architecture, and the Y86 instruction set. Assessment is based on 4 credits with prerequisites of Digital Logic and Design. Required textbooks include Computer Systems: A Programmer's Perspective, MIPS Assembly Language Programming, and Computer System Architecture. The course is taught by Syed Muhammad Rafi from the Department of Software Engineering at Ziauddin University.
Microprocessors are computer components made from transistors on a single chip that serve as the central processing unit (CPU) of computers. Microcontrollers are specialized microprocessors designed to control electronic devices. The key differences are that microcontrollers incorporate additional features like RAM, ROM, I/O ports directly on the chip to be self-sufficient, whereas microprocessors rely on external components. An 80286 microprocessor has features like a 16-bit data bus, 24-bit address bus, and memory management abilities. It was used in early PCs and can address up to 16MB of RAM. Microcontrollers are commonly found in embedded systems like appliances and control specific tasks without changes throughout their lifetime.
The 8086 CPU has two functional units - the Bus Interface Unit (BIU) and Execution Unit (EU). The BIU fetches instructions and data from memory and writes data to memory or ports. It uses an instruction queue to pre-fetch up to 6 bytes to improve execution speed. The EU decodes instructions and performs operations using its 16-bit ALU. The 8086 has general purpose registers including AX, BX, CX and DX and segment registers for addressing memory. It uses flags to indicate the result of operations.
A 16-bit microprocessor I designed during my final semester (2005) of my Bachelor of Technology program. The microprocessor circuitry design was coded in VHDL and then configured in a Xilinx XC9572 PC84 CPLD kit. Most of the design, the architecture and the instruction set were taken from Computer System Architecture (3rd ed.) by M. Morris Mano. See https://github.com/susam/mano-cpu for VHDL source code and other related files.
The document describes various aspects of memory addressing in Intel microprocessors from 8086 to Core2. It discusses register types, including general purpose, segment, special purpose and flag registers. It details real mode, protected mode and flat 64-bit memory addressing techniques. Real mode uses segment and offset registers to access the first 1MB of memory. Protected mode allows access above 1MB using segment selectors and 32-bit offsets. The 64-bit flat mode uses a single 64-bit 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 details about the 80386 processor architecture in real mode. It discusses the 80386 features, architecture, register set, memory addressing, and segmentation in real mode. The architecture of 80386 consists of the central processing unit, memory management unit, and bus interface unit. The central processing unit contains the instruction decoder and execution unit. The execution unit performs operations using the data unit, control unit, and test protection unit.
The 80386 microprocessor was introduced by Intel in 1985. It had a 32-bit data bus and 32-bit address bus, allowing it to access up to 4GB of memory. It improved on the 80286 by including a memory management unit and paging capability, improving efficiency and reducing software overhead. The 80386 could operate in real, protected, and virtual modes and introduced concepts such as paging and virtual memory. It had enhanced addressing modes and data types compared to earlier processors.
The document describes the Intel 80386 microprocessor, which was introduced in 1985. Some key points:
- It has a 32-bit address bus and 32-bit data bus, allowing it to access up to 4GB of memory. This was an improvement over earlier Intel processors.
- Other upgrades included higher clock speeds, a memory management unit, and support for virtual memory and paging.
- The 80386 introduced protected mode, which allowed for multitasking and memory protection. It had three operating modes: real, protected, and virtual 8086.
- It had various addressing modes, data types, and registers like general purpose registers, segment registers, and flag registers. Debug and test
The 80386 microprocessor was introduced by Intel in 1985. It had a 32-bit data bus and 32-bit address bus, allowing it to access up to 4GB of memory. It improved on the 80286 by including a memory management unit and paging capabilities. The 80386 operated in real, protected, and virtual modes and could address memory using various addressing modes including scaled indexed addressing. It had enhanced 32-bit registers and introduced debugging features like breakpoints using debug registers. Paging divided memory into fixed-size pages allowing more efficient memory management for multitasking systems.
The document discusses the introduction to microprocessors and microcomputers. It begins by defining a microcomputer as a small, inexpensive computer with a microprocessor as its central processing unit. It then covers topics like the block diagram of a microcomputer, machine language, assembly language, what is a microprocessor, and the working of a microprocessor. It also provides details about the 8085 microprocessor architecture including its register array, ALU, instruction decoding, interrupts, I/O ports, pin descriptions and status signals.
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.
An embedded system is a specialized computer system that is part of a larger mechanical or electrical system. It performs predefined tasks, unlike a general purpose computer. The document discusses embedded systems and provides examples like refrigerators and mobile phones. It also describes microprocessors, microcontrollers, and the 8051 microcontroller architecture in detail. Applications of embedded systems mentioned include signal processing, distributed control, and small systems.
The Intel 80286 is the first microprocessor with memory management and protection abilities. It has a 16-bit data bus, 24-bit address bus, and can address up to 16MB of physical memory. Key features include virtual memory management, protection abilities through its integrated memory management unit, and two operating modes - real address mode and protected virtual address mode. The 80286 also introduced additional instructions for memory management and protection compared to earlier Intel processors.
The document discusses the basic internal structure and operation of a microprocessor. It describes the main components including the arithmetic logic unit (ALU), control unit, register set, accumulator, condition code register, program counter, stack pointer, and bus systems. The control unit coordinates the other components to execute instructions. The ALU performs arithmetic and logical operations on data from the registers and memory. Example microprocessors discussed include the Intel 8085 and MIPS.
This document provides information about the 8085 and 8086 microprocessors. It begins with definitions of a microprocessor and details about the 8085 such as its power supply, clock frequency, and functions of the accumulator. It then discusses the 8085's registers, allowed register pairs, purpose of SID and SOD lines, and function of the IO/M signal. The document lists the categories of 8085 instructions and examples. It explains the differences between JMP and CALL instructions and shift and rotate instructions. Other topics covered include wait states, 8085 interrupts, its signal classification, operations performed on data, and the steps to fetch a byte. The document concludes with questions about the 8086's software aspects, multiprocessor
The document discusses the history and architecture of microprocessors. It begins with the earliest 4-bit microprocessor, the Intel 4004 from 1971. It then covers the development of 8-bit, 16-bit, 32-bit and now modern 64-bit microprocessors. The core components of a microprocessor including the ALU, registers, and control unit are described. Specific examples like the Intel 8085 8-bit microprocessor are explained in detail, including its architecture, registers, flags, and sample assembly language programs.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
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.
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...PriyankaKilaniya
Energy efficiency has been important since the latter part of the last century. The main object of this survey is to determine the energy efficiency knowledge among consumers. Two separate districts in Bangladesh are selected to conduct the survey on households and showrooms about the energy and seller also. The survey uses the data to find some regression equations from which it is easy to predict energy efficiency knowledge. The data is analyzed and calculated based on five important criteria. The initial target was to find some factors that help predict a person's energy efficiency knowledge. From the survey, it is found that the energy efficiency awareness among the people of our country is very low. Relationships between household energy use behaviors are estimated using a unique dataset of about 40 households and 20 showrooms in Bangladesh's Chapainawabganj and Bagerhat districts. Knowledge of energy consumption and energy efficiency technology options is found to be associated with household use of energy conservation practices. Household characteristics also influence household energy use behavior. Younger household cohorts are more likely to adopt energy-efficient technologies and energy conservation practices and place primary importance on energy saving for environmental reasons. Education also influences attitudes toward energy conservation in Bangladesh. Low-education households indicate they primarily save electricity for the environment while high-education households indicate they are motivated by environmental concerns.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Gas agency management system project report.pdfKamal Acharya
The project entitled "Gas Agency" is done to make the manual process easier by making it a computerized system for billing and maintaining stock. The Gas Agencies get the order request through phone calls or by personal from their customers and deliver the gas cylinders to their address based on their demand and previous delivery date. This process is made computerized and the customer's name, address and stock details are stored in a database. Based on this the billing for a customer is made simple and easier, since a customer order for gas can be accepted only after completing a certain period from the previous delivery. This can be calculated and billed easily through this. There are two types of delivery like domestic purpose use delivery and commercial purpose use delivery. The bill rate and capacity differs for both. This can be easily maintained and charged accordingly.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELijaia
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
Advanced Microprocessors
1. - 1 -
T.Y. Diploma : Sem. VI
[CD/CO]
Advanced Microprocessor
Time: 3 Hrs.] Prelim Question Paper Solution [Marks : 100
Q.1Attempt any FIVE of the following: [20]
Q.1(i) State the features of 80386 microprocessor [4]
Ans.: Features of 80386: [Each feature - ½ marks]
1. It is a 132 PGA (pin grid array) with 32 bits non multiplexed data bus and 32 bits
address bus.
2. It works in 3 modes: real, protected and virtual 8086 mode (V-86).
3. It can address total 232 i.e., 4GB physical memory with the help of its 32 bits address
lines.
4. The integrated memory management unit in 80386 supports segmentation and paging of
memory.
5. It supports the interface of 80387-DX coprocessor IC to perform the complex floating
point arithmetic operations.
6. It supports 64TB virtual memory.
7. It has a integrated memory management unit which supports the virtual memory and
four levels of protections.
8. It has a on chip clock divider circuitry.
9. It has BIST (built in self test) feature which tests approximately one half of the
80386 processor when RESET and BUSY are active.
10. It has breakpoint registers to provide the breakpoint traps on code (instructions)
execution or data access.
11. It supports instruction pipelining with the help of 16 bytes instruction pre fetch queue.
12. It has 8,32 bit General Purpose bits registers to store the data and address at the time
of programming.
13. It has 8 debug registers DR0-DR7 for hardware debugging and control.
14. It has a 32 bit E flag register.
15. It supports the dynamic bus sizing by which the 80386 can be interfaced to 16 bits
devices effectively. And also supports the 8bits, 16 bits and 32 bits operands.
16. It operates on 20 MHz and 33 MHz frequency.
Q.1(ii) Differentiate between .COM and .EXE programs. (any four points) [4]
Ans.: [Each point 1 marks]
.COM programs .EXE Programs
1. .COM file does not contain any
header
.EXE file contains header
2. .COM file connot contain relocation
items.
.EXE file may contain relocation items.
3. Maximum size is 64k minus 256
bytes, for PSP and 2 bytes for stack
No limit on size; Can be of any size
4. Entry point is PSP:0100 Entry point is defined by END directive.
5. Stack size is 64K minus 256 bytes
for PSP and size of executable data
and code.
Stack size is defined in a program with
STACK directive.
6. Size of file is exact size of program Size of file is size of program plus header
(Multiple of 256 bytes)
2. Vidyalankar : T.Y. Diploma AMP
- 2 -
Q.1(iii) Draw the format of flag register of Intel 80386 microprocessor and describe any
four salient flags of 80386 microprocessor.
[4]
Ans.: [format 2 marks and each flag explanation ½ mark]
Status flags: these reflect the result of the operations performed by the ALU.
CF (D0): Carry Flag – this flag is set when there is a carry out of MSB in case of addition
or borrow in case of subtraction. Few other instructions also affect the carry flag.
PF (D2): Parity Flag – this flag is set when lower byte of the result contains even no. of 1’s
or all zeros.
AF (D4): Auxiliary Carry Flag – this flag is set if there is a carry from lowest nibble i.e.
bit three during addition or borrow from the lowest nibble i.e. bit three during subtraction.
(Remember we always start with the bit0. So the lower byte will be bit7-bit0 and lower
nibble will be bit3-bit0).
ZF (D6): Zero Flag – this flag is set when the result of any computation is zero.
SF (D7): Sign Flag – this flag is set when the result of any computation is negative. For
signed computations, the sign flag equals the MSB of the result.
OF (D11): Overflow Flag – this flag is set when an overflow occurs i.e. if the result of the
signed operation is large enough to be accommodated in a destination register.
Control flags: there are three control flags and they are used for controlling machine
operation.
TF (D8): Trap Flag – when this flag is set the processor enters single step execution mode.
So a trap interrupt is generated after execution of each instruction. The processor
executes the current instruction and the control is transferred to the Trap interrupt
service routine (ISR).
IF (D9): Interrupt Flag – when this flag is set all the maskable interrupts are recognized.
When this flag is zero then all the maskable interrupts are ignored.
DF (D10): Direction Flag – this is used by string manipulation instructions. When this flag
is zero, the string is processed starting with the lowest address to the highest address i.e.
auto-incrementing mode. Otherwise the string is processed from the highest address
towards the lowest address i.e. auto-decrementing mode.
IOPL (D11&D12): I/O Privilege Level –It specifies one of four different privilege levels
necessary to perform I/O operations. These two bits generally contain 00b when operating
in real mode on the 80386.
NT (D13): Nested Task- controls the operation of an interrupt return (IRET) instruction.
NT is normally zero for real-mode programs.
RF (D16): Resume flag: this flag is used with debug registers breakpoints. It is checked at
the starting of every machine cycle. If it is set, any debug fault is ignored during
instruction cycle. This flag is automatically reset after successful execution of every
instruction, except for IRET and POPF.
VM (D17): Virtual Mode flag- if this flag is set, the 80386 enters the virtual 8086 mode
within the protected mode.
3. Prelim Question Paper Solution
- 3 -
Q.1(iv) State and describe the significance of separate code and data cache in Pentium
processor.
[4]
Ans.: [2 marks for each explanation]
Separate 8K B instruction and Data Cache:
The Pentium processor has 2 separate 8KB data and code Caches. But they need more
bandwidth than the unified cache.
Both the caches have TLB’s associated with them. The TLBs are used to cover the linear
addresses to the respective physical addresses.
As the data cache stores only 8KB data and code cache stores only instructions, the lookup
process speed for Pentium increases.
Advantages of separate instruction and data caches:
1. Separate code and data cache memories effectively and efficiently executes the branch
prediction.
2. Simultaneous cache look up is achieved by Pentium processor due to the separate data
and code cache.
3. The separate cache memories raise the system performance i.e. an internal read request
is performed more quickly than a bus cycle to memory.
4. They reduce the use of processor’s external bus when the same locations are accessed
multiple times.
Q.1(v) With the neat diagram, describe the selector fields in 80386 microprocessor [4]
Ans.: [Diagram 1 mark and Explanation 3 marks]
A protected-mode segment register holds a 16-bit segment selector (see the figure below).
Unlike in real mode, the selector has nothing to do with the segment's location in memory.
Instead, the value in the register is an index into a table of segment descriptors. Each
descriptor defines one segment and determines where the segment resides, the segment
type, and other important parameters such as the access rights.
TI Table indicator:
0 means selector indexes into GDT
1 means selector indexes into LDT
RPL Privelege level. Linux uses only two privilege levels.
0 means kernel
3 means user.
4. Vidyalankar : T.Y. Diploma AMP
- 4 -
Q.1(vi) Describe the DOS-BIOS interface with the help of neat diagram. [4]
Ans.: [Diagram 2 marks Explanation 2 marks]
DOS-BIOS interface is as shown in the following diagram:
BIOS contains a set of routines in a ROM to provide the device supports. The BIOS tests
and initializes attached devices and provide services that are used for reading to and
writing from the devices.
One task of DOS is to interface with BIOS when there is a need to access its facilities.
When the user program requests a service of DOS, it may transfer the request to BIOS
which in turn accesses the requested device.
Sometimes, a program makes a direct request to BIOS, especially for keyboard and screen
services.
Q.1(vii)Describe the basic features of RISC processor. [4]
Ans.: [Each feature 1 mark]
RISC, or Reduced Instruction Set Computer is a type of microprocessor architecture that
utilizes a small, highly-optimized set of instructions, rather than a more specialized set of
instructions often found in other types of architectures.
1. Simple instruction set: in a RISC machine, the instruction set contains simple basic
instructions, from which more complex instructions can be composed. These instructions
with less latency are preferred.
2. Same length instructions: each instruction is of same length, so that it may be fetched
in a single operation. The traditional microprocessors from intel or Motorola support
variable length instructions.
3. Single machine cycle instruction: most instructions complete in one machine cycle,
which allows the processor to handle several instructions at the same time. RISC
processors have unity CPI(clock per instruction), which is due to optimization of each
instruction on the CPU and massive pipelining embedded in a RISC processor.
4. Pipelining: usually massive pipelining is embedded in a RISC processor. The pipelining is
key to speed up RISC machines.
5. Very few addressing modes and formats: unlike the CISC processors, where the
number of addressing modes are very high. In RISC processors the addressing modes
are much less and it supports few formats.
6. Large number of registers: the RISC design philosophy generally incorporates a larger
number of registers to prevent in large amounts of interactions with memory.
7. Micro-coding is not required: Unlike in CISC machines, in RISC architecture,
instruction micro-coding is not required. This is because of the availability of a set of
simple instructions and simple instructions may be easily built into the hardware.
8. Load and Store architecture: the RISC architecture is primarily a Load and Store
architecture, implying that all the memory accesses takes place using Load and Store
type operations.
5. Prelim Question Paper Solution
- 5 -
Q.2 Attempt any TWO the following in brief : [16]
Q.2(a) With the help of neat diagram describe the function of internal block of Pentium
System Architecture.
[4]
Ans.: [Diagram 4 marks and Explanation 4 marks]
Pentium Architecture
Pentium processor uses Superscalar architecture and hence can issue multiple
instructions per cycle.
Multiple Instruction Issue (MII) capability.
Pentium processor executes instructions in five stages. This staging, or pipelining, allows
the processor to overlap multiple instructions so that it takes less time to execute two
instructions in a row.
1. Pre-fetch/Fetch: Instructions are fetched from the instruction cache and aligned
in pre-fetch buffers for decoding.
2. Decode1: Instructions are decoded into the Pentium's internal instruction format.
Branch prediction also takes place at this stage.
3. Decode2: Same as above, and microcode ROM kicks in here, if necessary. Also,
address computations take place at this stage.
4. Execute: The integer hardware executes the instruction.
5. Write-back: The results of the computation are written back to the register file.
Branch Prediction Unit: The Pentium processor fetches the branch target instruction
before it executes the branch instruction. The branch prediction algorithm speeds up
the instruction execution. When a branching occurs, a branch instruction address and
target address is saved in Branch target Buffer (BTB). And these BTB records are used
after decoding the branching instruction. And CPU predicts whether the branch will be
taken or not. If the prediction is correct, the process continues and if prediction is
incorrect, the CPU flushes the pipeline and fetches from the correct target address.
The Pentium processor has two separate 8-kilobyte (KB) caches on chip, one for
instruction and one for data. It allows the Pentium processor to fetch data and
instructions from the cache simultaneously. When data is modified, only the data in the
cache is changed. Memory data is changed only when the Pentium processor replaces the
modified data in the cache with a different set of data.
The Pentium processor has been optimized to run critical instructions in fewer clock
cycles than the 80486 processor.
Floating Point Unit: There are 8 general-purpose 80-bit Floating point registers.
Floating point unit has 8 stages of pipelining. First five are similar to integer unit. Since
the possibility of error is more in Floating Point unit (FPU) than in integer unit,
additional error checking stage is there in FPU.
6. Vidyalankar : T.Y. Diploma AMP
- 6 -
Q.2(b) List any four file handling functions of INT 21H. Describe the functions with
their syntax and usages.
[4]
Ans.: [Each explanation 1 mark]
(1) 3CH: to create file
This function creates a file with indicated attributes and opens the file
Registers to be used before calling the function using INT 21H:
CX=File Attribute DS: DX - full file path (zero terminated) – an ASCIIZ String file
descriptor; a start variable in data segment loaded to DX
Syntax: mov ah, 3Ch; function 3Ch - create a file
int 21h ; transfer to DOS
(2) 3DH: to open file
This function opens the indicated file
Registers to be used before calling the function using INT 21H:
DS: DX - an ASCIIZ String file descriptor
AL = Access Code and sharing modes are as follows
00H - Open for reading mode
01H - open for writing mode
02H – open for read/write mode
Syntax: mov ah, 3Dh; function 3Dh - open the file
int 21h; transfer to DOS
(3) 3EH: to close the file
This function closes the indicated file
Registers to be used before calling the function using INT 21H :
BX = file handle
Syntax: mov ah, 3Eh; function 3Eh - close a file
int 21h; transfer to DOS
(4) 3FH: to read the file
This function reads up to CX bytes from the Indicated file into the specified memory
buffer. On successful return, the AX Register contains the number of bytes actually
read.
Registers to be used before calling the function using INT 21H:
BX = file handle
CX = number of bytes to read
DS:DX -> buffer for data
Syntax: mov ah, 3Fh; function 3Fh – read the file
int 21h; transfer to DOS
(5) 40H: to write to the file
This function writes the specified number of bytes from a buffer to a file or device.
Registers to be used before calling the function using INT 21H:
BX = file handle
CX = number of bytes to write
DS:DX -> data to write
Syntax: mov ah,40h; function 40h - write to file
int 21h; transfer to DOS
(6) 41H: to delete the file
This function deletes the specified file
Registers to be used before calling the function using INT 21H:
ASCIIZ filename DS: DX - zero terminated full paths.
Syntax: mov ah, 41h; delete file int 21h; transfer to DOS
7. Prelim Question Paper Solution
- 7 -
(7) 56H: to rename the file
This functions renames the given file with new name specified by ES: DI
Registers to be used before calling the function using INT 21H :
DS: DX address of ASCIIZ filename of existing file ES : DI - ASCIZ new filename
Syntax: mov ah, 56h; delete file int 21h; transfer to DOS
(8) 43H: Set/Get file attribute
This function gets or sets the file attributes
Registers to be used before calling the function using INT 21H:
AL = 00H to get attributes 01H to set attributes CX = file attributes, if AL=01H. Bits
can be combined DS: DX = segment: offset of ASCIIZ pathname
Q.2(c) Illustrate with diagram the concept of virtual 8086 environment memory
management.
[4]
Ans.: [Diagram 2 marks explanation 2 marks]
The virtual 8086 mode of operation of 80386, offers an advantage of executing 8086
programs while in protected mode.
The address forming mechanism in virtual 8086 mode is exactly identical with that of 8086
real mode.
1. In virtual mode, 8086 can address 1Mbytes of physical memory that may be anywhere in
the 4Gbytes address space of the protected mode of 80386. Like 80386 real mode, the
addresses in virtual 8086 mode lie within 1Mbytes of memory. In virtual mode, the
paging mechanism and protection capabilities are available at the service of the
programmers (note the 80386 supports multiprogramming; hence more than one
programmer may use the CPU at a time).
2. Paging unit may not be necessarily enable in virtual mode, but may be needed to run the
8086 programs which require more than 1Mbyts of memory for memory management
function.
In virtual mode, the paging unit allows only 256 pages, each of 4Kbytes size. Each of the
pages may be located anywhere in the maximum 4Gbytes physical memory. The virtual
mode allows the multiprogramming of 8086 applications. The virtual 8086 mode
executes all the programs at privilege level 3.
Q.3Attempt any FOUR of the following : [16]
Q.3(a) What do you meant by paging? State the two advantages of paging.
Ans.: [explanation 2 marks and each advantage 1 mark]
Paging is one of the memory management techniques used for virtual memory multitasking
operating system. The segmentation scheme may divide the physical memory into a variable
8. Vidyalankar : T.Y. Diploma AMP
- 8 -
size segments but the paging divides the memory into a fixed size pages. The segments are
supposed to be the logical segments of the program, but the pages do not have any logical
relation with the program. The pages are just fixed size portions of the program module or
data. The advantages of paging scheme are as given below:
1. The complete segment of a task need not be in the physical memory at any time. Only a
few pages of the segments, which are required currently for the execution, need to be
available in the physical memory. Thus the memory requirement of the task is
substantially reduced, relinquishing the available memory for other tasks. Whenever the
other pages of task are required for execution, they may be fetched from the
secondary storage.
2. There is no need to keep the pages in the memory which have been executed, and hence
the space occupied by them may be relinquished for other tasks. Thus paging mechanism
provides an effective technique to manage the physical memory for multitasking
systems.
Q.3(b) Draw and describe the segment descriptor cache register of 80386. [4]
Ans.: [Diagram 2 marks and explanation 2 marks]
Segment descriptor cache registers:
These registers are not available for the users.
These registers are associated with the segments and the segment registers in 80386 i.e.
CS, DS, ES, SS, FS, GS
Every segment descriptor cache register is 72 bits long.
Every segment descriptor cache register holds
a. 32 bits segment base address
b. 32 bits segment limit
c. Other required segment attributes.
When a selector is loaded, its associated segment descriptor cache register is automatically
get loaded with the values from descriptor table. Either from LDT or GDT. In the real
mode, only the base address is updated directly by shifting the selector values 4 bits to the
left. In the protected mode, the base address, limit and all attributes are loaded.
Q.3(c) List any four salient features of pentium processor. [4]
Ans.: [Each feature ½ marks]
Following are the features of Pentium:
1) It is based on net burst micro architecture.
2) Superscalar architecture
3) Dynamic branch prediction
4) Pipelined Floating-Point Unit
5) Separate code and data caches
6) 64-bit data bus
7) Address parity
8) Support for Intel MMX technology
9) Dual power supplies—separate VCC2 (core) and VCC3 (I/O) voltage inputs
9. Prelim Question Paper Solution
- 9 -
10) Separate 16-Kbyte, 4-way set-associative code and data caches, each with improved
fully associative TLBs
11) Pool of four write buffers used by both execution pipelines
12) Enhanced branch prediction algorithm
13) New Fetch pipeline stage between Prefetch and Instruction Decode
Q.3(d) State any four features of SUN ultra SPARC. [4]
Ans.: [Each feature 1 marks]
The 64 bits Ultra SPARC architecture has following features:
1. It has 14 stages non-stalling pipeline.
2. It has 6 execution units including two for integer, two for floating point, one for
load/store and one for address generation units.
3. It has a large number of buffers but only one load/store unit, it dispatches them one
instruction at a time from the instruction stream.
4. It contains 32KB L1 instruction cache, 64KB L1 data cache, 2KB prefetch cache and
2 KB write cache. It also has 1MB on chip L2 cache.
5. Like Pentium MMX it also contains the instructions to support multimedia. These
instructions are helpful for the implementation of image processing codes.
6. One of the major limitations of SPARC system is its low speed compared to most of the
modern processors.
Q.3(e) Explain floating point exceptions. [4]
Ans.: [Each exception with explanation 1 marks]
The Pentium provides 6 floating point exceptions:
1. Invalid operation
2. Divide by zero
3. De-normalized operand
4. Numeric overflow
5. Numeric underflow
6. Inexact result
All these exceptions classes have a corresponding flag bit in the FPU status word and a
mask bit in FPU control word.
The exception summary (ES) flag in the status word of Pentium indicates when any of these
exceptions have been detected.
It also has a stack fault (SF) flag in the status word which distinguishes between the 2
types of invalid operation exceptions.
When the FPU detects a floating point exception, it sets the appropriate flags in the FPU
status word, then takes one of the two possible actions :
1. Handles the exceptions automatically, producing a predefined result and allow program
to continue its execution without any disturbance.
2. Invokes a software exception handler to handle the exception.
1. Invalid operation
The floating point invalid exception occurs in response to two general types of
operations :
1. Stack overflow or underflow
2. Invalid arithmetic operand.
When the SF is set to 1, a stack operation has resulted in stack overflow or underflow.
When the flag is cleared to 0, an arithmetic instruction has encountered an invalid
operation.
10. Vidyalankar : T.Y. Diploma AMP
- 10 -
The FPU explicitly sets the SF flag when it detects a stack overflow or under flow
condition, but it does not explicitly clear the flag when it detects an invalid arithmetic
operand condition.
As a result the state of the SF flag can be 1 following an invalid arithmetic operation
exception, if it was not cleared from the last time a stack overflow or under flow
condition occurred.
2. Divide by zero:
The FPU reports a floating point zero divide exception, whenever an instruction
attempts to divide the operand by 0.
The flag ZE for this exception is bit 2 of the FPU status word, and the mask bit ZM is
bit2 of the control word.
The FDIV, FDIVP, FDIVR, FDIVRP, FIDIV, FIDIVR instructions and the other
instructions that perform division internally can report the divide by zero exception.
3. De-normalized operand
The FPU signals the de-normal operand exception under the following conditions :
1. If an arithmetic instruction attempts to operate on a denormal operand.
2. If an attempt is made to load the denormal single or double real value into an FPU
register.
The flag DE for this exception is bit 1 of the FPU status word, and the mask bit (DM) is
the 1 of the FPU control word.
4. Numeric overflow
This exception occurs when the rounded result of an arithmetic instruction exceeds the
largest allowable finite value that will fit into the real format of the destination
operand.
5. Numeric underflow
This exception occurs when the rounded result of an arithmetic instruction is less than
the smallest possible normalized, finite value that will fit into the real format of the
destination operand.
6. Inexact result
This exception occurs if the result of an operation is not exactly in representable in the
destination format.
Q.4 Attempt any TWO of the following: [16]
Q.4 (a)Describe the eight stage pipeling mechanism in floating point unit of Pentium. [4]
Ans.: [Diagram 2 marks and explanation 6 marks]
The pipelining stages in the floating point unit of Pentium are:
Explanation eight stages:
1. Prefetch: In this stage FPU fetches instructions from instruction cache and also aligns
the code appropriately.
2. D1 stage: In this FPU decodes the instructions and generate and control word.
3. D2 stage: It is required there control word from D1 stage is again decoded from final
execution.
4. Operand fetch stage: In this stage FPU fetches operands either from floating point
register file or from data cache.
5. X1 stage: First execution stage
6. X2 stage: Second execution stage
In these two stages FPU reads the data from data cache and executes the floating
point computation. There are eight general purposes floating point registers in FPU.
11. Prelim Question Paper Solution
- 11 -
7. Write back stage (WB): In this stage FPU writes result to the floating point register
file.
8. Error reporting file: In this stage FPU reports the internal status including errors
which may require additional processing for completion of floating point execution.
Q.4(b) Draw and explain the internal architecture of 80386. [4]
Ans.: [Diagram 4 marks and explanation 4 marks]
The internal architecture of 80386 can be divided into 3 sections such as
1. Central processing unit (CPU)
2. Memory management unit (MMU)
3. Bus interface unit (BIU)
The Central processing unit consists of
Execution unit & Instruction unit
Instruction unit has Instruction pre-fetcher and instruction pre-decode unit
The Instruction pre-fetcher fetches the 16 instruction bytes ahead of time and stores
them into the 16 byte instruction pre-fetch queue (16 byte code).This speeds up the
program execution process.
The instruction pre-decode unit has the instruction decoder and 3 decoded instruction
queue.
The instruction decoder decodes 3 instructions ahead of time and stores them in the 3
decoded instruction queue.
Execution unit has ALU and control unit.
The control unit stores the control signals in the control ROM, which are generated at the
time of decoding .The decode and sequencing unit decodes the control signals and sends the
control signals sequentially to the ALU.
ALU (arithmetic and logic unit): ALU performs all the arithmetic and logical operations. It
has a register file containing registers such as general purpose registers, control and flag
registers, debug and test registers, special purpose registers etc. The barrel shifter is of
64 bits which can shift/rotate 64 bits at a time and hence can perform multiplication and
divide operations within a microsecond.
The memory management unit has segmentation unit and paging unit.
The segmentation unit allows the use of two address components such as segment base
address and offset address to calculate the physical address. It allows the size of the
segment upto 4GB maximum. It provides the 4 level protection level mechanism for
protecting and isolating the system’s code and data from application programs and
unauthorized access. This unit converts logical address spaces to the linear addresses. The
Limit and Attribute PLA checks the segment limits and attributes at segment level to avoid
invalid access to the code
The paging unit converts the linear addresses to the physical addresses. The control and
attribute PLA checks the privileges at page level. Each of the pages maintain the paging
information of the task. The paging unit organizes the physical memory in the terms of
pages of 4KB each. This unit works under the control of segmentation unit i.e., each segment
is further divided into pages. The virtual memory is also organized in the terms of segments
and pages by the MMU.
The BIU has a bus control unit which has a request prioritizer which resolves the priorities
of the various bus request operations. It also controls the access of the bus. The address
drivers drives the bus (byte) enable signals BE0#-BE3# and the address signals A0-A31.
The pipeline and bus size control unit handle the related control signals and supports the
12. Vidyalankar : T.Y. Diploma AMP
- 12 -
dynamic bus sizing feature. The data buffers (mux/ transceivers) interface the internal
data bus with the system data bus.
Q.4(c) Explain design issues of RISC processor. [4]
Ans.: [Each explanation 2 marks]
1. Register Window :
The reduced hardware requirements of RISC processors leave additional space available
on the chip for the system designer. RISC CPUs generally use this space to include a
large number of registers (> 100 occasionally). The CPU can access data in registers
more quickly than data in memory so having more registers makes more data available
faster. Having more registers also helps reduce the number of memory references
especially when calling and returning from subroutines. The RISC processor may not be
able to access all the registers it has at any given time provided that it has many of it.
Most RISC CPUs have some global registers which are always accessible. The remaining
registers are windowed so that only a subset of the registers is accessible at any
specific time. To understand how register windows work, we consider the windowing
scheme used by the Sun SPARC processor.
The processor can access any of the 32 different registers at a given time. (The
instruction formats for SPARC always use 5 bits to select a source/destination register
which can take any 32 different values. Of these 32 registers, 8 are global registers
that are always accessible. The remaining 24 registers are contained in the register
window. The register window overlap. The overlap consists of 8 registers in SPARC CPU.
Notice that the organizations of the windows are supposed to be circular and not linear;
meaning that the last window overlaps with the first window.
Example: the last 8 registers of window 1 are also the first 8 registers of window 2.
Similarly, the last 8 registers of window 2 are also the first 8 registers of window 3.
The middle 8 registers of window 2 are local; they are not shared with any other
window.
2. Memory speed issue: Memory speed issues are commonly solved using caches. A cache
is a section of fast memory placed between the processor and slower memory. When the
13. Prelim Question Paper Solution
- 13 -
processor wants to read a location in main memory, that location is also copied into the
cache. Subsequent references to that location can come from the cache, which will
return a result much more quickly than the main memory.
Caches present one major problem to system designers and programmers, and that is
the problem of coherency. When the processor writes a value to memory, the result
goes into the cache instead of going directly to main memory. Therefore, special
hardware (usually implemented as part of the processor) needs to write the information
out to main memory before something else tries to read that location or before re-using
that part of the cache for some different information.
3. Instruction Latency issue: A poorly designed instruction set can cause a pipelined
processor to stall frequently. Some of the more common problem areas are:
Highly encoded instructions such as those used on CISC machines that require complex
decoders. Those should be avoided.
Variable-length instructions which require multiple references to memory to fetch in
the entire instruction. Instructions which access main memory (instead of registers),
since main memory can be slow. Complex instructions which require multiple clocks for
execution (many floating-point operations, for example.)Instructions which need to read
and write the same register. For example "ADD 5 to register 3" had to read register 3,
add 5 to that value, then write 5 back to the same register (which may still be "busy"
from the earlier read operation, causing the processor to stall until the register
becomes available.) Dependence on single-point resources such as a condition code
register. If one instruction sets the conditions in the condition code register and the
following instruction tries to read those bits, the second instruction may have to stall
until the first instruction's write completes.
4. Dependencies issues: One problem that RISC programmers face is that the processor
can be slowed down by a poor choice of instructions. Since each instruction takes some
amount of time to store its result, and several instructions are being handled at the
same time, later instructions may have to wait for the results of earlier instructions to
be stored. However, a simple rearrangement of the instructions in a program (called
Instruction Scheduling) can remove these performance limitations from RISC programs.
Q.5 Attempt any FOUR of the following: [16]
Q.5(a) Explain the hybrid architecture (i.e. RISC and CISC) of processors.
Ans.: [Explanation 4 marks]
State of the art processor technology has changed significantly since RISC chips were first
introduced in the early '80s. Because a number of advancements (including the ones
described on this page) are used by both RISC and CISC processors, the lines between the
two architectures have begun to blur.
The two architectures almost seem to have adopted the strategies of the other. Because
processor speeds have increased, CISC chips are now able to execute more than one
instruction within a single clock.
This also allows CISC chips to make use of pipelining. With other technological
improvements, it is now possible to fit many more transistors on a single chip. This gives
RISC processors enough space to incorporate more complicated, CISC-like commands. RISC
chips also make use of more complicated hardware, making use of extra function units for
superscalar execution.
14. Vidyalankar : T.Y. Diploma AMP
- 14 -
The two styles have become so similar that distinguishing between them is no longer
relevant. However, it should be noted that RISC chips still retain some important traits.
RISC chips strictly utilize uniform, single-cycle instructions.
They also retain the register-to-register, load/store architecture. And despite their
extended instruction sets, RISC chips still have a large number of general purpose
registers.
The most popular hybrid architecture has processors are the Pentium and AMD Athlon
family processors which are compatible with software written for their CISC predecessors.
Modern RISC processors have become CISC like by supporting more functions and support
more instructions than old CISC design.
Using the CISC architecture as more instructions , some applications may be run much
faster such as multimedia applications, such as telecommunications encoding/ decoding,
image conversions and video processing.
Q.5(b) With neat diagram describe how physical address is generated in protected mode
in 80386 microprocessor.
[4]
Ans.: [Diagram 2 marks and explanation 2 marks]
Address calculation in protected mode:
The contents of segment registers are used as selectors to address descriptors which
contain the segment limit, base address and access right byte of segment. The effective
address (offset) is added with the segment base address to calculate linear address. This
linear address is used as physical address if the paging unit is disabled.
Q.5(c) Write any four features of Pentium II processor. [4]
Ans.: [Each feature 1 marks]
1. It is a 32-bit processor.
2. It has a full 32-bit data bus.
3. It has an integrated math coprocessor (sometimes called a "floating point unit").
4. It supports MMX instructions, which are useful for video decoding and playback, as well
as 3D gaming.
5. It has it's L2 cache integrated into the processor die itself, rather than on the
motherboard. This makes it slightly faster at the same clock speed, since it does not
take as long to fetch data from the cache.
6. It has more L2 cache, and is packaged (in desktop processors) in a slot cartridge, rather
than a socket.
15. Prelim Question Paper Solution
- 15 -
Q.5(d) What is RISC processor? How does it differ from CISC processor? [4]
Ans.: [Definition 2 marks and difference 2 marks]
Reduced instruction set computer (RISC): To execute each instruction if there is
separate electronic circuitry in control unit, which produce all necessary signals, this
approach of design of control section of processor is called Reduced instruction set
computer(RISC) Modern processors almost are all RISC.
Even CISC instruction sets (x86-64) are translated to RISC microcode on chip prior to
execution. But the general differences are: CISC - larger, more feature-rich instruction set
(more operations, addressing modes, etc.). Slower clock speeds. Fewer general purpose
registers. Examples: x86 variants
RISC - smaller, simpler instruction set. Faster clock speeds. More general purpose
registers. Examples: MIPS, Itanium, PowerPC
Practical implications: An equivalent program implemented in CISC will most likely be
shorter than a program implemented in RISC (because RISC combines multiple simple
instructions to replicate the complex instructions provided by CISC). RISC CPUs generally
run at faster clock speeds than CISC because max clock period is dictated by the slowest
step of the pipeline (more complex instructions are slower).
Q.5(e) Draw the superscalar organization of Pentium processor and state the function of
each stage.
[4]
Ans.: [Diagram 2 marks and explanation 2 marks]
First stage of the pipe-line is Prefetch (PF) stage in which instructions are prefetched
from the on chip instruction cache or memory. Because the Pentium processor has separate
caches for instructions and data, prefetches no longer conflict with data references for
access to the cache. If the requested line is not in the code cache, a memory reference is
made. In the PF stage, two independent pairs of line-size (32-byte) prefetch buffers
operate in conjunction with the branch target buffer. This allows one prefetch buffer to
prefetch instructions sequentially, while the other prefetches according to the branch
target buffer predictions. The prefetch buffers alternate their prefetch paths.
The second pipe-line stage is Decode1 (D1) in which two parallel decoders attempt to
decode and issue the next two sequential instructions. The decoders determine whether on
e or two instructions can be issued contingent upon the instruction pairing rules described in
the section titled "Instruction Pairing Rules." The Pentium processor will decode near
conditional jumps (long displacement) in the second opcode map (0Fh prefix) in a single clock
in either pipe-line.
16. Vidyalankar : T.Y. Diploma AMP
- 16 -
The D1 stage is followed by third stage i.e. Decode 2 (D2) in which the address of
memory resident operands are calculated. The fourth stage Execute (EX) stage of the pipe
line for both ALU operations and for data cache access; therefore those instructions
specifying both an ALU operation and a data cache access will require more than one clock in
this stage. In EX all u-pipe instructions and all v-pipe instructions except conditional
branches are verified for correct branch prediction. Microcode is designed to utilize both
pipe-lines and thus those instructions requiring microcode execute.
The final and fifth stage is Writeback (WB) where instructions are enabled to modify
processor state and complete execution. In this stage v-pipe conditional branches are
verified for correct branch prediction. All the registers and memory locations are updated
in this stage.
Q.6 Attempt any TWO of the following: [16]
Q.6(a) With the help of neat diagram, describe the interrupt vector table entries. [4]
Ans.: [Diagram 4 marks and explanation 4 marks]
Figure shows the 256 interrupt vectors are arranged in the table in memory. Note that the
instruction pointer value is put in as the low word of the vector, and the code segment
register is put in as the high word of the vector. Each double word interrupt vector is
identified by number from 0 to 255. Intel calls this number the type of interrupt.
The lowest five types are dedicated to specific interrupts, such as the divide – by – zero
interrupt, the single step interrupt, and the non maskable interrupt.
Interrupts types 5 to 31 are reserved by intel for using more complex microprocessor, such
as the 80286, 80386, and 80486.
The upper 224 interrupts types, from 32 to 255, are available for use of hardware and
software interrupts, In the figure the vector for each interrupt types requires four
memory location. Therefore, when the 8086 represent to a particular type interrupt, it
automatically multiplies the type by 4 to produce the desired address in vector table. It
then goes to the address in the table to get the starting address of the interrupt – service
procedure.
Q.6(b) Describe the fields in Control registers of 80386 microprocessor with the help of
neat diagram.
[4]
Ans.: [Diagram 4 marks and explanation 4 marks]
Control Registers: The 80386 has three 32 bit control registers CR0, CR2 and CR3 to hold
global machine status independent of the executed task.
CR0 contains system control flags, which control or indicate conditions that apply to the
system as a whole, not to an individual task.
EM (Emulation, bit 2): EM indicates whether coprocessor functions are to be emulated.
17. Prelim Question Paper Solution
- 17 -
ET (Extension Type, bit 4): ET indicates the type of coprocessor present in the system.
MP (Math Present, bit 1): MP controls the function of the WAIT instruction, which is used
to coordinate a coprocessor.
PE (Protection Enable, bit 0): Setting PE causes the processor to begin executing in
protected mode. Resetting PE returns to real-address mode.
PG (Paging, bit 31): PG indicates whether the processor uses page tables to translate linear
addresses into physical addresses.
TS (Task Switched, bit 3): The processor sets TS with every task switch and tests TS when
interpreting coprocessor instructions.
CR2 is used for handling page faults when PG is set. The processor stores in CR2 the linear
address that triggers the fault.
CR3 is used when PG is set. CR3 enables the processor to locate the page table directory
for the current task.
Q.6(c) List and describe any EIGHT features of RISC processor. [4]
Ans.: [Each features 1 marks]
1. Simple instruction set: in a RISC machine the instruction set is simple, basic
instructions from which more complex instructions can be composed. Thus instructions
with less latency preferred.
2. Same length Instruction: each instruction is same length so that it may be fetched in
single operation.
3. Single machine cycle instructions: most instruction complete in one machine cycle so
processor handle several instruction at same time. RISC processors have unity CPI
(Clock per Instruction), which is due to the optimization of each instruction on the CPU
and massive pipelining embedded in a RISC processor.
4. Pipelining: Usually massive pipeline is embedded in RISC processor. The pipelining is key
to speed up RISC machine.
5. Very few addressing modes and formats: the addressing modes are less and having few
formats.
6. Large no of registers: large number of register to prevent large amount of interaction
with memory.
7. Micro coding not required: the instruction micro coding is not required. This is because
of the availability of a set of simple instructions, which can be easily built into
hardware.
8. Load and store architecture: the RISC architecture is primarily load and store
architecture, implying that all the memory accesses take place using Load and Store
type operations.