CENG 2400, Embedded system design

Slides:



Advertisements
Similar presentations
Microprocessors Typical microprocessor controlled devices: Camera, mobile phone, stereo, mp3 player, electronic toys… High-level microprocessor controlled.
Advertisements

EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Course Overview and The 8051 Architecture
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CENG 2400, Embedded system design
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter 2: Memory CEG2400 – Embedded System Design CEG2400 Ch2. Memory V4c1.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Course Outline for CENG2400 Embedded System Design You will learn –Hardware systems: memory, data/address bus. –Software systems: control hardware using.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
Processors for Embedded Systems PowerPC X86 MIPS ARM & Strong ARM SuperH RISC (SH3 and SH4) PIC – EE 4175.
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
Computer Organization
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
INTRODUCTION TO MICROPROCESSORS
Assembly Language for x86 Processors 7th Edition
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
1 Introduction Chapter 1 n What is Assembly Language? n Data Representation.
November SSI Small Scale Integration Up to 12 equivalent gate circuits on a single chip Includes basic gates and flip-flops.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
CPS120: Introduction to Computer Science Introduction to Computers.
EKT 422 Computer Architecture
Computer Organization and Design Computer Abstractions and Technology
Tolo-e-aftab higher education 1 th semester Bcs 1/2/1392 MINISTRY OF HIGHER EDUCATION.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Computer Organization & Assembly Language © by DR. M. Amer.
The AVR Microcontroller: History and Features
PC hardware and x86 programming Lec 2 Jinyang Li.
66 CHAPTER SYSTEM UNIT. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved. 1-2 Lecture Objectives System unit components Microprocessors Memory.
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
MICROOCESSORS AND MICROCONTROLLER:
This course is designed by Dr. Khaled A. Al-Utaibi.
Chapter 1 — Computer Abstractions and Technology — 1 Below Your Program Application software – Written in high-level language System software – Compiler:
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
The Principle and Application of Microcontrollers
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
Chapter 1 Introduction.   In this chapter we will learn about structure and function of computer and possibly nature and characteristics of computer.
SPRING 2012 Assembly Language. Definition 2 A microprocessor is a silicon chip which forms the core of a microcomputer the concept of what goes into a.
CENG 2400, Embedded system design Chapter 1: Introduction KH Wong CENG2400 Ch1. Introduction v6b1.
CENG2400 Embedded System Design Chapter 0: Introduction K H Wong , Room 907 SHB-Engineering building
GCSE Computer Science - Revision
Introduction to Microcontrollers
Microprocessor and Microcontroller Fundamentals
Microprocessor and peripheral
Microprocessor and Microcontroller Fundamentals
Morgan Kaufmann Publishers
Assembly Language for x86 Processors 6th Edition
Chapter 1: An Overview of Computers and Programming Languages
Computer Architecture & Operations I
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor Systems Design I
IPCOWALA INSTITUTE OF ENGINEERING & TECHNOLOGY-DHARMAJ
INTRODUCTION TO MICROPROCESSORS
Introduction to Microprocessors
INTRODUCTION TO MICROPROCESSORS
CENG2400 Embedded System Design Chapter 0: Introduction
عمارة الحاسب.
Computer Science I CSC 135.
Lecture 2 Microprocessor Overview
Introduction to Microprocessor Programming
Java Programming Introduction
Dept. of Computer & Information Sciences (Course Introduction)
Dr. Clincy Professor of CS
Presentation transcript:

CENG 2400, Embedded system design 18-Sep-18 CENG 2400, Embedded system design Chapter 1: Introduction KH Wong CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Course Details Lecturer: Kin Hong Wong (khwong@cse) Website: http://www.cse.cuhk.edu.hk/~khwong Useful links http://www.arm.com/support/resources/arm-books/ Thanks to Drs Philip Leong, Y.S. Moon, O. Mencer, N. Dulay, P. Cheung for some of the slides used in this course CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a What to learn? Build microcontroller/embedded systems Program it using assembly / C languages Techniques to interface sensors and control devices CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a References References: Furber, “ARM System-on-Chip Architecture”, 2000 (refer to course website for online references) Honesty in Academic work English Video : http://www.cuhk.edu.hk/clear/tnl/Plagiarism_English.html Cantonese Video : http://www.cuhk.edu.hk/clear/tnl/Plagiarism_Cantonese.html Staff Student expectations CENG2400 Ch1. Introduction v7a

CPUs and microcontrollers A Central Processing Unit CPU is the soul of a computer; it is the element in a computer for calculation and program execution. However, it does not function independently, it also needs memory and input/output modules to make up the computer. A microcontroller is a name given to a self-contained computer system that can operate on its own. It has a CPU inside as well memory and input/output modules which are packed inside a chip. So it is also named as a single-chip-computer. It is used for dedicated systems such as washing machines, mobile phones or mobile pads. CENG2400 Ch1. Introduction v7a

