MTL 坂井・五島研究室 修士1年 46424 豊島 隆 志 新たな高信頼アーキテクチャに向けた研究 A First Step Towards A Novel Dependable Architecture.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Chapter 8: Central Processing Unit
1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
CPE 731 Advanced Computer Architecture ILP: Part V – Multiple Issue Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of.
CSE 490/590, Spring 2011 CSE 490/590 Computer Architecture VLIW Steve Ko Computer Sciences and Engineering University at Buffalo.
Exceptional Control Flow Processes Today. Control Flow Processors do only one thing: From startup to shutdown, a CPU simply reads and executes (interprets)
Chapter 12 Three System Examples The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
EECS 470 Superscalar Architectures and the Pentium 4 Lecture 12.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Intel Pentium 4 Processor Presented by Presented by Steve Kelley Steve Kelley Zhijian Lu Zhijian Lu.
Computer Organization and Assembly language
CS 6354 by WeiKeng Qin, Jian Xiang, & Ren Xu December 8, 2009.
Computer Organization & Assembly Language
Intel Architecture. Changes in architecture Software architecture: –Front end (Feature changes such as adding more graphics, changing the background colors,
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
INTRODUCTION Crusoe processor is 128 bit microprocessor which is build for mobile computing devices where low power consumption is required. Crusoe processor.
Introduction of Intel Processors
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Hardware Assisted Control Flow Obfuscation for Embedded Processors Xiaoton Zhuang, Tao Zhang, Hsien-Hsin S. Lee, Santosh Pande HIDE: An Infrastructure.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
Spring 2003CSE P5481 VLIW Processors VLIW (“very long instruction word”) processors instructions are scheduled by the compiler a fixed number of operations.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
The Central Processing Unit (CPU) and the Machine Cycle.
A Simple Computer Architecture Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
M. Mateen Yaqoob The University of Lahore Spring 2014.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Branch.1 10/14 Branch Prediction Static, Dynamic Branch prediction techniques.
Transmeta’s New Processor Another way to design CPU By Wu Cheng
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level.
Next Generation ISA Itanium / IA-64. Operating Environments IA-32 Protected Mode/Real Mode/Virtual Mode - if supported by the OS IA-64 Instruction Set.
The Intel 86 Family of Processors
Overview von Neumann Architecture Computer component Computer function
A Survey on Runtime Smashed Stack Detection 坂井研究室 M 豊島隆志.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Protection in Virtual Mode
15-740/ Computer Architecture Lecture 3: Performance
Prof. Hsien-Hsin Sean Lee
Part of the Assembler Language Programmers Toolbox
Overview Introduction General Register Organization Stack Organization
Henk Corporaal TUEindhoven 2009
The Microarchitecture of the Pentium 4 processor
From Address Translation to Demand Paging
Ka-Ming Keung Swamy D Ponpandi
Control Unit Introduction Types Comparison Control Memory
Processor Organization and Architecture
CHAPTER 8: CPU and Memory Design, Enhancement, and Implementation
Henk Corporaal TUEindhoven 2011
* From AMD 1996 Publication #18522 Revision E
What is Computer Architecture?
COMS 361 Computer Organization
Chapter 12 Pipelining and RISC
Introduction to Virtual Machines
Introduction to Virtual Machines
Ka-Ming Keung Swamy D Ponpandi
Chapter 4 The Von Neumann Model
Presentation transcript:

MTL 坂井・五島研究室 修士1年 豊島 隆 志 新たな高信頼アーキテクチャに向けた研究 A First Step Towards A Novel Dependable Architecture

MTL 坂井・五島研究室 Contents Background A Novel Architecture –Overview –Details Code Translation –History –Consideration Ideas for Dependability Future Works

MTL 坂井・五島研究室 Background – Requirements and Adhoc supplies Dependability Requirements –Reliability, Availability,Serviceability (RAS) Studies of Architecture Level Support –Academic studies Architecture Support for Defending Against Buffer Overflow Attacks; Jun Xu and Zbigniew Kalbarczyk and Sanjay Patel and Ravishankar K. Iyer; Proceedings of 2 nd Workshop on Evaluating and Architecting System dependabilitY (EASY), 2002 Enlisting Hardware Architecture to Thwart Malicious Code Injection; Ruby B. Lee and David K. Karig and John P. McGregor and Zhijie Sh; Proceedings of 1 st International Conference on Security in Pervasive Computing (SPC), 2003 A Processor Architecture Defense against Buffer Overflow Attacks; John P. McGregor and David K. Karig and Zhijie Shi and Ruby B. Lee; Proceedings of IEEE International Conference on Information Technology: Research and Education (ITRE), 2003 –Commercial products ARM SecureCore SmartMIPS ASE IA-32 NXBit Symptomati c and Imperfect

MTL 坂井・五島研究室 Contents Background A Novel Architecture –Overview –Details Code Translation –History –Consideration Ideas for Dependability Future Works

MTL 坂井・五島研究室 A Novel Architecture - Overview Tag Memory Main Bus Data Cache Translation Unit (TU) Data Control Instructions for Virtual Machine (VM) Instruction Data Invalidation Translation Request Translated Instruction Execution Unit (EU) Translation Cache Main Memory Tag Data & Tag

MTL 坂井・五島研究室 A Novel Architecture – Details : Execution Unit Execution Unit (EU) –Access to Data Data Cache Main Memory and Tag Memory –Access to Instruction Translation Cache

MTL 坂井・五島研究室 A Novel Architecture – Details : Translation Unit Translation Unit (TU) –Binary Translation From ISA for VM To ISA for EU –Organization Hardware Processor Translation Software –Rapid Translation –Optimization of Translation Cache

MTL 坂井・五島研究室 Contents Background A Novel Architecture –Overview –Details Code Translation –History –Consideration Ideas for Dependability Future Works

MTL 坂井・五島研究室 Sequencer ROM Code Translation - History : microprogrammed control IBM System/360 –At April 7, 1964 Motorola MC680x0 –nanoprogram –nanoarchitecture Instruction Op.Code Control Memory Address Control Memory (CM) Microprogram for Op.X Microprogram for Op.Y Microprogram for Op.Z Micro architecture

MTL 坂井・五島研究室 Code Translation - History : Pentium4 (NetBurst) Front End Bus Unit System Bus 3 rd Level Cache (Optional) 2 nd Level Cache (8-Way) Fetch/Decode Trace Cache Microcode ROM BTBs/Branch Prediction Execution Out-Of-Order Core Retirement Branch History Update 1 st Level Cache (4-Way) Frequently used paths Less frequently used paths

MTL 坂井・五島研究室 VLIW Inst. Ba VLIW Inst. Da VLIW Inst. Ca VLIW Inst. Cb VLIW Inst. Aa VLIW Inst. Ab Atom Code Translation - History : Crusoe/Efficeon IA-32 Inst. A IA-32 Inst. B IA-32 Inst. C IA-32 Inst. D Memory System Fetch VLIW Execution core Core Morphing Software Inst. Ba Inst. Da Inst. Cb Inst. Aa Inst. Ab Light Optimization Inst. Ba Inst. Da Inst. Cb Inst. Aa Inst. Ab ・・・ Molecule pack convert Maximum Optimization & Cache Hot Spot

MTL 坂井・五島研究室 IA-32 Execution Layer (IA-32 EL) Code Translation - History : Itanium series IA-64 VLIW core IA-32 Decoder Operation System IA-32 Execution Layer IA-64 Application IA-32 Application IA-32 Application IA-32 Application Cache Translation and Runtime Information Cold Code Translation On Execution Time Translated Code Block Runtime Information Optimizer Hot Code Translation Hot Spot Runtime Information

MTL 坂井・五島研究室 Code Translation - History : Parrot Synchronized Commit Trace Predict Trace Select Trace Fill Hot Filter I-Cache Trace Cache Branch Predict Cold Exec Hot Exec Optimizer Blazing Filter Fetch Selector

MTL 坂井・五島研究室 Code Translation - Considerations Requirements –ISA for Software (ISAS) High Level Language oriented More Information with Instructions –For Dynamic Optimizations Performance & Reduced Power Supply –For Dynamic Validations Dependability –ISA for Hardware (ISAH) Design Level Optimization –Fixed ISA restricts Hardware Design Impact –Answer the Above Requirements

MTL 坂井・五島研究室 Contents Background A Novel Architecture –Overview –Details Code Translation –History –Consideration Ideas for Dependability Future Works

MTL 坂井・五島研究室 Ideas for Dependability – Call Stack Protection Return Address Stack is divided from Common Stack –Permission to touch Return Address Stack is limited to … Call instruction (tacit push) Return instruction (tacit pop) Specified Push/Pop instructions for Return Address Stack –Only address value can be pushed into Return Address Stack return address char buffer[1024]; int b; int a; Local Variables of Function Stack Frame of Function char buffer[1024]; int b; int a; Local Variables of Function Stack Frame of Function return address

MTL 坂井・五島研究室 Ideas for Dependability – Boundary Check Acceleration Register relative indexed addressing –Load a1, r2; if (i2 > b2) raise exception else a1←(a2+i2) –Store r1, a2; if (i1 > b1) raise exception else (a1+i1)←a2 Load Reference –Load r1, r2; a1←(a2+i2), b1←1(a2+i2) b1 b2 b3 b4 i1 i2 i3 i4 a1 a2 a3 a4 Boundary reg.Index reg.Address reg. ……… memory a1 a1+i1 If (i1 > b1) raise exception b1

MTL 坂井・五島研究室 Ideas for Dependability – Data Tagging Every data is tagged based on data types –Types Instruction Address Value Reference (A Pair of Address and Value) NULL –Tag value is updated by specified instructions –ALU update tags automatically after calculation –If PC points a data which is not tagged as instruction, the execution of program is stopped –When data is tagged as instruction, T$ is invalidated

MTL 坂井・五島研究室 Contents Background A Novel Architecture –Overview –Details Code Translation –History –Consideration Ideas for Dependability Future Works

MTL 坂井・五島研究室 Feature Works Model of Undependability –Human error leading mechanisms –Essential Realization of Dependable Mechanisms On ISAH or ISAS? –Which should we implement dependable mechanisms on More Specification –Details of Execution Unit –Outline of Translation Unit How Evaluate –SPEC, IPC, …

MTL 坂井・五島研究室 COMING SOON

MTL 坂井・五島研究室 Background (1) – Moore's Law Moore's Law –Cramming more components onto integrated circuits; Gordon E. Moore; Electronics, Volume 38, Number 8, April 19, 1965 The Limits of Moore's Law –No Exponential Is Forever: But “Forever” Can Be Delayed!; Gordon E. Moore; IEEE International Solid-State Circuits Conference 2003 –Limits to binary logic switch scaling – a gedanken model; V.V.Cavin, R.K. Cavin III, J.A.Hutchby, G.I.Bourianoff; Proceedings of The IEEE Volume 91, Issue 11, Nov 2003, p … 16nm –No end in sight for Moore's Law; Craig Barrett(Intel CEO) ; Intel Developer Fortum Spring 2005 Keynote Speech … 5nm

MTL 坂井・五島研究室 Tag Memory Main Bus Data Cache Translation Unit (TU) Instructions for Virtual Machine (VM) Instruction Data Invalidation Translation Request Translated Instruction Execution Unit (EU) Translation Cache Main Memory Tag Data & Tag

MTL 坂井・五島研究室 ROM Instruction Op.Code Control Memory Address Control Memory (CM) Microprogram for Op.X Microprogram for Op.Y Microprogram for Op.Z Micro architecture

MTL 坂井・五島研究室 Front End Bus Unit System Bus 3 rd Level Cache (Optional) 2 nd Level Cache (8-Way) Fetch/Decode Trace Cache Microcode ROM BTBs/Branch Prediction Execution Out-Of-Order Core Retirement Branch History Update 1 st Level Cache (4-Way) Frequently used paths Less frequently used paths

MTL 坂井・五島研究室 VLIW Inst. Ab ・・・ Inst. Ab VLIW Inst. Ca VLIW Inst. Cb Atom IA-32 Inst. A IA-32 Inst. B IA-32 Inst. C IA-32 Inst. D Memory System Fetch VLIW Execution core Core Morphing Software Inst. Ba Inst. Da Inst. Cb Inst. Aa Light Optimization Inst. Ba Inst. Da Inst. CbInst. Ab Molecule pack convert Maximum Optimization & Cache Hot Spot Inst. Aa VLIW Inst. Aa VLIW Inst. Ba VLIW Inst. Da

MTL 坂井・五島研究室 IA-64 VLIW core IA-32 Decoder Operation System IA-32 Execution Layer IA-64 Application IA-32 Application IA-32 Application

MTL 坂井・五島研究室 IA-32 Application Cache Translation and Runtime Information Cold Code Translation On Execution Time Translated Code BlockRuntime Information Optimizer Hot Code Translation Hot Spot Runtime Information

MTL 坂井・五島研究室 Synchronized Commit Trace Predict Trace Select Trace Fill Hot Filter I-Cache Trace Cache Branch Predict Cold Exec Hot Exec Optimizer Blazing Filter Fetch Selector

MTL 坂井・五島研究室 memory b1 b2 b3 b4 i1 i2 i3 i4 a1 a2 a3 a4 Boundary reg.Index reg.Address reg. ……… a1 a1+i1 If (i1 > b1) raise exception b1

MTL 坂井・五島研究室