EECS 373 – lecture 4 Buses, serial communication and digital design.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Digital Logic issues in Embedded Systems. Things upcoming Remember that the first two topic talks are on 10/24 (ultrasonic distance and stepper motors)
Lecture 23: Registers and Counters (2)
Parul Polytechnic Institute
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Programmable Interval Timer
LOGIC GATES ADDERS FLIP-FLOPS REGISTERS Digital Electronics Mark Neil - Microprocessor Course 1.
Bits and Bytes + Controlling 8 LED with 3 Pins Binary Counting and Shift Registers.
The 8085 Microprocessor Architecture
1 Microprocessor History. 2 The date is the year that the processor was first introduced. Many processors are re- introduced at higher clock speeds for.
Microprocessor and Microcontroller
Snick  snack A Working Computer Slides based on work by Bob Woodham and others.
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
1 Foundations of Software Design Lecture 3: How Computers Work Marti Hearst Fall 2002.
Instruction Counter Address [3..0] CLK Instruction ROM 0000: : : : : Inst [6..0] Control Unit.
CS61C L21 State Elements : Circuits that Remember (1) Spring 2007 © UCB 161 Exabytes In 2006  In 2006 we created, captured, and replicated 161 exabytes.
Lecture 14: Review Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Revision and Review James Harland
CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.
Lecture 16: Basic CPU Design
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Group 7 Jhonathan Briceño Reginal Etienne Christian Kruger Felix Martinez Dane Minott Immer S Rivera Ander Sahonero.
Counters and Registers
Inside The CPU. Buses There are 3 Types of Buses There are 3 Types of Buses Address bus Address bus –between CPU and Main Memory –Carries address of where.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
Registers and Counters
Processor Structure & Operations of an Accumulator Machine
CS 640: Introduction to Computer Networks Aditya Akella Lecture 5 - Encoding and Data Link Basics.
Rabie A. Ramadan Lecture 3
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
Intermediate 2 Computing Computer structure. Organisation of a simple computer.
ENG241 Digital Design Week #8 Registers and Counters.
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS December 2006 Béat Hirsbrunner,
CHAPTER 4 The Central Processing Unit. Chapter Overview Microprocessors Replacing and Upgrading a CPU.
1 Computer Organization Notes: Test 2 on Thursday TA office hours moved from Fri to Wed this week: Wed 9-11 (Mehul); Wed 12-3 (Vivek) in JEC 6119 Today:
B. Ramamurthy.  12 stage pipeline  At peak speed, the processor can request both an instruction and a data word on every clock.  We cannot afford pipeline.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
20 October 2015Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Computer operation is of how the different parts of a computer system work together to perform a task.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Bus Protocols and Interfacing Bus basics I/O transactions MPC555 bus Reference:
Bus Protocols and Interfacing (adopted Steven and Marios’s slides) Bus basics I/O transactions MPC823 bus Reference: Chapter 13 of “White Book”
CO5023 Latches, Flip-Flops and Decoders. Sequential Circuit What does this do? The OUTPUT of a sequential circuit is determined by the current output.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
EECS 373 Review. Announcements Exam is Thursday in class. –We have two rooms, but will mostly be using this one. Everyone should come here. –Exam is open.
Microprocessors 3 Buses, Addresses and Machine Cycles 1 Modified April 2011 ©Paul R. Godin prgodin gmail.com.
Gandhinagar Institute of Technology
The 8085 Microprocessor Architecture
REGISTER TRANSFER LANGUAGE (RTL)
Registers and Counters
Sequential Logic.
CSC 4250 Computer Architectures
The 8085 Microprocessor Architecture
CS/COE0447 Computer Organization & Assembly Language
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Registers.
The 8085 Microprocessor Architecture
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Review: The whole processor
Registers Today we’ll see some common sequential devices: counters and registers. They’re good examples of sequential analysis and design. They are also.
CS 111 – Sept. 16 Machine language examples Instruction execution
Presentation transcript:

