TAL Reference Manual

Total Page:16

File Type:pdf, Size:1020Kb

TAL Reference Manual TAL Reference Manual Abstract This manual provides syntax descriptions and error messages for TAL (Transaction Application Language) for system and application programmers. Product Version TAL D40 Supported Release Version Updates (RVUs) This publication supports D40.00 and all subsequent D-series RVUs, and G01.00 and all subsequent G-series RVUs until otherwise indicated in a new edition. Part Number Published 526371-001 September 2003 Document History Part Number Product Version Published 15998 TAL C20 March 1989 065722 TAL D10 January 1993 096255 TAL C30, TAL D10 & TAL D20 September 1993 526371-001 TAL D40 September 2003 TAL Reference Manual Glossary Index Tables What’s New in This Manual xxxix Manual Information xxxix New and Changed Information xxxix About This Manual xli Audience xli How to Use this Manual Set xli Manual Organization xlii System Dependencies xliii Compiler Dependencies xliv Additional Information xlv Notation Conventions xlvii Railroad Diagrams xlvii Branching xlvii Spacing xlviii Case Conventions xlviii Example Diagrams xlviii Hypertext Links xlix General Syntax Notation xlix Notation for Messages lii Notation for Management Programming Interfaces liii 1. Introduction Applications and Uses 1-1 Major Features 1-1 System Services 1-3 System Procedures 1-3 TAL Run-Time Library 1-3 CRE Services 1-4 Hewlett-Packard Company—526371-001 i Contents 2. Language Elements 2. Language Elements Character Set 2-1 Declarations 2-1 Statements 2-2 Keywords 2-2 Identifiers 2-4 Identifier Classes 2-4 Constants 2-5 Constant Expressions 2-5 Number Bases 2-5 Variables 2-6 Symbols 2-6 Indirection Symbols 2-7 Base Address Symbols 2-7 Delimiters 2-7 Operators 2-9 3. Data Representation Data Types 3-1 Specifying Data Types 3-3 Data Type Aliases 3-4 Storage Units 3-5 Address Modes 3-5 Operations by Data Type 3-5 Functions by Data Type 3-6 Address Types 3-7 Syntax for Constants 3-7 Character String Constants 3-8 Character String Length 3-8 Example of Character String Constant 3-9 String Numeric Constants 3-9 Example of STRING Numeric Constants 3-9 INT Numeric Constants 3-10 Examples of INT Numeric Constants 3-11 Storage Format 3-11 INT (32) Numeric Constants 3-11 Examples of INT (32) Numeric Constants 3-12 FIXED Numeric Constants 3-13 Examples of FIXED Numeric Constants 3-14 TAL Reference Manual—526371-001 ii Contents 3. Data Representation (continued) 3. Data Representation (continued) Storage Format 3-14 REAL and REAL (64) Numeric Constants 3-14 Examples of REAL and REAL (64) Numeric Constants 3-15 Storage Format 3-15 Examples of Storage Formats 3-16 Constant Lists 3-16 Examples of Constant Lists 3-17 4. Expressions About Expressions 4-1 Data Types of Expressions 4-2 Precedence of Operators 4-3 Arithmetic Expressions 4-5 Examples of Arithmetic Expressions 4-6 Operands in Arithmetic Expressions 4-6 Signed Arithmetic Operators 4-6 Unsigned Arithmetic Operators 4-9 Bitwise Logical Operators 4-11 Conditional Expressions 4-12 Examples of Conditional Expressions 4-13 Conditions 4-13 Boolean Operators 4-14 Relational Operators 4-14 Testing Hardware Indicators 4-16 Condition Code Indicator 4-16 Carry Indicator 4-17 Overflow Indicator 4-17 Special Expressions 4-18 Assignment Expression 4-19 CASE Expression 4-20 IF Expression 4-21 Group Comparison Expression 4-23 Bit Operations 4-27 Bit Extractions 4-28 Usage Considerations 4-28 Examples of Bit Extractions 4-28 Bit Shifts 4-29 Usage Considerations 4-30 TAL Reference Manual—526371-001 iii Contents 4. Expressions (continued) 4. Expressions (continued) Examples of Bit Shifts 4-30 5. LITERALs and DEFINEs LITERAL Declaration 5-1 Usage Considerations 5-2 Examples of LITERAL Declarations 5-2 DEFINE Declaration 5-3 Usage Considerations 5-4 Examples of DEFINE Declarations 5-5 Invoking DEFINEs 5-6 Compiler Action 5-7 Passing Actual Parameters 5-7 Examples of Passing DEFINE Parameters 5-8 6. Simple Variables Simple Variable Declaration 6-1 Usage Considerations 6-2 Examples of Simple Variable Declarations 6-2 7. Arrays Array Declaration 7-1 Usage Considerations 7-3 Examples of Array Declarations 7-3 Read-Only Array Declaration 7-5 Usage Considerations 7-6 Example of Read-Only Array Declaration 7-6 8. Structures Kinds of Structures 8-1 Structure Layout 8-2 Definition Structure Declaration 8-3 Usage Considerations 8-4 Examples of Definition Structure Declarations 8-4 Template Structure Declaration 8-5 Usage Considerations 8-5 Example of Template Structure Declaration 8-5 Referral Structure Declaration 8-6 Usage Considerations 8-7 Example of Referral Structure Declaration 8-7 TAL Reference Manual—526371-001 iv Contents 8. Structures (continued) 8. Structures (continued) Simple Variables Declared in Structures 8-7 Usage Considerations 8-8 Example of Simple Variables in Structures 8-8 Arrays Declared in Structures 8-8 Usage Considerations 8-9 Example of Arrays in Structures 8-9 Substructure Declaration 8-9 Definition Substructure Declaration 8-10 Example of Definition Substructure Declaration 8-11 Referral Substructure Definition 8-11 Example of Referral Substructure Declaration 8-12 Filler Declaration 8-12 Usage Considerations 8-13 Examples of Filler Declarations 8-13 Simple Pointers Declared in Structures 8-13 Usage Considerations 8-14 Example of Simple Pointer Declarations 8-15 Structure Pointers Declared in Structures 8-15 Usage Considerations 8-16 Example of Structure Pointer Declaration 8-17 Redefinition Declaration 8-17 Redefinition Rules 8-17 Redefinitions Outside Structures 8-17 Simple Variable Redefinition 8-18 Usage Considerations 8-18 Example of Simple Variable Redefinition 8-18 Array Redefinition 8-19 Usage Considerations 8-19 Example of Array Redefinition 8-20 Definition Substructure Redefinition 8-20 Usage Considerations 8-21 Examples of Definition Substructure Redefinitions 8-21 Referral Substructure Redefinition 8-22 Usage Considerations 8-22 Example of Referral Substructure Declaration 8-23 Simple Pointer Redefinition 8-23 Example of Simple Pointer Redefinition 8-24 Structure Pointer Redefinition 8-24 TAL Reference Manual—526371-001 v Contents 8. Structures (continued) 8. Structures (continued) Usage Considerations 8-25 Example of Structure Pointer Redefinitions 8-25 9. Pointers Simple Pointer Declaration 9-2 Usage Considerations 9-2 Examples of Simple Pointer Declarations 9-4 Structure Pointer Declaration 9-5 Usage Considerations 9-6 Examples of Structure Pointer Declarations 9-7 10. Equivalenced Variables Equivalenced Variable Declarations 10-1 Equivalenced Simple Variable 10-2 Usage Consideration 10-2 Examples of Equivalenced Simple Variable Declarations 10-3 Equivalenced Simple Pointer 10-3 Usage Consideration 10-4 Example of Equivalenced Simple Pointer Declaration 10-5 Equivalenced Definition Structure 10-5 Usage Considerations 10-6 Example of Equivalenced Definition Structure Declaration 10-7 Equivalenced Referral Structure 10-7 Usage Considerations 10-8 Example of Equivalenced Referral Structure Declaration 10-9 Equivalenced Structure Pointer 10-9 Usage Considerations 10-10 Example of Equivalenced Structure Pointer Declaration 10-11 Base-Address Equivalenced Variable Declarations 10-11 Base-Address Equivalenced Simple Variable 10-12 Considerations 10-12 Example of Base-Address Equivalenced Simple Variable Declaration 10-13 Base-Address Equivalenced Simple Pointer 10-13 Usage Considerations 10-14 Base-Address Equivalenced Definition Structure 10-14 Usage Considerations 10-15 Base-Address Equivalenced Referral Structure 10-16 Usage Considerations 10-17 TAL Reference Manual—526371-001 vi Contents 10. Equivalenced Variables (continued) 10. Equivalenced Variables (continued) Base-Address Equivalenced Structure Pointer 10-17 Usage Considerations 10-18 11. NAMEs and BLOCKs NAME Declaration 11-1 Usage Considerations 11-2 Example of NAME Declaration 11-2 BLOCK Declaration 11-2 Usage Considerations 11-3 Examples of BLOCK Declarations 11-4 Coding Data Blocks 11-5 Unblocked Declarations 11-5 12. Statements Using Semicolons 12-1 Compound Statements 12-2 Usage Considerations 12-2 Examples of Compound Statements 12-2 ASSERT Statement 12-3 Usage Considerations 12-3 Example of ASSERT Statement 12-4 Assignment Statement 12-4 Usage Considerations 12-5 Examples of Assignment Statements 12-6 Bit-Deposit Assignment Statement 12-7 Usage Considerations 12-7 Examples of Bit Deposit Assignments 12-8 CALL Statement 12-9 Usage Considerations 12-10 Examples of CALL Statements 12-10 CASE Statement 12-11 Labeled CASE Statement 12-11 Usage Considerations 12-12 Example of Labeled CASE Statement 12-12 Unlabeled CASE Statement 12-13 Usage Considerations 12-13 Examples of Unlabeled CASE Statements 12-14 CODE Statement 12-15 TAL Reference Manual—526371-001 vii Contents 12. Statements (continued) 12. Statements (continued) Usage Considerations 12-16 Examples of CODE Statements 12-18 DO Statement 12-19 Usage Considerations 12-19 Examples of DO Statements 12-19 DROP Statement 12-20 Usage Considerations 12-20 Examples of DROP Statements 12-21 FOR Statement 12-22 Usage Considerations 12-23 Examples of FOR Statements 12-24 GOTO Statement 12-25 Usage Considerations 12-25 Examples of GOTO Statements 12-25 IF Statement 12-26 Usage Considerations 12-26 Example of IF Statements 12-27 MOVE Statement 12-27 Usage Considerations 12-29 Examples of MOVE Statements 12-30 RETURN Statement 12-31 Usage Considerations 12-32 Examples of RETURN Statements 12-33 SCAN Statement 12-34 Usage Considerations 12-35 Example of SCAN Statements 12-36 STACK Statement 12-36 Usage Considerations 12-36 Examples of STACK Statements 12-37 STORE Statement
Recommended publications
  • Pdp11-40.Pdf
    processor handbook digital equipment corporation Copyright© 1972, by Digital Equipment Corporation DEC, PDP, UNIBUS are registered trademarks of Digital Equipment Corporation. ii TABLE OF CONTENTS CHAPTER 1 INTRODUCTION 1·1 1.1 GENERAL ............................................. 1·1 1.2 GENERAL CHARACTERISTICS . 1·2 1.2.1 The UNIBUS ..... 1·2 1.2.2 Central Processor 1·3 1.2.3 Memories ........... 1·5 1.2.4 Floating Point ... 1·5 1.2.5 Memory Management .............................. .. 1·5 1.3 PERIPHERALS/OPTIONS ......................................... 1·5 1.3.1 1/0 Devices .......... .................................. 1·6 1.3.2 Storage Devices ...................................... .. 1·6 1.3.3 Bus Options .............................................. 1·6 1.4 SOFTWARE ..... .... ........................................... ............. 1·6 1.4.1 Paper Tape Software .......................................... 1·7 1.4.2 Disk Operating System Software ........................ 1·7 1.4.3 Higher Level Languages ................................... .. 1·7 1.5 NUMBER SYSTEMS ..................................... 1-7 CHAPTER 2 SYSTEM ARCHITECTURE. 2-1 2.1 SYSTEM DEFINITION .............. 2·1 2.2 UNIBUS ......................................... 2-1 2.2.1 Bidirectional Lines ...... 2-1 2.2.2 Master-Slave Relation .. 2-2 2.2.3 Interlocked Communication 2-2 2.3 CENTRAL PROCESSOR .......... 2-2 2.3.1 General Registers ... 2-3 2.3.2 Processor Status Word ....... 2-4 2.3.3 Stack Limit Register 2-5 2.4 EXTENDED INSTRUCTION SET & FLOATING POINT .. 2-5 2.5 CORE MEMORY . .... 2-6 2.6 AUTOMATIC PRIORITY INTERRUPTS .... 2-7 2.6.1 Using the Interrupts . 2-9 2.6.2 Interrupt Procedure 2-9 2.6.3 Interrupt Servicing ............ .. 2-10 2.7 PROCESSOR TRAPS ............ 2-10 2.7.1 Power Failure ..............
    [Show full text]
  • PDP-11 Handbook
    alMml digihl equipmentcorpomtion Copyright 1969 by Digital Equipment Corporation PDP is a registered trademark of Digital Equipment, Corporation The material in this handbook is for information pur- poses only and is subject to change without notice. TABLE OF CONTENTS CHAPIER 1 lNTRODUCTlOR PDP-11 SYSTEMS . .:.. 1 UNIBUS . , . 1 KAl 1 PROCESSOR . .?. 1 Priority Interrupts ,...............,..... 1 Reentrant Code . General Registers . :... 2 Instruction Set . .._........................................................ Addressing . ..~...............................................~........,...,......... z Asynchronous Operation . L 2 PACKAGJNG . ..I . 2 SOmARE ........................ .: ........................................................ 3 CHAPTER 2 SYSTEM INTRODUCTION SYSTEM DEFINITION .................................................................. 5 SYSTEM COMPONENTS ............................................................... 5 UNIBUS ................................................... .................................. 5 Single Bus ................................................................. .......... 5 Bidirectional Lines ............ .......................................... ..* .... 5 Master-Slave Relation ........................... .............................. 5 Interlocked .Communication ................................................ Dynamic Master-Slave Relation ........................................... : KAll CENTRAL PROCESSOR ...................................................... 6 General Registers
    [Show full text]
  • Main Memory Organisation – Learning Objectives
    17/10/2011 Main Memory Organisation – Learning Objectives" !# At the end of this lecture you will:" !# Understand the main concepts of memory organisation" Main Memory Organisation !# Know the different memory hardware options" " !# Registers, cache, RAM, Disk" !# Understand the relationship between cost and speed of access" !# Understand byte ordering in words" !# Understand the concept of addressing" Eddie Edwards" !# Understand word and byte addressing" [email protected]" !# Understand how RAM memory is organised into chips and modules" " !# Comprehend high order and low order interleaving and their uses" http://www.doc.ic.ac.uk/~eedwards/compsys" Computer Systems – Architecture E Edwards Main Memory Organisation (2.1) ! Computer Systems – Architecture E Edwards Main Memory Organisation (2.2) ! Question" Memories" !# Memories hold binary values. These can be:! !# Do you have a laptop or internet device here?" ! A yes B no C what$s a laptop D where is here? " Data (e.g. Integers, Reals, Characters)%" ! E none of the above" CPU Instructions (i.e. Computer Programs)! ! Memory Addresses (“Pointers” to data or instructions)%" " "" !# The contents of a memory remain unchanged unless overwritten with a new binary value. For some memories the contents are "lost" when power to the memory is turned off.! ! " Computer Systems – Architecture E Edwards Main Memory Organisation (2.3) ! Computer Systems – Architecture E Edwards Main Memory Organisation (2.4) ! 1 17/10/2011 Examples" CPU Organisation" !# CPU " Registers! " CPU Main Memory Caches
    [Show full text]
  • Machine Instructions and Programs
    Hamacher-38086 book June 28, 2001 11:31 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: • Machine instructions and program execution, including branching and subroutine call and return operations • Number representation and addition/subtraction in the 2’s-complement system • Addressing methods for accessing register and memory operands • Assembly language for representing machine instructions, data, and programs • Program-controlled Input/Output operations • Operations on stack, queue, list, linked-list, and array data structures 25 Hamacher-38086 book June 28, 2001 11:31 26 CHAPTER 2 • MACHINE INSTRUCTIONS AND PROGRAMS This chapter considers the way programs are executed in a computer from the ma- chine instruction set viewpoint. Chapter 1 introduced the general concept that both program instructions and data operands are stored in the memory. In this chapter, we study the ways in which sequences of instructions are brought from the memory into the processor and executed to perform a given task. The addressing methods com- monly used for accessing operands in memory locations and processor registers are presented. The emphasis here is on basic concepts. We use a generic style to describe ma- chine instructions and operand addressing methods that are typical of those found in commercial processors. A sufficient number of instructions and addressing methods are introduced to enable us to present complete, realistic programs for simple tasks. These generic programs are specified at the assembly language level. In assembly lan- guage, machine instructions and operand addressing information are represented by symbolic names. A complete instruction set is often referred to as the instruction set architecture (ISA) of a processor.
    [Show full text]
  • Instruction Set Architecture
    UNIT - 5 Instruction Set Architecture Lesson Structure 5.0 Objective 5.1 Introduction 5.2 Instruction Set Characteristics 5.3 Instruction Set Design Considerations 5.3.1 Operand Data Types 5.3.2 Types of Instructions 5.3.3 Number of Addresses in an Instruction 5.4 Addressing Schemes 5.4.1 Types of Addressing Schemes 5.4.1.1 Implicit Addressing 5.4.1.2 Immediate Addressing 5.4.1.3 Direct Addressing 5.4.1.4 Indirect Addressing 5.4.1.5 Register Addressing 5.4.1.6 Register Indirect Addressing 5.4.1.7 Indexed Addressing 5.4.1.8 Base Addressing 5.4.1.9 Register Relative Addressing 5.4.1.10 Relative Based Indexed Addressing 5.4.1.11 Stack Addressing Instruction Set Architecture 5.5 Instruction Set and Format Design Issues 5.5.1 Instruction Length 5.5.2 Allocation of Bits Among Opcode and Operand 5.5.3 Variable Length of Instructions 5.6 Example of Instruction Format 5.7 Summary 5.8 Questions for Exercise 5.9 Suggested Readings 5.0 Objectives After going through this unit we should be able to: define instruction set and the characteristics of instruction set; describe the element of an instruction and differentiate various types of operands; distinguish between types of instructions and operations performed by the instructions; differentiate types of instructions set on the basis of addresses in instruction sets; identity various addressing schemes and discuss instruction format design issues. 5.1 Introduction The internal organization of a digital system is defined by the registers it employs and the sequence of micro-operations it performs on data stated in the registers.
    [Show full text]
  • Introduction to MIPS Assembly Programming
    Introduction to MIPS Assembly Programming January 23–25, 2013 1 / 26 Outline Overview of assembly programming MARS tutorial MIPS assembly syntax Role of pseudocode Some simple instructions Integer logic and arithmetic Manipulating register values Interacting with data memory Declaring constants and variables Reading and writing Performing input and output Memory-mapped I/O, role of the OS Using the systemcall interface 2 / 26 Assembly program template # Author: your name # Date: current date # Description: high-level description of your program .data Data segment: • constant and variable definitions go here .text Text segment: • assembly instructions go here 3 / 26 Components of an assembly program Lexical category Example(s) Comment # do the thing Assembler directive .data, .asciiz, .global Operation mnemonic add, addi, lw, bne Register name $10, $t2 Address label (decl) hello:, length:, loop: Address label (use) hello, length, loop Integer constant 16, -8, 0xA4 String constant "Hello, world!\n" Character constant ’H’, ’?’, ’\n’ 4 / 26 Lexical categories in hello world # Author: Eric Walkingshaw # Date: Jan 18, 2013 # Description:A simple hello world program! .data# add this stuff to the data segment # load the hello string into data memory hello: .asciiz"Hello, world!" .text# now we’re in the text segment li $v0, 4# set up print string syscall la $a0, hello# argument to print string syscall# tell theOS to do the syscall li $v0, 10# set up exit syscall syscall# tell theOS to do the syscall 5 / 26 Pseudocode What is pseudocode? • informal language • intended to be read by humans Useful in two different roles in this class: 1. for understanding assembly instructions 2.
    [Show full text]
  • 1763-RM001D-EN-P Micrologix 1100 Programmable Controllers
    Instruction Set Reference Manual MicroLogix 1100 Programmable Controllers Bulletin 1763 Controllers and 1762 Expansion I/O Important User Information Solid-state equipment has operational characteristics differing from those of electromechanical equipment. Safety Guidelines for the Application, Installation and Maintenance of Solid State Controls (publication SGI-1.1 available from your local Rockwell Automation sales office or online at http://www.rockwellautomation.com/literature/) describes some important differences between solid-state equipment and hard-wired electromechanical devices. Because of this difference, and also because of the wide variety of uses for solid-state equipment, all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable. In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment. The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for actual use based on the examples and diagrams. No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software described in this manual. Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is prohibited. Throughout this manual, when necessary, we use notes to make you aware of safety considerations. WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to personal injury or death, property damage, or economic loss.
    [Show full text]
  • MIPS® Architecture for Programmers Volume I-B: Introduction to the Micromips64® Architecture, Revision 5.03
    MIPS® Architecture For Programmers Volume I-B: Introduction to the microMIPS64® Architecture Document Number: MD00743 Revision 5.03 Sept. 9, 2013 Unpublished rights (if any) reserved under the copyright laws of the United States of America and other countries. This document contains information that is proprietary to MIPS Tech, LLC, a Wave Computing company (“MIPS”) and MIPS’ affiliates as applicable. Any copying, reproducing, modifying or use of this information (in whole or in part) that is not expressly permitted in writing by MIPS or MIPS’ affiliates as applicable or an authorized third party is strictly prohibited. At a minimum, this information is protected under unfair competition and copyright laws. Violations thereof may result in criminal penalties and fines. Any document provided in source format (i.e., in a modifiable form such as in FrameMaker or Microsoft Word format) is subject to use and distribution restrictions that are independent of and supplemental to any and all confidentiality restrictions. UNDER NO CIRCUMSTANCES MAY A DOCUMENT PROVIDED IN SOURCE FORMAT BE DISTRIBUTED TO A THIRD PARTY IN SOURCE FORMAT WITHOUT THE EXPRESS WRITTEN PERMISSION OF MIPS (AND MIPS’ AFFILIATES AS APPLICABLE) reserve the right to change the information contained in this document to improve function, design or otherwise. MIPS and MIPS’ affiliates do not assume any liability arising out of the application or use of this information, or of any error or omission in such information. Any warranties, whether express, statutory, implied or otherwise, including but not limited to the implied warranties of merchantability or fitness for a particular purpose, are excluded. Except as expressly provided in any written license agreement from MIPS or an authorized third party, the furnishing of this document does not give recipient any license to any intellectual property rights, including any patent rights, that cover the information in this document.
    [Show full text]
  • Ch2-Organization.Pdf
    Computer Architecture Ch2 – Computer System Organization Nguyễ n Qu ố c Đính, FIT – IUH HCMC, Apr 2014 1 Computer System Organization - Processor - Memory (bit, byte, address, ECC, cache, RAM, ROM, RAID, CD ...) - I/O (terminal, printer, modems, ASCII) - Buses The organization of a simple computer with one CPU and two I/O devices 2 Central Processing Unit (CPU) CPU function is to execute programs stored in the main memory - fetching instructions - examining instructions - executing them one after another The organization of a simple computer with one CPU and two I/O devices 3 CPU Organization ● Data path consists of: – Registers (No 1 – 32) – Arithmetic Logic Unit – Buses ● Data path cycle is the hart of most CPU The data path of a typical Von Neumann machine. 4 Instruction Execution Steps 1. Fetch next instruction from memory into instruction register 2. Change program counter to point to next instruction 3. Determine type of instruction just fetched 4. If instructions uses word in memory, determine where it is 5. Fetch the word, if needed, into CPU register 6. Execute the instruction 7. Go to step 1 to begin executing following instruction Fetch – decode – execute cycle 5 Interpreter (1) … An interpreter for a simple computer (written in Java). 6 Interpreter (2) … An interpreter for a simple computer (written in Java). 7 CISC (Complex Instruction Set Computer) ● Origin: – Initial instruction set and computer architecture – Hardware designed to facilitate software languages and programming ● Instruction – Complex, defined based on software
    [Show full text]
  • Large and Fast: Exploiting Memory Hierarchy Two Kinds of TLB Misses
    Chapter 5C Large and Fast: Exploiting Memory Hierarchy Two kinds of TLB Misses Check the valid bit of a page table entry If it is on, the page is in memory (a simple TLB miss). Otherwise, the page is not in memory (a page fault) A simple TLB miss (refill TLB) Load the PTE into TLB and retry TLB hit What if the page table is not in memory? A page fault for the page table Could be handled in hardware or in software Little performance difference between the two approaches. A page fault (for instruction or data) OS handles fetching the corresponding page from the disc and updating the page table Then restart the faulting instruction Chapter 5 — Large and Fast: Exploiting Memory Hierarchy — 2 A TLB Hit A cache that contains a subset of the page table in the main memory If there is no matching entry in the TLB for a page, the page table must be examined. Since the page table has an entry for every virtual page, no tag field is needed Chapter 5 — Large and Fast: Exploiting Memory Hierarchy — 3 A simple TLB Miss A cache that contains a subset of the page table 1. TLB miss handler copy the page table entry without checking its valid bit. TLBmiss: 1 mfc0 $k1, Context # copy PTE address lw $k1, 0($k1) # get PTE mtc0 $k1, EtnryLo # put into a special reg tlbwr # put into TLB at random in the main memory eret # return It takes about a dozen clock cycles 2. re-try the address translation: TLB hit If there is no matching entry in the TLB for a page, the page table must be examined.
    [Show full text]
  • Addressing Modes
    4. Addressing modes The topic of this chapter are the addressing modes, the different ways the address of an operand in memory is specified and calculated. Although the computer's world offers a large variety of addressing modes, we will discuss only about the basic ones, those that are used the heaviest in programs. We begin with a discussion about memory addressing: our special concern in this section is how is data (especially if we allow different data sizes) retrieved from memory and what problems appear. 4.1. Interpreting memory addresses A major decision a designer faces is how is the memory to be addressed. Example 4.1 MEMORY ACCESS: You have to design a 16 bit architecture: show how you can access the memory if you allow byte and half-word addressing or only half-word. Answer: 2 45 1 23 0 16 bit data 0 8 bit data 8 bit data 1 a) only half word b) byte and half-word Virgil Bistriceanu Illinois Institute of Technology 55 4 Addressing modes If we have a n-bit wide architecture, and we always read/write from/to memory only n-bit wide data (in our case 16-bit architecture and read/write only half-words as in example 4.1a) then there are not very many hardware problems; an address always means a half-word. However, a problem appears when we try to manipulate characters (a character nicely fits a byte): • use a whole half-word for one character. In this case we waste a byte for every char; • use a half-word to accommodate two bytes (packed).
    [Show full text]
  • Quantum with Unity Pro Hardware Description 35012595 07/2012
    Quantum with Unity Pro 35012595 07/2012 Quantum with Unity Pro 140 ESI 062 10 ASCII Interface Module User Manual 07/2012 35012595.03 www.schneider-electric.com © 2012 Schneider Electric. All rights reserved. 2 35012595 07/2012 Document Set Presentation This package contains the following manuals: Quantum and Premium Communication Architecture Reference Manual 140 EIA 921 00 Quantum AS-i-Bus Interface Module User Manual Quantum TCPIP/IP Configuration User Manual Quantum Modbus Plus Network Modules Quantum Ethernet Modules User Manual 140 ESI 062 10 Quantum ASCII Interface Module User Manual 35012595 07/2012 3 4 35012595 07/2012 Table of Contents Safety Information . 7 About the Book . 9 Chapter 1 140 ESI 062 10 Hardware Description. 11 Presentation . 12 LED Indicators. 13 External Connectors and Switches . 15 Specifications . 17 Chapter 2 Quantum Addressing Modes. 21 Flat Addressing—800 Series I/O Modules . 22 Topological Addressing—800 Series I/O Modules with Unity . 23 Addressing Example . 24 Discrete I/O Bit Numbering . 25 Addressing the 140 ESI 062 10 Module . 26 Chapter 3 Configuration Overview . 27 140 ESI 062 10 Configuration . 28 ASCII Message Formats . 30 Data Flow . 36 Parameter Configuration . 39 Chapter 4 ESI Command Line Editors . 41 Configuration Editor. 42 ASCII Message Editor. 45 Chapter 5 ESI Commands . 47 Overview on ESI Commands . 48 ESI Command Word . 49 Command Processing. 50 Command 0 - NO OPERATION . 52 Command 1- READ ASCII MESSAGE . 53 Command 2 - WRITE ASCII MESSAGE. 55 Command 3 - GET DATA (Module to Controller) . 58 Command 4 - PUT DATA (Controller to Module) . 60 Command 5 - GET TOD (Time of Day).
    [Show full text]