Folding Programs Erik Demaine CSAIL, MIT.

Slides:



Advertisements
Similar presentations
Data Communications and Networking
Advertisements

Logic Circuits Design presented by Amr Al-Awamry
EECE **** Embedded System Design
Circuit Extraction 1 Outline –What is Circuit Extraction? –Why Circuit Extraction? –Circuit Extraction Algorithms Goal –Understand Extraction problem –Understand.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
1 Lecture 20 Sequential Circuits: Latches. 2 Overview °Circuits require memory to store intermediate data °Sequential circuits use a periodic signal to.
Lecture 7: PLC: Review Questions
Chapter 7 Henry Hexmoor Registers and RTL
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
4/27/2006 ELEC7250: White 1 ELEC7250 VLSI Testing: Final Project Andrew White.
Chapter 4 Gates and Circuits.
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Section 10.3 Logic Gates.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
Logic and Computer Design Fundamentals Registers and Counters
Digital Design – Physical Implementation Chapter 7 - Physical Implementation.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard,
Von Neumann’s Automaton and Viruses Most slides taken from Weizmann Institute of Science and Rensselaer Polytechnic Institute.
Nanoscale Self-Assembly A Computational View Philip Kuekes Quantum Science Research HP Labs.
Overview Part 1 – Design Procedure 3-1 Design Procedure
FUNCTIONS OF OPERATING SYSTEMS Interfaces Memory Management Security Utility Interrupt Handling.
Cellular Automata Avi Swartz 2015 UNC Awards Ceremony.
Introduction At the heart of the growth of a multi-cellular organism is the process of cellular division… … aka (in computing) self-replication.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
MAS.S62 FAB The Threshold for Life
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Quiz # 2 Chapters 4, 5, & 6.
The Theory and Practice of Origami Erik Demaine M.I.T.
CPSC 171 Introduction to Computer Science Boolean Logic, Gates, & Circuits.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Chapter 2: Binary Logic.
Chapter 4 The Building Blocks: Binary Numbers, Boolean Logic, and Gates.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Registers CPE 49 RMUTI KOTAT.
What is an And Gate? It is a digital circuit that produce logical operations The logical operations are call Boolean logical Boolean operation consist.
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
EE3A1 Computer Hardware and Digital Design
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
CS 1308 – Computer Literacy and the Internet Building the CPU.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale.
An Introduction to Algorithmic Tile Self-Assembly.
Reconfigurable architectures ESE 566. Outline Static and Dynamic Configurable Systems –Static SPYDER, RENCO –Dynamic FIREFLY, BIOWATCH PipeRench: Reconfigurable.
HOW A COMPUTER PROCESSES DATA. What is hardware? Hardware is the electric, electronic and mechanical equipment that makes up a computer What is software?
Reconfigurable Asynchronous Logic Automaton
Building Blocks CS 1308 Computer Literacy and the Internet.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Week 1: Introduction and Logic gates IT3002 – Computer Architecture
Computer Organization and Machine Language Programming CPTG 245
Registers and Counters
More Devices: Control (Making Choices)
CS140 Lecture 03: The Machinery of Computation: Combinational Logic
OTHER COMBINATIONAL LOGIC CIRCUITS
Chapter 4 Gates and Circuits.
Lesson Objectives Aims
Thirteenth International Meeting on DNA Computers
Computer Science 210 Computer Organization
CSE 370 – Winter Sequential Logic - 1
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
Electronic Homework Submission and Grading
Binary Logic.
Design of Digital Circuits Lab 8 Supplement: Full System Integration
Von Neumann’s Automaton and Viruses
Chapter 13: I/O Systems.
Mealy and Moore Machines
Unit -4 Introduction to Embedded Systems Tuesday.
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
Presentation transcript:

Folding Programs Erik Demaine CSAIL, MIT

Geometric Folding Algorithms Linkages Paper Polyhedra

Hinged Dissection Universality [Abbott, Abel, Charlton, Demaine, Demaine, Kominers 2008] Theorem: For any finite set of polygons of equal area, there is a hinged dissection that can fold into any of the polygons, continuously without self-intersection Number of pieces is pseudopolynomial (optimal) Working on pseudopolynomial, which is best you can hope for (even without hinging)

Folding Meets Computing Algorithms Computing Geometry Folding Conformal Computing Physics Folding Algorithms Conformal Computing

Mesoscale Hinged Dissection from http://pubs.acs.org/isubscribe/journals/jacsat/124/i49/figures/ja021043df00002.gif from http://pubs.acs.org/isubscribe/journals/jacsat/124/i49/figures/ja021043df00002.html from http://pubs.acs.org/cgi-bin/article.cgi/jacsat/2002/124/i49/html/ja021043d.html from http://dx.doi.org/10.1021/ja021043d [Mao, Thalladi, Wolfe, Whitesides, Whitesides 2002]

DNA Folding Synthetic DNA to fold into desired polygon [Rothemund — Nature 2006] http://www.msnbc.msn.com/id/11829347/ ~100nm

Self-Assembly & Nanomanufacturing Algorithms for programming matter into arbitrary shapes [Cheung, Demaine, Griffith, Jacobson et al. 2008]

Self-Assembly of Sorting Circuit

Self-Assembly of Sorting Circuit

Folding Programs Folding assembly process is useful for more than assembly Can reprogram an already-assembled device by “feeding” program (circuit)

Operating System High-level goals: Challenges: Load programs/circuits Destroy programs/circuits Communication channels between running programs/circuits Challenges: Embedding programs onto hardware Routing “reprogramming” instructions Feedback from program to OS (spawn) xxx figure

Asynchronous Logic Automaton 2 bits = which gate (4) 3 bits for input 1 (8 neighbors including diagonal) 3 bits for input 2 Bit = 0 wire and 1 wire Neither occupied => ready 0 wire occupied => 0 input 1 wire occupied => 1 input Both wires occupied: unused

Reprogrammable Asynchronous Logic Automaton Simple solution: Bigger rule table, more states, more wires Ideally: Simple rules Small number of additional states Use 0+1 for reprogramming; no extra wires Somewhere in the middle: von Neumann’s Universal Constructor (self-replicating cellular automaton)

One Solution Regular state (AND/OR/etc.) Reset state Forward state 0+1 switches to reset state Reset state Accept AND/OR/etc.; programs next regular state Then accept N/E/W/S forwarding direction Once programmed, auto-switch to forward state Forward state Send 0+1 to N/E/W/S to turn next cell to reset state Then pass on all input bits (0/1) to next cell 0+1 switches to ready state, which ignores 0/1 inputs Last node in chain sends back final 0+1 stream to switch ready state to regular state

Ongoing Work Converting data to programs Cleaner integration of logic & programming Hierarchical programming Simulation Design & develop full operating system within this framework