Computer Organization Laboratory. Class Notes. Instructor: Ken Q. Yang Dept. of ECE, URI

Similar documents
Embedded System Design

AND SOLUTION FIRST INTERNAL TEST

Exception and fault checking on S32K1xx

EE4144: ARM Cortex-M Processor

The ARM Cortex-M0 Processor Architecture Part-1

OUTLINE. STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and Pipelining Cortex-M0 Programming Model Toolchain and Project Structure

ARM Architecture and Assembly Programming Intro

ECE251: Thursday September 27

ARM Cortex core microcontrollers

COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University

ARM Ltd. ! Founded in November 1990! Spun out of Acorn Computers

ECE251: Thursday September 13

ECE251: Tuesday September 11

ECE254 Lab3 Tutorial. Introduction to MCB1700 Hardware Programming. Irene Huang

ECE254 Lab3 Tutorial. Introduction to Keil LPC1768 Hardware and Programmers Model. Irene Huang

ARM Cortex-M4 Programming Model

Multitasking on Cortex-M(0) class MCU A deepdive into the Chromium-EC scheduler

ECE251: Tuesday September 12

CprE 288 Introduction to Embedded Systems Course Review for Exam 3. Instructors: Dr. Phillip Jones

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

ARM architecture road map. NuMicro Overview of Cortex M. Cortex M Processor Family (2/3) All binary upwards compatible

Introduction to C. Write a main() function that swaps the contents of two integer variables x and y.

Arm Cortex -M33 Devices

ARM Interrupts. EE383: Introduction to Embedded Systems University of Kentucky. James E. Lumpp

Cortex-M4 Processor Overview. with ARM Processors and Architectures

Stacks and Subroutines

EECS 373 Design of Microprocessor-Based Systems

The Definitive Guide to the ARM Cortex-M3

introduction to interrupts

ARM. Cortex -M7 Devices. Generic User Guide. Copyright 2015 ARM. All rights reserved. ARM DUI 0646A (ID042815)

Design and Implementation Interrupt Mechanism

Cortex-M3 Reference Manual

Review Questions. 1 The DRAM problem [5 points] Suggest a solution. 2 Big versus Little Endian Addressing [5 points]

ARM Cortex -M for Beginners

Hercules ARM Cortex -R4 System Architecture. Processor Overview

Cortex-M Software Development

University of Dayton. Electrical & Computer Engineering. ECE 536 Microprocessor Applications. Dr. Ralph Barrera. Assignment (4)

Interrupts and Low Power Features

ARM Processor. Dr. P. T. Karule. Professor. Department of Electronics Engineering, Yeshwantrao Chavan College of Engineering, Nagpur

ARM Processor Architecture

Chapter 5. Introduction ARM Cortex series

Chapter 15. ARM Architecture, Programming and Development Tools

The Next Steps in the Evolution of ARM Cortex-M

ECE 486/586. Computer Architecture. Lecture # 6

Samsung S3C4510B. Hsung-Pin Chang Department of Computer Science National Chung Hsing University

EECS 373 Design of Microprocessor-Based Systems

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

ARM Processor. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

Register Are Two Names For The Same Place

ECE 471 Embedded Systems Lecture 2

OVP Guide to Using Processor Models. Model specific information for ARM Cortex-M3

Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan

ARM Cortex-M4 Architecture and Instruction Set 4: The Stack and subroutines

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function

VE7104/INTRODUCTION TO EMBEDDED CONTROLLERS UNIT III ARM BASED MICROCONTROLLERS

ARM Cortex -M33 Processor User Guide

ARM Embedded Systems: ARM Design philosophy, Embedded System Hardware, Embedded System Software

ARM processor organization

EMBEDDED SYSTEMS READY TO USE LECTURE MATERIALS FOR UNDERGRADUATES

ARM Cortex A9. ARM Cortex A9

Application Note. Analyzing HardFaults on Cortex-M CPU

Chapter 15. ARM Architecture, Programming and Development Tools

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture

Assembly Language Programming

The ARM Cortex-M0 Processor Architecture Part-2

ECE 485/585 Microprocessor System Design

Lecture 1. Course Overview and The 8051 Architecture

Hardware and Software Architecture. Chapter 2

References & Terminology

ARM Cortex-M0 DesignStart Processor and v6-m Architecture. Joe Bungo ARM University Program Manager Americas/Europe R&D Division

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)


Universität Dortmund. ARM Architecture

Cortex-M1 v3.1 Handbook

Program SoC using C Language

ME 4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 6

ARM Processors for Embedded Applications

ARM ARCHITECTURE. Contents at a glance:

Application Note. Migrating from 8051 to Cortex Microcontrollers. Document number: ARM DAI 0237 Issued: July 2010 Copyright ARM Limited 2010

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

ARM Architecture. Computer Organization and Assembly Languages Yung-Yu Chuang. with slides by Peng-Sheng Chen, Ville Pietikainen

