Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Microprocessor Engineering Introduction 11/12 Microprocessor Engineering 16-7210 Alan Holloway – contact: [email protected] – Room 9323 Furnival/Cantor • Weeks 1-6 – 6 × 2 Hour Lectures – 6 × 1 Hour Labs • Weeks 7-12 – 6 × 1 Hour Lectures – 6 × 2 Hour Labs Assessment method • 50% Coursework – formative series of lab tutorials (7.5%) – In class test on C & bit manipulation (2.5%) – major assignment (40%) • 50 % Exam – 2 Hours duration – 4 from 6 questions Resources • All course information can be found on the Blackboard site or at www.aholloway.co.uk – Lecture notes – Sample programs – Reading list – Software (available free) Microprocessor Engineering • Microprocessor Systems • Microcontrollers • ARM7 core Processor Family – specifically NXP LPC2368 microcontroller – Many others are available 8051, PIC, AVR etc • C Programming will be used throughout – ARM Realview MDK - 'C' compiler & other tools – u-Vision Integrated Development Environment 1-5 address decoder chip enable signals address bus data bus a d CE CE CE reset uP ROM RAM Additional devices I/O clock OE WR OE WR OE read write Microprocessor System Structure 1-6 Bus operations • Read • Write • Each read/write operation is made up of a number of clock cycles or T states • Each machine instruction is made up of one or more read and/or write operations • This is why we shouldn't compare microprocessors simply based on clock speed 1-7 Address Bus 2a - 1 • Unidirectional and generated by microprocessor • Number of address lines determines number of address locations • Addressable locations = 2^a where a is the number of address lines Total memory space FFFFH 1 0 memory addresses d bits Memory Map : A memory map shows the position of devices within the whole of the addressable area I/O E00FH E000H 7FFFH RAM 6000H 3FFFH ROM 1-8 0000H Memory Address Data Bus • Bi-directional • Usually matches the word length of the microprocessor • Usually a multiple of 8 • We talk of 8-bit, 16-bit , 32-bit and 64-bit processors which refers to the normal word length of the microprocessor 1-9 Control bus • Consists of potentially many signals. Typically:– Read – Write – Could be single signal - Read/notWrite line – Interrupt control – Bus control signals for DMA (Direct Memory Access) 1-10 Microprocessr • CPU – Central Processing Unit – ALU – Arithmetic Control Unit • Circuit which performs arithmetic and logical operations – Registers • Small CPU bases storage very quick – Control Unit • Controls the flow of data through the processor, and coordinates the activities of the other units within it 1-11 Microprocessor Registers • General purpose registers • Accumulator – used in conjunction with ALU – often found on 8-bit microprocessors • Status or Flag Register – indicate result of last instruction executed • Program counter(PC) or Instruction Pointer • Stack Pointer (SP) • Special registers – Instruction and memory address register 1-12 The Fetch – Execute cycle • Fetch – memory read cycle – place in instruction register and decode • Execute – may involve additional read and/or write cycles • Often the whole Fetch-Execute cycle is carried out through a pipeline operation involving several stages. – 5 stages are often used (IF, ID, RR, EX, WB) – The Pentium 4 has 20 stages – The ARM 7 has 3 stages 1-13 Pipeline - Natural assembly line • Example – Alan (A) Barry (B) & Chris (C) each have a load of clothes A • Washer takes 30 mins • Dryer takes 30 mins • Ironing takes 30 mins B C Sequential - non pipelined 7pm 30 11.30pm 30 30 30 30 30 30 A B C Total for 3 Loads is 4.5 Hours 30 30 Pipelined 7pm 30 11.30pm 30 30 30 30 30 30 A B C • Total for 3 loads pipelines 2.5 hours 30 30 Pipelines • Does not speed up 1 task - increases overall throughput • Multiple tasks operate simultaneously using separate resources • Limited by speed of slowest resource ARM7 Pipeline • The pipeline has hardware-independent stages that execute one instruction while decoding a second and fetching a third. The pipeline speeds up the throughput ofCPU instructions so effectively that most ARM instructions can be executed in a single cycle. • The pipeline works most efficiently on linear code. CPU operation • On reset – PC is loaded with a value, typically 0 • Fetch – execute cycle – Fetch instruction • memory read cycle using PC (program counter) • place in instruction register and decode • increment PC ready for next fetch – Execute instruction • often involves additional read and/or write cycles to read operands and possibly write back results • could modify PC – causes flow of program execution to change 1-19 CPU Architecture • Two basic types – Von Neumann • One memory space for instructions and data • Therefore one single memory bus structure – Harvard • Separate instruction and data spaces • Therefore separate memory buses – parallel operation and therefore faster operation • Can have different address and data bus widths optimised for each bus 1-20 Basic microprocessor system • Von Neumann Architecture Microprocessor Power on & manual reset Address Reset A0-Ax Data Clock Oscillator Memory (Instructions & Data) and Input/Output D0-dy Read Write 1-21 Harvard Architecture Microprocessor Address Address Program Memory A0-Ay Instruction I0-Iw Read A0-Ax Data Memory & I/O Data d0-dn Read Write 1-22 What is an embedded system? • An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions •Washing machine runs programs •Open water valve •Heat water •Start spin •etc etc…. •Do we need a PC running windows Vista to do this ? Will I ever need to use one? • Over 4 billion 8-bit microcontrollers were sold in 2006 alone • the world's population is estimated to be about 6.756 billion • Average car contains >50 microcontrollers • Electrical, electronic, control, robotics, computer engineer - Yes you will What is an Embedded Computer System • Special purpose computer – usually with one specific task or application. • Usually embedded in a device which often has other electronic and mechanical parts • Usually optimised for the specific task • Has the usual basic computer components – CPU, memory, inputs & outputs Microcontroller • A microcontroller is the integration of – microprocessor – memory • ROM types – commonly flash PROM • RAM – Static ram – peripherals • • • • • parallel input and output(digital I/O) Timers and Counters Serial input and output (UART, USART, SPI etc.) Analogue to digital converters PWM, CAPCOM registers, DACs etc.etc. 1-26 Examples • consumer appliances – tv's, mp3 players, dvd's, washing machines etc. • automotive applications – engine management, anti-lock braking • computer peripherals – hard disk controllers, routers, switches • medical equipment – scanners, blood analysers • telecoms – mobile phones • aerospace – satellite control systems, avionics Some Characteristics • Very simple to very complex applications • Often single application – but concurrent operation • Could be real-time (hard and soft) • Program is normally stored in ROM – called firmware – flash ROM commonly • Could be critical applications • Interfacing with other devices via peripherals • Require a range of development tools – hardware and software • May use operating system (RTOS) Constraints • • • • Physical size Weight Power usage Performance – throughput and/or response time • Cost Resulting in • limited space • limited processing power – 8-bit processor • limited memory RAM & ROM – only Ks of memory not Ms • schemes to limit power consumption – low power modes – sleep – standby • determinism – needed for RT guarantee Linksys Wired & Wireless Router Linksys WRT54GL Router & Access point • • • • CPU – Broadcom BCM4712KPB @ 200 MHz RAM – 16MiBytes (2 x S42S16400 RAM Chips) ROM – 4MiBytes (Intel TE28F320 C3 Flash ROM) I/O – WAN port: One 10/100 RJ-45 port – LAN port: Four 10/100 RJ-45 ports – Wi-Fi Channels: 13 – LED Indicators : power, DMZ, WLAN, port 1/2/3/4, Internet Microprocessor vs Microcontroller vs Soc vs FPGA • uP – General purpose – external memory and peripherals – connected by a memory bus • uC – uP integrated with memory and peripheral interfaces – families of uC all with same uP but varying amounts and types of memory and interfaces. Microcontroller (µC) vs. Microprocessor (µP) • µC intended as a single chip solution, µP requires external support chips (memory, peripheral interfaces etc.) • µC has on-chip non-volatile memory for program storage, µP does not. • µC has more interface functions on-chip (serial interfaces,Analog-to-Digital conversion, timers, etc.) than µP • General purpose µPs are typically higher performance (clock speed, data width, instruction set, cache) than µCs • However the division between some µPs and some µCs becoming increasingly blurred. 1-34 FPGA/PLD • A field-programmable gate array is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. • Logic blocks can be programmed to perform the function of basic logic gates & combinational functions such as decoders or simple mathematical functions. • In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory Microprocessor vs Microcontroller vs SoC vs FPGA • SoC – System on a chip • FPGA – Field Programmable Gate Array Core Rest of FPGA contains standard logic Microcontroller-based System-on-a-Chip