EECS 373 – lecture 4 Buses, serial communication and digital design

Announcements I saw very few people in for questions on prelab 3. –Feel free to use my office hours for help as needed. –Don’t put off the prelabs. You certainly don’t have time to do them in the lab Lab 3 –Lab 3 is a 2 week lab. You will likely need to use open hours a LOT to get this done. Ron is holding extra lab hours this week from 4:30- 7:30 We will be arranging to insure you can get into the lab during normal hours. See the website...

Today is variety day Bus stuff (almost finished last Tuesday) –Reads and writes as they appear on the bus –Unaligned accesses Digital Design –Finish example from Thursday –State machines in digital design –Other examples

Transfer Alignment 0x MPC823 external bus supports natural address alignment Byte access: Any address alignment Half-word access: Address bit 31 equal to 0 Word access: Address bits 31 and 30 equal to 0

Dealing with Smaller Accesses: Reads 0x Assume that the word value 0x is stored at 0x1000 and that r4 contains 0x1000. What happens on the following transfers? D[0:7] D[8:15] D[16:23] D[24:31] lbz r3, 0 (r4) lbz r3, 1 (r4) lbz r3, 2 (r4) lbz r3, 3 (r4) lhz r3, 0 (r4) lhz r3, 2 (r4)

Dealing with Smaller Accesses: Writes How about the following transfers? D[0:7] D[8:15] D[16:23] D[24:31] stb r2, 0 (r4) stb r2, 1 (r4) stb r2, 2 (r4) stb r2, 3 (r4) sth r2, 0 (r4) sth r2, 1 (r4) 0x

On a write access, which two factors determine which bits in a 32-bit word are updated? On most wide buses, the master drives byte enable lines instead of less significant address bits Moto (16 bits): LDS’, UDS’ (no address LSB) 32-bit buses: Replace low 2 address bits with 4 byte enables MPC823 does not: Full byte address provided Size (byte, halfword, word) encoded on two control lines TSIZ[0-1] Dealing with Smaller Accesses

Unaligned Accesses 0x x1000 Consider two adjacent 32-bit memory locations and assume that r4 = 0x1000. What happens when the CPU executes the following instructions? lwz r3, 2 (r4) lwz r3, 1 (r4)

Problems with Unaligned Accesses What are some problems with unaligned accesses?

Now back to digital design. Last time we discussed: Serial communication –Problems with serial communication Want shared clock Use different techniques instead. –One was “change if real data stays same” –Used XOR to decode this one PWM signal –Use “duty cycle” to indicate state –Low bandwidth (why?) Did a bit on counters

Correction USB stuff –0 is encoded as a transition, 1 as no transition –Bit stuffing If no change for 6 cycles (6 1s), insert a change.

Digital PWM signal This is a simple technique for sending low bandwidth data. –Start on the rising edge –Count till about ½ the cycle –Measure the value. –Do it again. Useful –Sender and reciever can have clocks way out of sink. (almost factor of 2) –Could even have different clocks with some way of agreeing on clock period Say sender starts with a pulse and receiver times it with his clock. ONE ZERO

Let’s design it. Assume signal period is 20 local clocks. Assume either 30/70 or 70/30 duty cycle +/- 10% Assume signal might have some noise Mr. State machine.

D Q CLK CLR Count to 10 1 Signal Shift Register Signal Say you used this solution and found you were often getting more data than you had sent. What might you suspect was wrong?

Design again Rather than that ad hoc method, let’s design a state machine which does this. –We will not go to a circuit solution Could do it, but takes too long –Use tools to do this for you ABLE, FSM tool in Xilinx, etc.

Now let’s design an “analog” version Say we want to measure duty cycle… –Design that. –Pure FSM may not be the best way to go… Time from rising edge to rising edge is about 100 to 1000 cycles –Min/Max is 10/90 90/10 –Some noise possible.

And one more design problem?