RM3 - Cortex-M4 / Cortex-M4F implementation

ARM Cortex-M and RTOSs Are Meant for Each Other

ARM Cortex-M4 Architecture and Instruction Set 3: Branching; Data definition and memory access instructions

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Input/Output Programming

ARMv8-A Software Development

Interrupt-Driven Input/Output

Memory Models. Registers

Exam 1. EE319K Spring 2013 Exam 1 (Practice 1) Page 1. Date: February 21, 2013; 9:30-10:45am. Printed Name:

CPE300: Digital System Architecture and Design

HUDSON VALLEY COMMUNITY COLLEGE TROY, NEW YORK COURSE OUTLINE

Module Introduction! PURPOSE: The intent of this module, 68K to ColdFire Transition, is to explain the changes to the programming model and architectu

Job Posting (Aug. 19) ECE 425. ARM7 Block Diagram. ARM Programming. Assembly Language Programming. ARM Architecture 9/7/2017. Microprocessor Systems

Lecture 10 Exceptions and Interrupts. How are exceptions generated?

COMP3221: Microprocessors and. Embedded Systems

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

Typical Processor Execution Cycle

Transcription:

Computer Organization Laboratory Class Notes Instructor: Ken Q. Yang Dept. of ECE, URI

Section 0 Course Objectives, Plans, and Lab Tools

Course Objectives: What to learn? Computer Architecture Concepts Instruction Set Architecture CPU, Memory, and I/O Organizations Interfacing and Communication Serial and parallel ports UART, DMA, PI/Timer Wired and wireless networking Applying µprocessor to Design Systems Advanced Topics All are based on one specific commercial embedded processor: ARM Processor

Course Plan: How to Learn? Regular lectures (twice a week, 1:15 each) Covers basic concepts and knowledge Explain tools and techniques necessary Weekly laboratory experiments (minimum 3 hours/week) Assessments: 6 Laboratory experiments, Each lab accounts for 4% of your grade 1 Design project, 20% of your grade Design and documentations, 5% of your grade Project proposal Presentation (5 minutes), 2% Final project presentation (10 minutes), 5% demonstration (10 minutes), 8% Exams 3 exams, each accounts for 20% of your grade Two written exams and one lab exam

Pope s Inauguration Then When smartphones and tablets light up the sky, load up the clouds. Now Source : http://www.alternet.org/speakeasy/alyssa-figueroa/recording-memories-why-must-we-capture-our-every-moment 5

Era of Internet and Cloud 6 *Source: Intel 2012

All Boil Down to One Thing Computer A Very Large Fraction: Embedded Computers and Systems End user devices Variety of appliances Network cores Consumer Electronics More and more

Sec. 1. ARM Family Processors ARM Cortex -M Family Cortex -M4 Features Kinetis Cortex -M4 Enhencement

The Cortex Processor Family

Range of Cortex-M

Outline ARM Cortex -M Family Cortex -M4 Features Kinetis Cortex -M4 Enhencement

What is Cortex -M Harvard Architecture 3 stage pipeline Single cycle multiply Hardware Divide Thumb-2 Instruction Set Vectored Interrupt Controller

CORTEX M-4

Cortex -M Pipeline

ARM Instruction Set Some History ARM Instruction Set Original 32-bit Instruction Set Thumb Instruction Set 16-bit Instruction Set Thumb-2 Instruction Set Mixed 16/32 bit Instruction Set

Effects of the Thumb-2 ISA

Register Sets 1 The processor has the following 32-bit registers: 13 general-purpose registers, R0-R12 Stack Pointer (SP), R13 alias of banked registers, P_process and SP_main Link Register (LR), R14 Program Counter (PC), R15 Special-purpose Program Status Registers, (xpsr).

Register Sets 2 Low registers Registers R0-R7 are accessible by all instructions that specify a general-purpose register. High registers Registers R8-R12 are accessible by all 32-bit instructions that specify a general-purpose register. Registers R8-R12 are not accessible by any 16-bit instructions. Registers R13, R14, and R15 have the following special functions: Stack pointer Register R13 is used as the Stack Pointer (SP). Because the SP ignores writes to bits [1:0], it is auto aligned to a word, four-byte boundary. Handler mode always uses SP_main, but you can configure Thread mode to use either SP_main or SP_process. Link register Register R14 is the subroutine Link Register (LR). The LR receives the return address from PC when a Branch and Link (BL) or Branch and Link with Exchange (BLX) instruction is executed. The LR is also used for exception return. At all other times, you can treat R14 as a general-purpose register. Program counter Register R15 is the Program Counter (PC). Bit [0] is always 0, so instructions are always aligned to word or half word boundaries.

Programmers Model 1 APSR Application process status register IPSR Interrupt process status register EPSR Execution process status register

Programmers Model 2 PRIMASK Disable all interrupt except NMI and hard fault FAULTMASK Disable all interrupt except NMI BASEPRI Disable all interrupt of specific priority and lower

Programmers Model 3 Control Register