Examples of microcontrollers 18-Sep-18 Examples of microcontrollers It is a computer on a chip. Examples: Intel 8031, PIC (8-bit) Arm (32-bit, 64-bit assembly or C) “ARM-based CPU market share in 2010: over 95% in smartphone market; 10% in mobile computers; 35% in digital TVs and set-top boxes” ; from http://en.wikipedia.org/wiki/ARM_Holdings Arm in the I-phone http://content.zdnet.com/2346-9595_22-93276-27.html CENG2400 Ch1. Introduction v7a http://www.mobilebond.com/wp-content/uploads/2010/12/11119422-apple-iphone-4.jpg

CENG2400 Ch1. Introduction v7a 18-Sep-18 What are they used for? Offices (Word processing, data bases) Engineering (robot) Game consoles (Kinect, PSP) http://www.trossenrobotics.com/ http://www.draftexcellence.com/wp-content/uploads/2010/11/xbox-360-kinect-games.jpg http://cdn.gamerant.com/wp-content/uploads/kinect-move-interest-low.jpg CENG2400 Ch1. Introduction v7a

CPU on a Chip -> Microprocessor 18-Sep-18 CPU on a Chip -> Microprocessor Microcontroller (MCU) is a computer on a chip CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a System on a chip (SoC) & A new trend http://en.wikipedia.org/wiki/System-on-a-chip . E.g. mobile phone SoC chip (ARM + wireless modules) If the system is too large for an SoC chip, use system in package (SiP):multi- chip system . + wireless module http://www.mobilecomputermag.co.uk/images/stories/news/2008/01/arm-processor.jpg + CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a 18-Sep-18 Other CPUs Intel Pentium Motorola/IBM PowerPC AMD K7 ARM StrongArm Compaq (DIGITAL) Alpha Zilog Z80 Motorola 68000 6502 MIPS Interesting history about microprocessors: http://www.cpushack.com/ It seems only the Intel Pentium and ARM families are still actively being used nowadays. CENG2400 Ch1. Introduction v7a

ARM microprocessor cores 18-Sep-18 ARM microprocessor cores Main article: List of ARM microprocessor cores A summary of the numerous vendors who implement ARM cores Architecture Family ARMv1 ARM1 ARMv2 ARM2, ARM3 ARMv3 ARM6, ARM7 ARMv4 StrongARM, ARM7TDMI, ARM9TDMI ARMv5 ARM7EJ, ARM9E, ARM10E, XScale ARMv6 ARM11, ARM Cortex-M ARMv7 ARM Cortex-A, ARM Cortex-M, ARM Cortex-R : ARM Cortex-A53 , 64-bit Our CENG2400 Course For Samsung galaxy 7 CENG2400 Ch1. Introduction v7a http://en.wikipedia.org/wiki/ARM_architecture

CENG2400 Ch1. Introduction v7a History Turing and Turing machine http://www.bletchleypark.org.uk/edu/lectures/turing.rhtm http://www.krcadinac.com/pictures/600px-Turing_machine_1.JPG 8-bit 64-bit 32-bit CENG2400 Ch1. Introduction v7a

computer hardware history Turing developed the first digital computer around 1942. Von Neumann architecture, 1946 Intel 8088 microprocessor (8/16-bit) , 1979 Motorola 68000 (16-bit) 1979. Pentium 4 (32-bit), 2000 Pentium Dual core 2009 ARM 64/32 bit, 2011 CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Hardware http://images.google.com/images?gbv=2&hl=en&q=memory+ram&btnG=Search+Images http://keppanet.netfirms.com/keppanet/harddisk/hdinside/hddfull2.jpg http://www.nintendowiiremotes.com/img/Wii_Remote_Funtions_2x2.jpg http://www.hardwarelogic.com/articles/reviews/misc/LogitechWave/KeyboardMouse.jpg Hardware Processor Architecture Memory Hierarchy User Interfaces - CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Software http://www.swc.scipy.org/lec/img/shell01/operating_system.png http://www.easeus.com/resource/images/bios.jpg http://www.hardware-one.com/reviews/i845/Iwill_P4S/BIOS.jpg http://img218.imageshack.us/img218/3165/foldergc5.gif Software Firmware Software Development Operating System/ Device driver - Bios setup - Assembly lang. - Task scheduling Device drivers - Prog. languages CENG2400 Ch1. Introduction v7a

Software hierarchy Different layers we will be learning the software that can boot up the system and the making of the device drivers for controlling hardware devices. Bios Basic Input/output system: Bootup Operating system (Vista, Linux) Device driver: Mouse, printer etc CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a To be covered Lectures Basic Knowledge Machine Instructions & Assembly Language ARM7 instruction set Input/Output (I/O) Memory Tutorials/Lab Assembly language and C programming Microprocessor interfacing: build robot Use Philips LPC2000 family (ARM7) http://en.wikipedia.org/wiki/NXP_LPC CENG2400 Ch1. Introduction v7a

