Processor, Compiler and Python Programming Language

Preview:

Citation preview

PROCESSOR, COMPILER AND PYTHON

AS PROGRAMMING LANGUAGE

Agus Bejo, D.Eng.

Digital System Laboratory

Dept. of Electrical Engineering and Information Technology,

Faculty of Engineering, Universitas Gadjah Mada

Kopdar Python ID Jogja, 4 Februari 2017

FIRST EXPERIENCE WITH PYTHON

2013 - Twitter Crawling:Using the Twitter stream API to visualize tweets on Google Maps

Kopdar Python ID Jogja, 4 Februari 2017

BIODATAKopdar Python ID Jogja, 4 Februari 2017

GAMA32 Processor• Processor Design• Compiler Design• Porting Linux Kernel

RESEARCH FIELD IKopdar Python ID Jogja, 4 Februari 2017

Fingerprint AuthenticationRESERARCH FIELD II

� Net-banking� e-moblie payment

� e-money

Kopdar Python ID Jogja, 4 Februari 2017

Michael Schumacher“A seven-time Formula One World Champion”

Who is he

INTRODUCTIONKopdar Python ID Jogja, 4 Februari 2017

INTRODUCTION

Which one is faster

Application

Processor

Algo Code

Kopdar Python ID Jogja, 4 Februari 2017

INTRODUCTION

Which one is more convenient

Compiler

Kopdar Python ID Jogja, 4 Februari 2017

How application running on processor

INTRODUCTION

Application

Algo CodeCompilerProcessor

Kopdar Python ID Jogja, 4 Februari 2017

• High-Level Language

• Middle-Level Language (Assembly Code)

• Low-Level Language (Machine Code)

LANGUAGE ABSTRACTIONKopdar Python ID Jogja, 4 Februari 2017

Source: http://www.phonearena.com/news/Qualcomm-is-still-the-mobile-processor-market-leader-Intel-pretty-close-to-MediaTek_id532

MOBILE PLATFORM WAR

App.

Processor

Kopdar Python ID Jogja, 4 Februari 2017

Application Processor - System on ChipKopdar Python ID Jogja, 4 Februari 2017

SHARE MARKET SMARTPHONE SOCKopdar Python ID Jogja, 4 Februari 2017

QUALCOMM - Snapdragon SoC

ARM

processor

Kopdar Python ID Jogja, 4 Februari 2017

IPHONE – Apple SoC

ARM

processor

Kopdar Python ID Jogja, 4 Februari 2017

MEDIATEK - SoC

ARM

processor

Kopdar Python ID Jogja, 4 Februari 2017

SAMSUNG – Exynos SoC

ARM

processor

Kopdar Python ID Jogja, 4 Februari 2017

NVIDIA SoC

ARM

processor

Kopdar Python ID Jogja, 4 Februari 2017

Why ARM

ARM Processor

ASIP

Jazelle: Java Accellerator

Kopdar Python ID Jogja, 4 Februari 2017

BUSINESS MODEL

Example:� Product: Mi5, LG5, HTC, etc� SoC: Snapdragon 820� Chip Manufac: Samsung� Processor: ARM

Kopdar Python ID Jogja, 4 Februari 2017

PROGRAMMING LANGUAGE

CODING

(Programming Languages)

Processor

Kopdar Python ID Jogja, 4 Februari 2017

PROGRAMMING LANGUAGE

What is the best Programming Language

Kopdar Python ID Jogja, 4 Februari 2017

PROGRAMMING LANGUAGE

What is the mot popular Programming Language

Kopdar Python ID Jogja, 4 Februari 2017

CODING

(Programming

Languages)

Compiled

(Programming)

Intrepreted

(Scripting)

Python, Java, Ruby, Matlab, PHP, JavaScript, R

C, Java, Pascal, Basic, Cobol, Fortran, ADA, Go

PROGRAMMING LANGUAGEKopdar Python ID Jogja, 4 Februari 2017

Compiler- Translasi off-line, - Optimisasi kode baik,- Eksekusi lebih cepat- Lebih rumit bagi programmer

Translator- Translasi on-line, - Tidak ada optimisasi kode,- Eksekusi lebih lambat,- Lebih sederhana bagi programmer- Run anywhere

COMPILER VS INTERPRETERKopdar Python ID Jogja, 4 Februari 2017

COMPILER & INTERPRETER ABSTRACTION

Java

Kopdar Python ID Jogja, 4 Februari 2017

JAVA

Compiler

Interpteter

Kopdar Python ID Jogja, 4 Februari 2017

PYTHON

Compiler Intepreter

Kopdar Python ID Jogja, 4 Februari 2017

Programming Language vs Scripting Language

BossGeneral

Syntax

EmployeeDetail

Syntax

Kopdar Python ID Jogja, 4 Februari 2017

Programming AbstractionKopdar Python ID Jogja, 4 Februari 2017

WHY PYTHON?

�Easy to learn�Nice and readable syntax�Less code�Good community�Makes your life easy

Why

Kopdar Python ID Jogja, 4 Februari 2017

ARTIFICIAL NEURAL NETWORK

ANN is mostly used for Pattern Recognition

Kopdar Python ID Jogja, 4 Februari 2017

ANN with PYTHON

Python Code

Kopdar Python ID Jogja, 4 Februari 2017

Automatic Number Plate Recognition (ANPR)

1. Original Image 2. Edge detection

3. Bin + Morp. Opening + Closing 4. Detected Plate Number

5. Char Segmentation

6. Char Recognition

AB1341YA

Neural

Network

Kopdar Python ID Jogja, 4 Februari 2017

BIOMETRICS – Fingerprint Authentication

1. Original 2. Dir Filter 3. Binarization 4. Thinning 5. Min Extraction

Kopdar Python ID Jogja, 4 Februari 2017

HOW TO IMPROVE PYTHON PERFORMANCEKopdar Python ID Jogja, 4 Februari 2017

CALLING C FROM PYTHON

Python-C-API Ctypes

Wripper.py

Kopdar Python ID Jogja, 4 Februari 2017

� Python adalah salah satu bahasa pemrograman terpoluler saat ini, cocok untuk pengembang aplikasi dengan penekanan pada aspek “rapid development and easy maintenance”.

� Python memiliki sintaks yang mudah sehingga cepat dipelajari/dikuasai oleh orang yang baru belajar sekalipun.

� Efeknya dari fast development time adalah more productifity.

CLOSING STATEMENTKopdar Python ID Jogja, 4 Februari 2017

Recommended