Difference between revisions of "CSC270 Homework 9 2016"

From dftwiki3
Jump to: navigation, search
(Problem 1)
 
(4 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
Assume that we have a device or sensor that constantly generates 8 bits of data.  These 8 bits are fed into a simple system of 8 tristate drivers that connect to the data bus of a 1 MHz 6811 processor.  The enable signal of the tristate buffers is controlled by the enable output (Y4') of a 3-to-8 decoder connected to the most-significant bits of the address bus, similar to what we have done in class for the past few lectures/labs.
 
Assume that we have a device or sensor that constantly generates 8 bits of data.  These 8 bits are fed into a simple system of 8 tristate drivers that connect to the data bus of a 1 MHz 6811 processor.  The enable signal of the tristate buffers is controlled by the enable output (Y4') of a 3-to-8 decoder connected to the most-significant bits of the address bus, similar to what we have done in class for the past few lectures/labs.
  
When the processor executes a "LDAA 8000", the 8 bits are read from the sensor and stored in the Acca accumulator.
+
When the processor executes a "LDAA 8000", the 8 bits of sensor data are read from the tristate buffers and stored in the Acca accumulator.
  
We want to be able to capture 1000 bytes of this sensor and store these samples into an array in memory.  The array starts at address 0100.  We want to know how fast we can sample this sensor data and gather 1000 bytes of values in memory.
+
We want to be able to capture 1000 bytes of this sensor and store these samples into an array in memory.  The array starts at an address of your choice.  We want to know how fast we can sample the sensor data and gather 1000 bytes of values in memory.
In other words, write a software solution in 6811 assembly that will have this property:
+
In other words, write a software solution in 6811 assembly that will have these features:
 
# it will read 1000 bytes from the input port,
 
# it will read 1000 bytes from the input port,
# it will store these 1000 bytes into an array of 1000 bytes in RAM
+
# it will store these 1000 samples into an array of 1000 bytes in RAM, and
# it will stop after 1000 bytes are read and return to the monitor (JSR C000).
+
# it will stop after 1000 bytes are read and it will return to the monitor (JSR C000).
 +
 
 +
Indicate how long (in processor cycles, or in uS, or mS, whatever unit is appropriate) it will take your design to sample the 1000 bytes and store them in memory.
  
 
As for Homework 8, the grade will include a component that will be based on how fast your solution is.  The closest your solution is to the fastest time possible, the higher the grade.
 
As for Homework 8, the grade will include a component that will be based on how fast your solution is.  The closest your solution is to the fastest time possible, the higher the grade.
 
<br />
 
<br />
 +
Submit a pdf with your answer on Moodle.
 
<br />
 
<br />
 
<br />
 
<br />

Latest revision as of 10:53, 11 April 2016

--D. Thiebaut (talk) 07:56, 7 April 2016 (EDT)


This homework can be worked on in pairs, and should be submitted Thursday 4/14/16 before 11:55 p.m.


Problem 1


By now you shouldn't be surprised that in this problem I will ask you to combine hardware and software to solve a particular problem, and also use your knowledge of both to figure out the peak performance of your design. Once you have done this a few times, then you will discover that it is actually quite easy to figure out how fast some operations can be done in a computer, once you know the processor, its speed, and the way the I/O works.

Assume that we have a device or sensor that constantly generates 8 bits of data. These 8 bits are fed into a simple system of 8 tristate drivers that connect to the data bus of a 1 MHz 6811 processor. The enable signal of the tristate buffers is controlled by the enable output (Y4') of a 3-to-8 decoder connected to the most-significant bits of the address bus, similar to what we have done in class for the past few lectures/labs.

When the processor executes a "LDAA 8000", the 8 bits of sensor data are read from the tristate buffers and stored in the Acca accumulator.

We want to be able to capture 1000 bytes of this sensor and store these samples into an array in memory. The array starts at an address of your choice. We want to know how fast we can sample the sensor data and gather 1000 bytes of values in memory. In other words, write a software solution in 6811 assembly that will have these features:

  1. it will read 1000 bytes from the input port,
  2. it will store these 1000 samples into an array of 1000 bytes in RAM, and
  3. it will stop after 1000 bytes are read and it will return to the monitor (JSR C000).

Indicate how long (in processor cycles, or in uS, or mS, whatever unit is appropriate) it will take your design to sample the 1000 bytes and store them in memory.

As for Homework 8, the grade will include a component that will be based on how fast your solution is. The closest your solution is to the fastest time possible, the higher the grade.
Submit a pdf with your answer on Moodle.