Lab: build a robot with sensors CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Our CE2400 ARM robot CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Some demos Self balancing robot https://www.youtube.com/watch?v=D5UCJojCPdo https://www.youtube.com/watch?v=f9WsAZbPKkc&feature=youtu.be Flute robot https://www.youtube.com/watch?v=NJ7wv2z8Wgk Human following robot https://www.youtube.com/watch?gl=HK&hl=zh-HK&v=75tkIz90oK4 Quad-rotor https://www.youtube.com/watch?v=OGYUKVg35MM&feature=youtu.be Speed encoder https://www.youtube.com/watch?v=7qf_ypIGn_0&feature=youtu.be Star Wars' BB-8 Droid  https://www.youtube.com/watch?v=A_K10fX9DSY CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Our robots Ultra-sound-radar Electronic compass 2016 version 2017 version Speed encoder Previous CENG2400 robot video demo CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Decimal Hexadecimal Binary 0000 1 0001 2 0010 3 4 5 6 7 8 9 10 A 11 B 12 C 13 D 14 E 15 F 1111 Student D:_______________, Name: __________________, Date:____________________ Ex1.1: Hexadecimal numbers A hexadecimal digital number has a value from 0 to F In binary representation it has 4 binary bits Different ways to write hexadecimal numbers: E.g. many different forms, all have the same meaning 0x7=7h=7H=7hex 0xa=0xA=Ah=a(hex)=10(decimal) etc. . Fill in the blanks CENG2400 Ch1. Introduction v7a

Exercise 1.2 Memory structure Example 16-bit Address (64K locations) (H=Hex) 8-bit content (data) FFFF H 35H FFFE H 23H … 0ACD H 24H 0001 H 32H 0000 H 2BH Memory is like a tall building. In this example, memory size is 216=64K locations (floors). A 16-bit number can be represented by 4 hexadecimal numbers Each location (a floor) has an address. E.g. address 0000H, address 0ACDH etc. In each address location (a floor) has a data (the content) 8-bit (2 hexadecimal numbers) For a given memory device, can you change (i) the address, (ii) the data? If the address is 8-bit, how many address locations are there in the memory? If the address is 32-bit, how many address locations are there in the memory? CENG2400 Ch1. Introduction v7a

Overview of an embedded system Internal Input/output Interface Internal ram CENG2400 Ch1. Introduction v7a

How does a system start? An example Power up Get content (2BH) of starting address (0000H), this is the machine code, e.g. 2BH here Run the machine code 2BH E.g. machine 2BH asks the machine to jump to location 0ACDH and run the code there What happens after power up? 16-bit Address (64K locations) (H=Hex) 8-bit content (data) FFFF H 35H FFFE H 23H … 0ACD H 24H 0001 H 32H 0000 H 2BH CENG2400 Ch1. Introduction v7a

Exercises 1.3 on Memory structure. Fill in the blanks 24-bit Address (H=Hex). Based on the descriptions on the left, fill in banks 8-bit content (data) Loc5:?______H 35H Loc4:?______H 23H … Loc3:?______H 24H Loc2:?______H 32H Loc1:?______H 2BH In this example, memory size is 224=__?K locations (floors). A 24-bit number can be represented by ___? hexadecimal numbers Loc1 is the base address Loc2 is the address location just above the base address Loc3 is 100H above the base address Loc4 is the address just below the top address Loc5 is the top address For a given memory device, can you change the size of the (i) address, (ii) data? If the address is 20-bit, how many address locations are there in the memory? If the address is 64-bit, how many address locations are there in the memory? CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a Exercise 1.4 Exercise : This to make sure you know how to convert hexadecimal to binary code or vice versa: (a) Write 7FFEH in binary and (b) Write 35H in binary (b) Write 01111010B in hex CENG2400 Ch1. Introduction v7a

Review questions (Exercise 1.5) List and discuss the Hardware and Software modules in a computer system. How memory is used in a computer system? CENG2400 Ch1. Introduction v7a

Review questions (Exercise 1.6) List and discuss different types of memory in a computer system. And how do they used for? List the differences between address and data. List the boot-up procedures of a computer? CENG2400 Ch1. Introduction v7a

Exercise 1.8 Self-study exercises for number systems Convert binary 10110111 into decimal and hex-decimal number Convert decimal 138 into hexadecimal number Convert 89ABH into binary number How many address locations are available if the address is 64-bit? What is the meaning of BCD (Binary-coded decimal) in encoding numbers? CENG2400 Ch1. Introduction v7a

Review questions (Exercise 1.7) List the boot-up procedures of a computer? CENG2400 Ch1. Introduction v7a

CENG2400 Ch1. Introduction v7a END CENG2400 Ch1. Introduction v7a

Appendix A:The processor (e.g. ARM7) with 32 bit address bits 32bit Address (232=4G locations) (H=Hex) 32-bit content (data) example FFFFFFFF H 00000035H FFFFFFFE H 00000023H … 00000ACD H 00000024H 00000001 H 00000032H 00000000 H 0000002BH 4G locations CENG2400 Ch1. Introduction v7a