Computer Architecture Overview ICS332 — Operating Systems

Total Page:16

File Type:pdf, Size:1020Kb

Computer Architecture Overview ICS332 — Operating Systems History Von Neumann Model Fetch-Decode-Execute Cycle Speeding Things Up Conclusion Computer Architecture Overview ICS332 | Operating Systems Henri Casanova ([email protected]) Spring 2018 Henri Casanova ([email protected]) Computer Architecture Overview Main sponsor: University of Pennsylvania / Ballistic Research Laboratory ($487k eq. 2016 $7M) Designers: Mauchly and Eckert First operators (i.e., programmers): The 6 \ENIAC Girls" (McNulty, Jennings, Snyder, Wescoff, Bilas, and Lichterman) History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC Electronic Numerical Integrator And Computer aka \Giant Brain" First electronic general-purpose computer Before that, \were humans, who could use non-programmable mechanical and later electrical computation tools Could be reprogrammed (Stored-Program Computer instead of Fixed-Program Computer) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC Electronic Numerical Integrator And Computer aka \Giant Brain" First electronic general-purpose computer Before that, \were humans, who could use non-programmable mechanical and later electrical computation tools Could be reprogrammed (Stored-Program Computer instead of Fixed-Program Computer) Main sponsor: University of Pennsylvania / Ballistic Research Laboratory ($487k eq. 2016 $7M) Designers: Mauchly and Eckert First operators (i.e., programmers): The 6 \ENIAC Girls" (McNulty, Jennings, Snyder, Wescoff, Bilas, and Lichterman) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC (Features) 1000x faster than (specialized) electro-mechanical equivalent 2400x times faster than (specialized) human being (30 seconds instead of 20 hours) 100 kHz / 5 kIPS (now: 4GHz / 5,000 MIPS) 1,000 bits of RAM (i.e., 0.12 KiB) 150 kW (now: 200W) 17,468 vacuum tubes (failure prone, power hungry) 8 × 3 × 100 ft; 27 metric tons (60,000 pounds) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC (Pictures) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC (Pictures) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion 1946 | ENIAC (Pictures) Henri Casanova ([email protected]) Computer Architecture Overview This became the Von Neumann Architecture Model A Central Processing Unit performs operations and controls the sequence of operations A Memory Unit contains code and data Some kind of Input and Output mechanisms (I/O) History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion Von Neumann ENIAC design frozen in 1943; Eckert and Mauchly work on a new design: the EDVAC 1944: Von Neumann (1903-1957) joins Eckert and Mauchly, writes a memo formalizing their ideas Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model ENIAC Fetch-Decode-Execute Cycle Von Neumann Model Speeding Things Up Conclusion Von Neumann ENIAC design frozen in 1943; Eckert and Mauchly work on a new design: the EDVAC 1944: Von Neumann (1903-1957) joins Eckert and Mauchly, writes a memo formalizing their ideas This became the Von Neumann Architecture Model A Central Processing Unit performs operations and controls the sequence of operations A Memory Unit contains code and data Some kind of Input and Output mechanisms (I/O) Henri Casanova ([email protected]) Computer Architecture Overview Today a computer looks more CPU Disk Controller USB Controller Graphics Adapter like: Memory History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Von Neumann Model Amazingly it is still possible to CPU () Memory think of the computer this way at a m conceptual level (model from ∼70 years ago!) I/O Henri Casanova ([email protected]) Computer Architecture Overview CPU Disk Controller USB Controller Graphics Adapter Memory History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Von Neumann Model Amazingly it is still possible to CPU () Memory think of the computer this way at a m conceptual level (model from ∼70 years ago!) I/O Today a computer looks more like: Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Von Neumann Model Amazingly it is still possible to CPU () Memory think of the computer this way at a m conceptual level (model from ∼70 years ago!) I/O Today a computer looks more CPU Disk Controller USB Controller Graphics Adapter like: Memory Bus Memory Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Von Neumann Model: Origins 1847: Boolean algebra { Truth value (true / false), Boolean logic, Bit (binary digit) 1937: Shannon's MS Thesis { Any logical, numerical relationship can be built using Boolean algebra Therefore, any \information" can be represented in binary form, and therefore we can build computers that only understand binary Building computers this way is technologically convenient: 0 Volt: False (0) ∼5 Volt: True (1) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion The Von Neumann Architecture CPU () Memory m I/O Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit Called Memory or RAM (Random Access Memory) for short I will say \memory" or \RAM" interchangeably The basic unit of memory is the byte (or octet, or octad, or octade) 1 Byte = 8 bits, e.g., \0110 1011" Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit The memory contains numerical \information" / \data" / \content" Content 3 1 4 1 25 9 2 167 -5 ... Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit The \data" are represented in memory in binary as bytes Content (Human) 0000 0011 3 0000 0001 1 0000 0100 4 0000 0001 1 0001 1001 25 0000 1001 9 0000 0010 2 1010 0111 167 1111 1011 -5 ... ... Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit To be used, the data need to be located precisely in memory: addresses Address Content (Human) 0 0000 0011 3 1 0000 0001 1 2 0000 0100 4 3 0000 0001 1 4 0001 1001 25 5 0000 1001 9 6 0000 0010 2 7 1010 0111 167 8 1111 1011 -5 ... ... ... Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit ... but because computers only understand binary, the addresses are binary too: Address Content (Human) 0000 0000 0000 0011 3 0000 0001 0000 0001 1 0000 0010 0000 0100 4 0000 0011 0000 0001 1 0000 0100 0001 1001 25 0000 0101 0000 1001 9 0000 0110 0000 0010 2 0000 0111 1010 0111 167 0000 1000 1111 1011 -5 ... ... ... Henri Casanova ([email protected]) Computer Architecture Overview The CPU has instructions like \Read the byte at address X and give me its value" and \Write this value into the byte at address Y" The Memory Unit (Bus + RAM) has the hardware to make these instructions happen History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit Each byte in memory is labeled by a unique address We talk of a byte-addressable memory All addresses on a computer have the same number of bits (e.g., 16-bit addresses) Henri Casanova ([email protected]) Computer Architecture Overview History Von Neumann Model Von Neumann Model Fetch-Decode-Execute Cycle Memory Unit Speeding Things Up Central Processing Unit Conclusion Memory Unit Each byte in memory is labeled by a unique address We talk of a byte-addressable memory All addresses on a computer have the same number of bits (e.g., 16-bit addresses) The CPU has instructions like \Read the byte at address X and give me its value" and \Write this value into the byte at address Y" The Memory Unit (Bus + RAM) has the hardware to make these instructions happen Henri Casanova ([email protected]) Computer Architecture Overview At address 0000 0000 0000 0011 the content is 0000 0001 (The contents
Recommended publications
  • The Instruction Set Architecture
    Quiz 0 Lecture 2: The Instruction Set Architecture COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 2 Quiz 0 CD 3 Miles of Music 3 4 Pits and Lands Interpretation 0 1 1 1 0 1 0 1 As Music: 011101012 = 117/256 position of speaker As Number: Transition represents a bit state (1/on/red/female/heads) 01110101 = 1 + 4 + 16 + 32 + 64 = 117 = 75 No change represents other state (0/off/white/male/tails) 2 10 16 (Get comfortable with base 2, 8, 10, and 16.) As Text: th 011101012 = 117 character in the ASCII codes = “u” 5 6 Interpretation – ASCII Princeton Computer Science Building West Wall 7 8 Interpretation Binary Code and Data (Hello World!) • Programs consist of Code and Data • Code and Data are Encoded in Bits IA-64 Binary (objdump) As Music: 011101012 = 117/256 position of speaker As Number: 011101012 = 1 + 4 + 16 + 32 + 64 = 11710 = 7516 As Text: th 011101012 = 117 character in the ASCII codes = “u” CAN ALSO BE INTERPRETED AS MACHINE INSTRUCTION! 9 Interfaces in Computer Systems Instructions Sequential Circuit!! Software: Produce Bits Instructing Machine to Manipulate State or Produce I/O Computers process information State Applications • Input/Output (I/O) Operating System • State (memory) • Computation (processor) Compiler Firmware Instruction Set Architecture Input Output Instruction Set Processor I/O System Datapath & Control Computation Digital Design Circuit Design • Instructions instruct processor to manipulate state Layout • Instructions instruct processor to produce I/O in the same way Hardware: Read and Obey Instruction Bits 12 State State – Main Memory Typical modern machine has this architectural state: Main Memory (AKA: RAM – Random Access Memory) 1.
    [Show full text]
  • Simple Computer Example Register Structure
    Simple Computer Example Register Structure Read pp. 27-85 Simple Computer • To illustrate how a computer operates, let us look at the design of a very simple computer • Specifications 1. Memory words are 16 bits in length 2. 2 12 = 4 K words of memory 3. Memory can be accessed in one clock cycle 4. Single Accumulator for ALU (AC) 5. Registers are fully connected Simple Computer Continued 4K x 16 Memory MAR 12 MDR 16 X PC 12 ALU IR 16 AC Simple Computer Specifications (continued) 6. Control signals • INCPC – causes PC to increment on clock edge - [PC] +1 PC •ACin - causes output of ALU to be stored in AC • GMDR2X – get memory data register to X - [MDR] X • Read (Write) – Read (Write) contents of memory location whose address is in MAR To implement instructions, control unit must break down the instruction into a series of register transfers (just like a complier must break down C program into a series of machine level instructions) Simple Computer (continued) • Typical microinstruction for reading memory State Register Transfer Control Line(s) Next State 1 [[MAR]] MDR Read 2 • Timing State 1 State 2 During State 1, Read set by control unit CLK - Data is read from memory - MDR changes at the Read beginning of State 2 - Read is completed in one clock cycle MDR Simple Computer (continued) • Study: how to write the microinstructions to implement 3 instructions • ADD address • ADD (address) • JMP address ADD address: add using direct addressing 0000 address [AC] + [address] AC ADD (address): add using indirect addressing 0001 address [AC] + [[address]] AC JMP address 0010 address address PC Instruction Format for Simple Computer IR OP 4 AD 12 AD = address - Two phases to implement instructions: 1.
    [Show full text]
  • PIC Family Microcontroller Lesson 02
    Chapter 13 PIC Family Microcontroller Lesson 02 Architecture of PIC 16F877 Internal hardware for the operations in a PIC family MCU direct Internal ID, control, sequencing and reset circuits address 7 14-bit Instruction register 8 MUX program File bus Select 8 Register 14 8 8 W Register (Accumulator) ADDR Status Register MUX Flash Z, C and DC 9 Memory Data Internal EEPROM RAM 13 Peripherals 256 Byte Program Registers counter Ports data 368 Byte 13 bus 2011 Microcontrollers-... 2nd Ed. Raj KamalA to E 3 8-level stack (13-bit) Pearson Education 8 ALU Features • Supports 8-bit operations • Internal data bus is of 8-bits 2011 Microcontrollers-... 2nd Ed. Raj Kamal 4 Pearson Education ALU Features • ALU operations between the Working (W) register (accumulator) and register (or internal RAM) from a register-file • ALU operations can also be between the W and 8-bits operand from instruction register (IR) • The operations also use three flags Z, C and DC/borrow. [Zero flag, Carry flag and digit (nibble) carry flag] 2011 Microcontrollers-... 2nd Ed. Raj Kamal 5 Pearson Education ALU features • The destination of result from ALU operations can be either W or register (f) in file • The flags save at status register (STATUS) • PIC CPU is a one-address machine (one operand specified in the instruction for ALU) 2011 Microcontrollers-... 2nd Ed. Raj Kamal 6 Pearson Education ALU features • Two operands are used in an arithmetic or logic operations • One is source operand from one a register file/RAM (or operand from instruction) and another is W-register • Advantage—ALU directly operates on a register or memory similar to 8086 CPU 2011 Microcontrollers-..
    [Show full text]
  • A Simple Processor
    CS 240251 SpringFall 2019 2020 FoundationsPrinciples of Programming of Computer Languages Systems λ Ben Wood A Simple Processor 1. A simple Instruction Set Architecture 2. A simple microarchitecture (implementation): Data Path and Control Logic https://cs.wellesley.edu/~cs240/s20/ A Simple Processor 1 Program, Application Programming Language Compiler/Interpreter Software Operating System Instruction Set Architecture Microarchitecture Digital Logic Devices (transistors, etc.) Hardware Solid-State Physics A Simple Processor 2 Instruction Set Architecture (HW/SW Interface) processor memory Instructions • Names, Encodings Instruction Encoded • Effects Logic Instructions • Arguments, Results Registers Data Local storage • Names, Size • How many Large storage • Addresses, Locations Computer A Simple Processor 3 Computer Microarchitecture (Implementation of ISA) Instruction Fetch and Registers ALU Memory Decode A Simple Processor 4 (HW = Hardware or Hogwarts?) HW ISA An example made-up instruction set architecture Word size = 16 bits • Register size = 16 bits. • ALU computes on 16-bit values. Memory is byte-addressable, accesses full words (byte pairs). 16 registers: R0 - R15 • R0 always holds hardcoded 0 Address Contents • R1 always holds hardcoded 1 0 First instruction, low-order byte • R2 – R15: general purpose 1 First instruction, Instructions are 1 word in size. high-order byte 2 Second instruction, Separate instruction memory. low-order byte Program Counter (PC) register ... ... • holds address of next instruction to execute. A Simple Processor 5 R: Register File M: Data Memory Reg Contents Reg Contents Address Contents R0 0x0000 R8 0x0 – 0x1 R1 0x0001 R9 0x2 – 0x3 R2 R10 0x4 – 0x5 R3 R11 0x6 – 0x7 R4 R12 0x8 – 0x9 R5 R13 0xA – 0xB R6 R14 0xC – 0xD R7 R15 … Program Counter IM: Instruction Memory PC Address Contents 0x0 – 0x1 ß Processor 1.
    [Show full text]
  • I386-Engine™ Technical Manual
    i386-Engine™ C/C++ Programmable, 32-bit Microprocessor Module Based on the Intel386EX Technical Manual 1950 5 th Street, Davis, CA 95616, USA Tel: 530-758-0180 Fax: 530-758-0181 Email: [email protected] http://www.tern.com Internet Email: [email protected] http://www.tern.com COPYRIGHT i386-Engine, VE232, A-Engine, A-Core, C-Engine, V25-Engine, MotionC, BirdBox, PowerDrive, SensorWatch, Pc-Co, LittleDrive, MemCard, ACTF, and NT-Kit are trademarks of TERN, Inc. Intel386EX and Intel386SX are trademarks of Intel Coporation. Borland C/C++ are trademarks of Borland International. Microsoft, MS-DOS, Windows, and Windows 95 are trademarks of Microsoft Corporation. IBM is a trademark of International Business Machines Corporation. Version 2.00 October 28, 2010 No part of this document may be copied or reproduced in any form or by any means without the prior written consent of TERN, Inc. © 1998-2010 1950 5 th Street, Davis, CA 95616, USA Tel: 530-758-0180 Fax: 530-758-0181 Email: [email protected] http://www.tern.com Important Notice TERN is developing complex, high technology integration systems. These systems are integrated with software and hardware that are not 100% defect free. TERN products are not designed, intended, authorized, or warranted to be suitable for use in life-support applications, devices, or systems, or in other critical applications. TERN and the Buyer agree that TERN will not be liable for incidental or consequential damages arising from the use of TERN products. It is the Buyer's responsibility to protect life and property against incidental failure. TERN reserves the right to make changes and improvements to its products without providing notice.
    [Show full text]
  • MIPS: Design and Implementation
    FACULTEIT INGENIEURSWETENSCHAPPEN MIPS: Design and Implementation Computerarchitectuur 1MA Industriele¨ Wetenschappen Elektronica-ICT 2014-10-20 Laurent Segers Contents Introduction......................................3 1 From design to VHDL4 1.1 The factorial algorithm.............................4 1.2 Building modules................................5 1.2.1 A closer look..............................6 1.2.2 VHDL..................................7 1.3 Design in VHDL................................8 1.3.1 Program Counter............................8 1.3.2 Instruction Memory........................... 14 1.3.3 Program Counter Adder........................ 15 1.4 Bringing it all together - towards the MIPS processor............ 15 2 Design validation 19 2.1 Instruction Memory............................... 19 2.2 Program Counter................................ 22 2.3 Program Counter Adder............................ 23 2.4 The MIPS processor.............................. 23 3 Porting to FPGA 25 3.1 User Constraints File.............................. 25 4 Additional features 27 4.1 UART module.................................. 27 4.1.1 Connecting the UART-module to the MIPS processor........ 28 4.2 Reprogramming the MIPS processor..................... 29 A Xilinx ISE software 30 A.1 Creating a new project............................. 30 A.2 Adding a new VHDL-module......................... 30 A.3 Creating an User Constraints File....................... 30 A.4 Testbenches................................... 31 A.4.1 Creating testbenches.......................... 31 A.4.2 Running testbenches.......................... 31 2 Introduction Nowadays, most programmers write their applications in what we call \the Higher Level Programming languages", such as Java, C#, Delphi, etc. These applications are then compiled into machine code. In order to run this machine code the underlying hardware needs be able to \understand" the proposed code. The aim of this practical course is to give an inside on the principles of a working system.
    [Show full text]
  • Xv6 Booting: Transitioning from 16 to 32 Bit Mode
    238P Operating Systems, Fall 2018 xv6 Boot Recap: Transitioning from 16 bit mode to 32 bit mode 3 November 2018 Aftab Hussain University of California, Irvine BIOS xv6 Boot loader what it does Sets up the hardware. Transfers control to the Boot Loader. BIOS xv6 Boot loader what it does Sets up the hardware. Transfers control to the Boot Loader. how it transfers control to the Boot Loader Boot loader is loaded from the 1st 512-byte sector of the boot disk. This 512-byte sector is known as the boot sector. Boot loader is loaded at 0x7c00. Sets processor’s ip register to 0x7c00. BIOS xv6 Boot loader 2 source source files bootasm.S - 16 and 32 bit assembly code. bootmain.c - C code. BIOS xv6 Boot loader 2 source source files bootasm.S - 16 and 32 bit assembly code. bootmain.c - C code. executing bootasm.S 1. Disable interrupts using cli instruction. (Code). > Done in case BIOS has initialized any of its interrupt handlers while setting up the hardware. Also, BIOS is not running anymore, so better to disable them. > Clear segment registers. Use xor for %ax, and copy it to the rest (Code). 2. Switch from real mode to protected mode. (References: a, b). > Note the difference between processor modes and kernel privilege modes > We do the above switch to increase the size of the memory we can address. BIOS xv6 Boot loader 2 source source file executing bootasm.S m. Let’s 2. Switch from real mode to protected mode. expand on this a little bit Addressing in Real Mode In real mode, the processor sends 20-bit addresses to the memory.
    [Show full text]
  • The ABC of Computing
    COMMENT BOOKS & ARTS teamed up with recent graduate Clifford DEPT Berry to develop the system that became S ON known as the Atanasoff–Berry Computer I (ABC). Built on a shoestring budget, the ECT LL O C simple ‘breadboard’ prototype that emerged L A contained significant innovations. These I included the use of vacuum tubes as the com- B./SPEC puting mechanism and operating memory; I V. L V. binary and logical calculation; serial com- I putation; and the use of capacitors as storage memory. By the summer of 1940, Smiley tells us, a second, more-developed prototype was UN STATE IOWA running and Atanasoff and Berry had writ- ten a 35-page manuscript describing it. Other people were working on similar devices. In the United Kingdom and at Princeton University in New Jersey, Turing was investigating practical outlets for the concepts in his 1936 paper ‘On Comput- able Numbers’. In London, British engineer Tommy Flowers was using vacuum tubes as electronic switches for telephone exchanges in the General Post Office. In Germany, Konrad Zuse was working on a floating-point calculator — albeit based on electromechani- cal technology — that would have a 64-word The 1940s Atanasoff–Berry Computer (ABC) was the first to use innovations such as vacuum tubes. storage capacity by 1941. Smiley weaves these stories into the narrative effectively, giving a BIOGRAPHY broad sense of the rich ecology of thought that burgeoned during this crucial period of technological and logical development. The Second World War changed every- The ABC of thing. Atanasoff left Iowa State to work in the Naval Ordnance Laboratory in Washing- ton DC.
    [Show full text]
  • Overview of the MIPS Architecture: Part I
    Overview of the MIPS Architecture: Part I CS 161: Lecture 0 1/24/17 Looking Behind the Curtain of Software • The OS sits between hardware and user-level software, providing: • Isolation (e.g., to give each process a separate memory region) • Fairness (e.g., via CPU scheduling) • Higher-level abstractions for low-level resources like IO devices • To really understand how software works, you have to understand how the hardware works! • Despite OS abstractions, low-level hardware behavior is often still visible to user-level applications • Ex: Disk thrashing Processors: From the View of a Terrible Programmer Letter “m” Drawing of bird ANSWERS Source code Compilation add t0, t1, t2 lw t3, 16(t0) slt t0, t1, 0x6eb21 Machine instructions A HARDWARE MAGIC OCCURS Processors: From the View of a Mediocre Programmer • Program instructions live Registers in RAM • PC register points to the memory address of the instruction to fetch and execute next • Arithmetic logic unit (ALU) performs operations on PC registers, writes new RAM values to registers or Instruction memory, generates ALU to execute outputs which determine whether to branches should be taken • Some instructions cause Devices devices to perform actions Processors: From the View of a Mediocre Programmer • Registers versus RAM Registers • Registers are orders of magnitude faster for ALU to access (0.3ns versus 120ns) • RAM is orders of magnitude larger (a PC few dozen 32-bit or RAM 64-bit registers versus Instruction GBs of RAM) ALU to execute Devices Instruction Set Architectures (ISAs)
    [Show full text]
  • Protected Mode - Wikipedia
    2/12/2019 Protected mode - Wikipedia Protected mode In computing, protected mode, also called protected virtual address mode,[1] is an operational mode of x86- compatible central processing units (CPUs). It allows system software to use features such as virtual memory, paging and safe multi-tasking designed to increase an operating system's control over application software.[2][3] When a processor that supports x86 protected mode is powered on, it begins executing instructions in real mode, in order to maintain backward compatibility with earlier x86 processors.[4] Protected mode may only be entered after the system software sets up one descriptor table and enables the Protection Enable (PE) bit in the control register 0 (CR0).[5] Protected mode was first added to the x86 architecture in 1982,[6] with the release of Intel's 80286 (286) processor, and later extended with the release of the 80386 (386) in 1985.[7] Due to the enhancements added by protected mode, it has become widely adopted and has become the foundation for all subsequent enhancements to the x86 architecture,[8] although many of those enhancements, such as added instructions and new registers, also brought benefits to the real mode. Contents History The 286 The 386 386 additions to protected mode Entering and exiting protected mode Features Privilege levels Real mode application compatibility Virtual 8086 mode Segment addressing Protected mode 286 386 Structure of segment descriptor entry Paging Multitasking Operating systems See also References External links History https://en.wikipedia.org/wiki/Protected_mode
    [Show full text]
  • Chapter 2 Powerpc Register Set
    Chapter 2 PowerPC Register Set 20 20 This chapter describes the register organization defined by the three levels of the PowerPC U architecture—user instruction set architecture (UISA), virtual environment architecture V (VEA), and operating environment architecture (OEA). The PowerPC architecture defines O register-to-register operations for all computational instructions. Source data for these instructions are accessed from the on-chip registers or are provided as immediate values embedded in the opcode. The three-register instruction format allows specification of a target register distinct from the two source registers, thus preserving the original data for use by other instructions and reducing the number of instructions required for certain operations. Data is transferred between memory and registers with explicit load and store instructions only. Note that the handling of reserved bits in any register is implementation-dependent. Software is permitted to write any value to a reserved bit in a register. However, a subsequent reading of the reserved bit returns 0 if the value last written to the bit was 0 and returns an undefined value (may be 0 or 1) otherwise. This means that even if the last value written to a reserved bit was 1, reading that bit may return 0. 2.1 PowerPC UISA Register Set The PowerPC UISA registers, shown in Figure 2-1, can be accessed by either user- or U supervisor-level instructions (the architecture specification refers to user-level and supervisor-level as problem state and privileged state respectively). The general-purpose registers (GPRs) and floating-point registers (FPRs) are accessed as instruction operands.
    [Show full text]
  • A Comparison of Protection Lookaside Buffers and the PA-RISC
    rI3 HEWLETT ~~PACKARD A Comparison ofProtection Lookaside Buffers and the PA·RISC Protection Architecture John Wilkes, Bart Sears Computer Systems Laboratory HPL-92-55 March 1992 processor architecture, Eric Koldinger and others at the University of single address space, 64­ Washington Department of Computer Science have bitaddressing, protection, proposed a new model for memory protection in PA-RISe, protection single-address-space architectures. This paper lookaside buffers, PLB, compares the Washington proposal with what translation lookaside already exists in PA-RISC, and suggests some buffers,TLB, cache incremental improvements to the latter that would indexing, virtually­ provide most of the benefits of the former. addressed caches Internal Accession Date Only © Copyright Hewlett-Packard Company 1992 1 Introduction A recent technical report by Eric Koldinger and others [Koldinger91] proposes a new model for managing protectioninformationinsingle address space processors. This paper is one outcome of discussions withthe authors about the real differences betweentheir proposal and the scheme usedinPA-RISC[Lee89,HPPA90]:it offers a restatement of the newproposal, a comparisonwith the existing PA-RISCarchitecture, and some thoughts onhow the PA-RISCarchitecture mightbe extended in the future to provide some of the benefits that the PLBidea was trying to achieve. The reader is assumed to be familiar withmodem TLB,cache and processor architectures; with luck, sufficient information is provided in this paper that detailed prior knowledge about either the Washington proposal or PA-RISCisn't required. Example To help illustrate some of the finer points of the different protectionmodels, anexample based on the LRPC work of Brian Bershad is used [Bershad90] (see Figure 1).
    [Show full text]