JSM: A small Java Processor Core for Smart Cards and Embedded Systems
|
|
- Baldric Higgins
- 5 years ago
- Views:
Transcription
1 JSM: A small Java Processor Core for Smart Cards and Embedded Systems, Hagen Ploog, Nico Bannow,Dirk Timmermann
2 Outline Goals Smart cards Java on smart cards Design and Functionality of Java processor Rapid-Prototyping-System Outview
3 Goals Development of a Java processor for small embedded systems, especially smart cards Increase of development time for smart card applications Speed up execution time of Javacard applications (Javacard applets) Usage in domains with security concerns Access to external devices Reducing chip s die size and power consumption retaining high performance
4 Smart card Plastic SmartCard- Chip
5 Java Card Smart cards based on Java Card technology
6 Java2 platform Specialized API Specialized JVM
7 Application domains Financial services Health care Telecommunication Public entities Network security Retail Industry Authority and coupons Stored values Personal information Security Payment Access / Identification
8 Smart card microcomputer architecture Basic functions ID-Data ROM RAM Memory CPU (f.e. 8051) contacts EEPROM cryptocontroller Application data Coprocessor for encryption algorithms
9 Advantages Security Easy to use Disadvantages Application development is time consuming and often hard Applications for SC mostly written in Assembler and C Applications masked in ROM - Changing of applications not possible Applications not portable
10 One Solution Java on Smartcards Javacard...but with long run times Our Solution: Java in Hardware
11 Advantages (Java Card) Secure value-added services in ubiquitous world Support additional services and applications after the card has been issued Rapid development of smart card applications
12 Why Java Write Once, Run Anywhere - Portability Security of Applications Usage of standard tools Multi application cards
13 Problems Limited resources Solution Limited instruction set Split virtual machine
14 Java for smart cards: : Limitations Adaptation of API and instruction set to the limited resources of smartcards Limit the size of classes, objects and stackframes Reload of Classes not possible Applets and Objects can not be deleted but deviate from the minimum requirements smart cards can be extended at will
15 Split virtual machine Java virtual machine Card terminal Class files Post processor Applet Image Interpreter PC Smart card
16 JavaCard Installer Applet Applet User Memory Applications and Data JCRE JavaCard API Java Interpreter Smartcard OS Java Virtual Machine Operating System
17 Split virtual machine One part of the Java virtual machine executes off-card, Preparing the executable code that is executed in the other part of the VM, on the card Reasons: - size of applet image downloaded to the card - run-time memory requirement
18 Split virtual machine Off-card: - Linking classes and resolving references - Converter Produces applet image (*.cap Files) - Verifier Verify CAP-Files - Reading in all of the Java executable codes to produce applet image (Java Card loading format, CAP-File) - CAP-File may be downloaded to a Java Card - The code will then be executed by the on-card part of the JCVM On-card: - JCVM, JCRE, JC-API s Converter Verifier
19 Off-card: Split virtual machine Converter Verifier - Reading in all of the Java executable codes to produce applet image (Java Card loading format, CAP-File) - CAP-File may be downloaded to a Java Card - The code will then be executed by the on-card part of the JCVM On-card: - JCVM, JCRE, JC-API s
20 Java Card-Security Derived from the Java Programming Language Object-oriented programming language Name space mgmt. for type and procedure name Reuse if code that has already tested Strongly typed language Java byte code strictly related to specification No pointers as in C and C++ Access to memory beyond allocated array boundaries not possible with array indices Java provides transparent storage allocation
21 Java Card-Security hrough Java Card platform security enhancements Transaction atomicity Applet firewall Security and cryptographic classes
22 Features of JSM 32bit Synthesizeable Code Microcode control Stack machine Security tests in parallel to program execution Additional bytecodes Embedded Triple DES Crypto Coprocessor
23 Design of JSM external device external device external device IO Unit 32 0/A 1/B ALU Stack MMU Microcode Decoder Control Unit LSU (Stack) LSU (MMU) RAM ROM RAM FLASH MUX 32
24 Microcode controlled processor Memory Bytecode Descriptor Table pointer to start of microcode sequence Microcode Table Microcode Microcode ALU, MMU, Stack, IO-Unit, Control-Unit Realization of byte code through RISC alike Microcode instructions Internally translation from bytecode to microcode Jumps, conditional jumps and execution of subroutines possible Very efficient regarding realization,execution speed, modifications Clearly arranged
25 Software objects - states are defined by variables - modifications through operands and bytecodes - operands transmits data Software encapsulation vs Hardware encapsulation Operands Software Object (BLACKBOX) Operands Hardware modules - states are defined by registers and memory - modifications through input signals and internal logic - output signals transmit data Input Signals Hardware Modul (BLACKBOX) Output Signals
26 General structure JSM s modules FUNCTION DATA IN Java Processor Modul DATA OUT STATE ERROR
27 '1' extend MMU (data_out) 8 ALU state MMU state ctrl_unit_ main ctrl_unit_ test STACK state IO UNIT state FSM CONTROL UNIT ctrl_unit_ test_module ctrl_unit_ jump_offset test eq test gt test eq test gt current_micro_ code_subroutine test eq test gt test rom access CU mux ROM table 1 (contains start of micro code entries for each byte code and additional micro code sequences)... current_micro_ code_return_ptr-1 current_micro_ code_return_ptr first in -> last out "1" ALU function MMU function STACK function IO UNIT function ALU data out MMU data out STACK data out SELECT DATA BUS IO UNIT data out last_micro _code_ptr MUX MUX ADD MUX ROM table 2 (contains all micro code sequences) Control Unit ALU data in MMU data in STACK data in IO UNIT data in REGISTER, CONSTANT :
28 modules_state modules_error modules_data_out alu_test_eq alu_test_gt mmu_test_eq mmu_test_gt stack_test_eq stack_test_gt mmu_test_rom_access clk reset 1 2 ADD addition CONTROL UNIT state machine current state last_micro _code_ptr last_micro _code_ptr current_micro_ code_return_ptr micro_code _decoder "1" constant "1" sel_modules_function modules_data_in error IO & Components CU register REGISTER, CONSTANT :
29 DATA IN A 32 DATA IN B 32 ALU select function clk reset REGISTER A FSM logic (+,-,*,/,...) REGISTER B REGISTER state error DATA OUT 32 zero 1 1 lt /gt
30 ta_in l_function set register A, B, buffer REG A REG B BUFFER current alu function A+B A-B ADD/SUB addition subtraction constants 0, 1, 2 "0","1","2" "0" SHL (U)SHR shift operation ALU state machine counter register COUNTER AND, OR, XOR adapt_data _to_type logical operation decrement demux DEC DEMUX log2(n) -> N current phase TEST_0 GT compare operation data_out test_eq test_gt state error REGISTER, CONSTANT : IO & ComponentsALU
31 DATA IN DATA OUT MMU FSM test_eq test_gt state error byte_code_rom_access select function reset clk REGISTER, POINTER BUFFER DATA IN function address state error DATA OUT MMU LSU REGISTER:
32 data_in sel_function clk reset MMU system register register Applet register Type register ConstPool register Method register PC current MMU function ADD offset adder MMU universal register register A register B register REFERENCE register INTEGER address decoder address decoder MMU state machine data buffer data_in_ buffer data_out_ buffer TEST_0 TEST_GT TEST_NULL compare operation constants CONSTANTS current phase merge vectors reduce vector adapt_data _to_type modify vectors REGISTER, CONSTANT : data_out test_eq test_gt state error byte_code_rom_access MMU LSU IO & Components MMU
33 DATA IN DATA OUT STACK 32 2 * 32 FSM state test_eq test_gt error select function reset clk REGISTER, POINTER BUFFER function address DATA IN state error DATA OUT STACK LSU REGISTER:
34 data_in sel_function clk reset stack pointer max_tos pointer TOS pointer frame_data pointer local_variable pointer current stack function A+B A-B ADD/SUB offset adder data buffer data_in buffer buffer 0 buffer 1 A+B A-B SUB test adder Stack state machine constants CONSTANTS TEST_0 GT compare increment compare operation counter register counter_m counter_n current phase reduce vector merge vector vector modify module REGISTER, CONSTANT : data_out state test_eq test_gt error STACK LSU IO & Components Stack
35 Input / Output and Components of IO-Unit data_buffer constant "0" data_in sel_function clk reset current io_unit function IO-Unit state machine current_device_ selector current_priority_ selector data_out state error TEST_0 DEMUX log2(n) -> N select device (multiplexer) rotate vector ADD external devices REGISTER, CONSTANT :
36 DATA IN 32 DATA OUT 32 I/O-Unit FSM (device 0) state interrupt error select function reset BUFFER clk function data_in data_out state error device 1 device 2... REGISTER:
37 iadd : mikrocode sequence Example 1. POP TOS & TOS-1 TO OUTPUT Stack 4. ALU 2. Stack PUSH VALUE FROM ALU TO TOS Stack LOAD REGISTER A & B WITH DATA FROM STACK ALU CONSTANT 1 3. CALCULATE REGISTER A + B ALU SET PC RELATIVE & LOAD BYTECODE MMU
38 Access to external devices IO - UNIT DEVICE PORT 2 DEVICE PORT 1 sel_function data_in data_out state error sel_function data_in data_out state error... IO - DEVICE 2 IO - DEVICE 1 specific external device communication Access to external devices over IO-Unit Every Device (IO-Device) has 1 I/O-Bus Buffering of data must be done in devices (ISR is used)
39 New bytecodes New bytecodes start_applet read_applet write_applet select_io_device read_io_device write_io_device Operation Preparation of an applet. Reading a word from memory and save it on stack. Writes a word to memory. Value and reference are on stack. Selects a device from I/O modules. Reads value(s) from I/O device and pushes it on top of stack. Outputs a value to I/O device. Value is on stack.
40 Error recognization and handling Java has many opportunities to check an applet for run time errors Strength type verification Unauthorized bytecode instructions Range overflow Internal errors Runtime errors Now every error results in a stop of the processor
41 Results Area: ~ 2400 slices without optimization Utilization of Area within Virtex: ~ 20% Speed: ~ 7.5 MHz without optimization Size of microcode: 52 kbit Estimated die size: ~ 0.2 mm 0,18µ
42 Development environment APTIX MP3C BOARD VIRTEX 1000 FPGA Synopsys DesignAnalyzer Synthesis HP Logic Analyzer Xilinx M3 Place&Route JSM core Aptix MP3 Explorer FPGA Download I²C interface addr data control IO Memory Extension Board ROM RAM FLASH I²C Parallel Converter parallel PC I²C IO
43 Outview JSM in smart devices JavaCard API in wireless Systems
44 JSM in smart devices Integration of Java Silicon Machine into Smartdevices Mobile Communication Unit for Distributing Intelligence GSM GPS Java Core FingerPrint SmartCard
45 Future architectures GSM, 3G, Javacard VM Applets Wireless network WAP Gateway Internet J2EE HTML / WML Applet Server Servlets J2ME, CLDC GSM, WAP, 3G KVM Java applications Network 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
46 Future architectures J2ME, CLDC GSM, WAP, 3G KVM Java applications 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
47 Future architectures GSM, 3G, Javacard VM Applets APDU 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
48 Future architectures Wireless Network WAP Gateway Internet Network 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
49 Future architectures J2EE HTML / WML Applet Server Servlets Network 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
50 Future architectures Network 3GPP 3rd Generation Portable Phones USIM Universal Subscriber Identity Module CLDC Connected, Limited Device Configurat CDC Connected Device Configuration
51 Future architectures RMI RMI Applications are independent from protocols RMI
52 ...thank you
Smart Card Operating Systems Overview and Trends
Smart Card Operating Systems Overview and Trends Pierre.Paradinas@gemplus.com Gemplus Labs Smart card A piece of plastic with a chip that contains: CPU, memories and programs SC is your personal information
More informationV8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs
V8-uRISC 8-bit RISC Microprocessor February 8, 1998 Product Specification VAutomation, Inc. 20 Trafalgar Square Nashua, NH 03063 Phone: +1 603-882-2282 Fax: +1 603-882-1587 E-mail: sales@vautomation.com
More informationMicrocomputer Architecture and Programming
IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller
More informationChapter 1 Microprocessor architecture ECE 3120 Dr. Mohamed Mahmoud http://iweb.tntech.edu/mmahmoud/ mmahmoud@tntech.edu Outline 1.1 Computer hardware organization 1.1.1 Number System 1.1.2 Computer hardware
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More informationSmart Card ICs. Dr. Kaushik Saha. STMicroelectronics. CSME 2002 (Chandigarh, India) STMicroelectronics
Smart Card ICs Dr. Kaushik Saha STMicroelectronics CSME 2002 (Chandigarh, India) STMicroelectronics ST Products & Solutions Agenda Smart cards market overview Issues in the Smartcard Business ST Solutions
More informationAssembly Language. Lecture 2 - x86 Processor Architecture. Ahmed Sallam
Assembly Language Lecture 2 - x86 Processor Architecture Ahmed Sallam Introduction to the course Outcomes of Lecture 1 Always check the course website Don t forget the deadline rule!! Motivations for studying
More informationSOEN228, Winter Revision 1.2 Date: October 25,
SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003 1 Contents Flags Mnemonics Basic I/O Exercises Overview of sample programs 2 Flag Register The flag register stores the condition flags that retain
More informationAssembly Language. Lecture 2 x86 Processor Architecture
Assembly Language Lecture 2 x86 Processor Architecture Ahmed Sallam Slides based on original lecture slides by Dr. Mahmoud Elgayyar Introduction to the course Outcomes of Lecture 1 Always check the course
More informationMobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)
Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks
More informationDigital IP Cell 8-bit Microcontroller PE80
1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly
More informationREGISTER TRANSFER LANGUAGE
REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro
More informationComputer Architecture
Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two
More informationDigital System Design Using Verilog. - Processing Unit Design
Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register
More informationMicro computer Organization
Micro computer Organization I Base Basic Components CPU SYSTEM BUSES VDD CLK RESET 1 MPU vs MCU Microprocessor Unit (MPU) CPU (called Microprocessor) is a die All components external to die Basically on
More informationSMART CARDS. Miguel Monteiro FEUP / DEI
SMART CARDS Miguel Monteiro apm@fe.up.pt FEUP / DEI WHAT IS A SMART CARD Distinguishable characteristics Can participate in automated electronic transactions Used primarily to add security Not easily forged
More informationCPU Design John D. Carpinelli, All Rights Reserved 1
CPU Design 1997 John D. Carpinelli, All Rights Reserved 1 Outline Register organization ALU design Stacks Instruction formats and types Addressing modes 1997 John D. Carpinelli, All Rights Reserved 2 We
More informationPicoBlaze Instruction Set and Event Reference
Appendix C PicoBlaze Instruction Set and Event Reference This appendix provides a detailed operational description of each PicoBlaze instruction and the Interrupt and Reset events, including pseudocode
More informationLecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit
Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally
More informationChapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.
Chapter 1 Microprocessor architecture ECE 3130 Dr. Mohamed Mahmoud The slides are copyright protected. It is not permissible to use them without a permission from Dr Mahmoud http://www.cae.tntech.edu/~mmahmoud/
More informationBasics of Microprocessor
Unit 1 Basics of Microprocessor 1. Microprocessor Microprocessor is a multipurpose programmable integrated device that has computing and decision making capability. This semiconductor IC is manufactured
More informationEXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER
OBJECT: EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER To understand the structure and operating instruction of the microprocessor trainer. INTRODUCTION: The MKT 8085 is a single-board microcomputer,
More informationComputer System Architecture
CSC 203 1.5 Computer System Architecture Department of Statistics and Computer Science University of Sri Jayewardenepura Addressing 2 Addressing Subject of specifying where the operands (addresses) are
More informationThe von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.
IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session
More informationCN310 Microprocessor Systems Design
CN310 Microprocessor Systems Design Micro Architecture Nawin Somyat Department of Electrical and Computer Engineering Thammasat University 28 August 2018 Outline Course Contents 1 Introduction 2 Simple
More informationCHAPTER 8: Central Processing Unit (CPU)
CS 224: Computer Organization S.KHABET CHAPTER 8: Central Processing Unit (CPU) Outline Introduction General Register Organization Stack Organization Instruction Formats Addressing Modes 1 Major Components
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More informationComputer Organization
Computer Organization (Instruction set Architecture & Assembly Language Programming) KR Chowdhary Professor & Head Email: kr.chowdhary@gmail.com webpage: krchowdhary.com Department of Computer Science
More informationThe CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:
The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within
More informationCOMPUTER ARCHITECTURE AND PARALEL PROCESSING STUDY NOTES
COMPUTER ARCHITECTURE AND PARALEL PROCESSING STUDY NOTES UNIT 1 INTRODUCTION Central Processing unit (CPU): Alternately referred to as a processor, central processor, or microprocessor, the CPU is the
More informationComputer Architecture and Organization: L04: Micro-operations
Computer Architecture and Organization: L4: Micro-operations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, ah.abdulhafez@gmail.com, hafez@research.iiit.ac.in 1 Outlines 1. Arithmetic microoperation 2.
More informationRequirements and Issues of V**s for Mobile Terminals
Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT
More informationThe Total CPU (TCPU) Description
The Total CPU (TCPU) Description TCPU is easily realizable and easily modified RISC processor mainly aimed for implementation in FPGAs. The key feature of this CPU is that its command set does not dependent
More informationPART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.
Set No. 1 IV B.Tech I Semester Supplementary Examinations, March - 2017 COMPUTER ARCHITECTURE & ORGANIZATION (Common to Electronics & Communication Engineering and Electronics & Time: 3 hours Max. Marks:
More information8/26/2010. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to Three Units of 8085
BLOCK DIAGRAM OF INTEL 8085 GURSHARAN SINGH TATLA Introduction to 8085 It was introduced in 1977. It is 8-bit microprocessor. Its actual name is 8085 A. It is single NMOS device. It contains 6200 transistors
More informationIt is possible to define a number using a character or multiple numbers (see instruction DB) by using a string.
1 od 5 17. 12. 2017 23:53 (https://github.com/schweigi/assembler-simulator) Introduction This simulator provides a simplified assembler syntax (based on NASM (http://www.nasm.us)) and is simulating a x86
More informationGeneral Purpose Processors
Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program
More information12-Dec-11. Gursharan Singh Maninder Kaur. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to 8085
mailme@gursharansingh.in BLOCK DIAGRAM OF INTEL 8085 mailme@maninderkaur.in Introduction to 8085 It was introduced in 1977. It is 8-bit microprocessor. Its actual name is 8085 A. It is single NMOS device.
More informationDC57 COMPUTER ORGANIZATION JUNE 2013
Q2 (a) How do various factors like Hardware design, Instruction set, Compiler related to the performance of a computer? The most important measure of a computer is how quickly it can execute programs.
More information3.1 Description of Microprocessor. 3.2 History of Microprocessor
3.0 MAIN CONTENT 3.1 Description of Microprocessor The brain or engine of the PC is the processor (sometimes called microprocessor), or central processing unit (CPU). The CPU performs the system s calculating
More informationMark II Aiken Relay Calculator
Introduction to Embedded Microcomputer Systems Lecture 6.1 Mark II Aiken Relay Calculator 2.12. Tutorial 2. Arithmetic and logical operations format descriptions examples h 8-bit unsigned hexadecimal $00
More informationEE 8217 *Reconfigurable Computing Systems Engineering* Sample of Final Examination
1 Student name: Date: June 26, 2008 General requirements for the exam: 1. This is CLOSED BOOK examination; 2. No questions allowed within the examination period; 3. If something is not clear in question
More informationUNIT-II. Part-2: CENTRAL PROCESSING UNIT
Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:
More information8086 Interrupts and Interrupt Responses:
UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller
More information8051 Overview and Instruction Set
8051 Overview and Instruction Set Curtis A. Nelson Engr 355 1 Microprocessors vs. Microcontrollers Microprocessors are single-chip CPUs used in microcomputers Microcontrollers and microprocessors are different
More informationUnit wise Question Bank UNIT-II
Academic year: 2017-18 Program: B Tech Course Title: Microprocessor & Microcontrollers Unit wise Question Bank Year/Semester: III/I Section: A, B & C Branch: ECE UNIT-I 1. Draw the functional pin diagram
More informationDarshan Institute of Engineering & Technology for Diploma Studies Unit - 1
Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1 1. Draw and explain 4 bit binary arithmetic or adder circuit diagram. A binary parallel adder is digital function that produces
More informationCHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY
CHAPTER 5 : Introduction to Intel 8085 Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY The 8085A(commonly known as the 8085) : Was first introduced in March 1976 is an 8-bit microprocessor with 16-bit address
More informationMicrocontrollers. Microcontroller
Microcontrollers Microcontroller A microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and
More informationIntroduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn
Introduction to Java Programming CPIT 202 WEWwwbvxnvbxmnhsgfkdjfcn b 1 WEEK 1 LECTURE 1 What is Java? 2 Background on Java First appear in 1995 Developed by Sun Microsystems Corp. Cross platform = platform
More informationGemXpresso R4 E36/E72 PK. Security Policy
GemXpresso R4 E36/E72 PK Security Policy TITLE REF. SP01R10630 - _05 DATE: 06/10/06 GemXpresso R4 E36/E72 PK - Security Policy 1 TABLE OF CONTENTS 4.1.1 PIN assignments and contact dimensions:... 10 4.1.2
More informationThese actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.
MIPS Pipe Line 2 Introduction Pipelining To complete an instruction a computer needs to perform a number of actions. These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously
More informationEITF35 - Introduction to Structured VLSI Design (Fall ) 7. Assignment 3 - Arithmetic Logic Unit (ALU)
EITF35 - Introduction to Structured VLSI Design (Fall 2018 2016 2015) 7 Assignment 3 - Arithmetic Logic Unit (ALU) v.1.1.0 Introduction In this lab assignment, a simple arithmetic logic unit (ALU) will
More informationClass Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2
Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats
More informationChapter 7 Central Processor Unit (S08CPUV2)
Chapter 7 Central Processor Unit (S08CPUV2) 7.1 Introduction This section provides summary information about the registers, addressing modes, and instruction set of the CPU of the HCS08 Family. For a more
More informationPESIT Bangalore South Campus
INTERNAL ASSESSMENT TEST I Date: 30/08/2017 Max Marks: 40 Subject & Code: Computer Organization 15CS34 Semester: III (A & B) Name of the faculty: Mrs.Sharmila Banu.A Time: 8.30 am 10.00 am Answer any FIVE
More informationGrundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic
More informationTopics in computer architecture
Topics in computer architecture Sun Microsystems SPARC P.J. Drongowski SandSoftwareSound.net Copyright 1990-2013 Paul J. Drongowski Sun Microsystems SPARC Scalable Processor Architecture Computer family
More informationIn this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.
About the Tutorial A microprocessor is a controlling unit of a micro-computer, fabricated on a small chip capable of performing Arithmetic Logical Unit (ALU) operations and communicating with the other
More informationInstruction Set Principles and Examples. Appendix B
Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of
More informationCSc 453 Interpreters & Interpretation
CSc 453 Interpreters & Interpretation Saumya Debray The University of Arizona Tucson Interpreters An interpreter is a program that executes another program. An interpreter implements a virtual machine,
More informationJava Card Technology-based Corporate Card Solutions
Java Card Technology-based Corporate Card Solutions Jack C. Pan, Leader and Sr. Architect Hervé Garcia, Tech. Project Manager econsumer Emerging Technologies, Citibank Overall Presentation Goal The objectives
More informationM. Sc (CS) (II Semester) Examination, Subject: Computer System Architecture Paper Code: M.Sc-CS-203. Time: Three Hours] [Maximum Marks: 60
M. Sc (CS) (II Semester) Examination, 2012-13 Subject: Computer System Architecture Paper Code: M.Sc-CS-203 Time: Three Hours] [Maximum Marks: 60 Note: Question Number 1 is compulsory. Answer any four
More informationProgrammable Control Logic
Programmable Control Logic Microsequencers Example: building the micro8 Hardware/Software tradeoff Lab #5 due Thursday, project abstract next Monday 1 Digital Systems = FSMs + Datapath FSM control Datapath:
More informationToday. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses
Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single
More informationDigital Blocks Semiconductor IP
Digital Blocks Semiconductor IP DB805C-FSM 805 Microcontroller FSM Finite State Machine General Description The Digital Blocks DB805C-FSM IP Core contains Digital Blocks compact DB805C CPU Core & GPIO
More informationNote that none of the above MAY be a VALID ANSWER.
ECE 270 Learning Outcome 4-1 - Practice Exam / Solution OUTCOME #4: An ability to design and implement computer logic circuits. Multiple Choice select the single most appropriate response for each question.
More information9/25/ Software & Hardware Architecture
8086 Software & Hardware Architecture 1 INTRODUCTION It is a multipurpose programmable clock drive register based integrated electronic device, that reads binary instructions from a storage device called
More informationOutline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform
Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems
More informationCPE 335. Basic MIPS Architecture Part II
CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture
More information8051 Microcontrollers
8051 Microcontrollers Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu March 8, 2016 Controller vs Processor Controller vs Processor Introduction to 8051 Micro-controller In 1981,Intel corporation
More informationEE 308: Microcontrollers
EE 308: Microcontrollers AVR Architecture Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA January 23, 2018 Aly El-Osery (NMT) EE 308:
More informationEE 459/500 HDL Based Digital Design with Programmable Logic
EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 17 From special-purpose FSMD to general-purpose microcontroller: Xilinx s PicoBlaze 1 Overview From FSMD to Microcontroller PicoBlaze
More informationComputer Organization and Technology Processor and System Structures
Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University
More informationE3940 Microprocessor Systems Laboratory. Introduction to the Z80
E3940 Microprocessor Systems Laboratory Introduction to the Z80 Andrew T. Campbell comet.columbia.edu/~campbell campbell@comet.columbia.edu E3940 Microprocessor Systems Laboratory Page 1 Z80 Laboratory
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined
More informationComputer Architecture
Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 3 Fundamentals in Computer Architecture Computer Architecture Part 3 page 1 of 55 Prof. Dr. Uwe Brinkschulte,
More informationVLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL
International Journal of Electronics, Communication & Instrumentation Engineering Research and Development (IJECIERD) ISSN 2249-684X Vol.2, Issue 3 (Spl.) Sep 2012 42-47 TJPRC Pvt. Ltd., VLSI DESIGN OF
More informationFor your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to
For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...xi
More informationCS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS
CS 24: INTRODUCTION TO Spring 2015 Lecture 2 COMPUTING SYSTEMS LAST TIME! Began exploring the concepts behind a simple programmable computer! Construct the computer using Boolean values (a.k.a. bits )
More informationIDCore. Flexible, Trusted Open Platform. financial services & retail. Government. telecommunications. transport. Alexandra Miller
IDCore Flexible, Trusted Open Platform financial services & retail enterprise > SOLUTION Government telecommunications transport Trusted Open Platform Java Card Alexandra Miller >network identity >smart
More informationChapter 17. Microprogrammed Control. Yonsei University
Chapter 17 Microprogrammed Control Contents Basic Concepts Microinstruction Sequencing Microinstruction Execution TI 8800 Applications of Microprogramming 17-2 Introduction Basic Concepts An alternative
More information6 THE ETRAX Introduction. Special registers. 6 The ETRAX 4
6 THE ETRAX 4 6.1 Introduction The ETRAX 4 is the processor prior to the ETRAX 1 in the ETRAX family. The differences between the CRIS implementation in the ETRAX 1 and the ETRAX 4 are presented in this
More informationUNIT 2 PROCESSORS ORGANIZATION CONT.
UNIT 2 PROCESSORS ORGANIZATION CONT. Types of Operand Addresses Numbers Integer/floating point Characters ASCII etc. Logical Data Bits or flags x86 Data Types Operands in 8 bit -Byte 16 bit- word 32 bit-
More informationCS401 - Computer Architecture and Assembly Language Programming Glossary By
CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.
More informationChapter 2A Instructions: Language of the Computer
Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction
More informationThe functional block diagram of 8085A is shown in fig.4.1.
Lecture-13 Internal Architecture of Intel 05A The functional block diagram of 05A is shown in fig.4.1. INTA INTR RST7.5 RST5.5 RST6.5 TRAP SOD SID INTERRUPT SERIAL I/O (Internal Bus) FR(S) IR() B() C()
More informationpicojava I Java Processor Core DATA SHEET DESCRIPTION
picojava I DATA SHEET DESCRIPTION picojava I is a uniquely designed processor core which natively executes Java bytecodes as defined by the Java Virtual Machine (JVM). Most processors require the JVM to
More informationUNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT
UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) contents Memory: Introduction, Random-Access memory, Memory decoding, ROM, Programmable Logic Array, Programmable Array Logic, Sequential programmable
More information1. Internal Architecture of 8085 Microprocessor
1. Internal Architecture of 8085 Microprocessor Control Unit Generates signals within up to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the
More informationMapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience
Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware
More informationController Implementation--Part II
Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)
More informationPractical Malware Analysis
Practical Malware Analysis Ch 4: A Crash Course in x86 Disassembly Revised 1-16-7 Basic Techniques Basic static analysis Looks at malware from the outside Basic dynamic analysis Only shows you how the
More informationTYPES OF INTERRUPTS: -
There are 3 types of interrupts. TYPES OF INTERRUPTS: - External Interrupts. Internal Interrupts. Software interrupts. Hardware Interrupts (1) External interrupts come from I/O devices, from a timing device
More informationARM Processors ARM ISA. ARM 1 in 1985 By 2001, more than 1 billion ARM processors shipped Widely used in many successful 32-bit embedded systems
ARM Processors ARM Microprocessor 1 ARM 1 in 1985 By 2001, more than 1 billion ARM processors shipped Widely used in many successful 32-bit embedded systems stems 1 2 ARM Design Philosophy hl h Low power
More informationCOMPUTER STRUCTURE AND ORGANIZATION
COMPUTER STRUCTURE AND ORGANIZATION Course titular: DUMITRAŞCU Eugen Chapter 4 COMPUTER ORGANIZATION FUNDAMENTAL CONCEPTS CONTENT The scheme of 5 units von Neumann principles Functioning of a von Neumann
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationLecture 2 Microcomputer Organization: Fig.1.1 Basic Components of Microcomputer
Lecture 2 Microcomputer Organization: As discussed in previous lecture microprocessor is a central processing unit (CPU) with its related timing functions on a single chip. A microprocessor combined with
More informationDigital Blocks Semiconductor IP
Digital Blocks Semiconductor IP 805 Microcontroller General Description The Digital Blocks Microcontroller Verilog IP Core is complaint with the MCS 5 Instruction Set and contains standard 805 MCU peripherals,
More informationTowards Optimal Custom Instruction Processors
Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT CHIPS 18 Overview 1. background: extensible processors
More information