Difference between revisions of "CSC270 Homework 9 2016"
(→Problem 1) |
|||
Line 11: | Line 11: | ||
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. | 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 | + | 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: | 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 samples into an array of 1000 bytes in RAM, and | # it will store these 1000 samples into an array of 1000 bytes in RAM, and | ||
# it will stop after 1000 bytes are read and it will 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 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. |
Revision as of 07:42, 7 April 2016
--D. Thiebaut (talk) 07:56, 7 April 2016 (EDT)
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:
- it will read 1000 bytes from the input port,
- it will store these 1000 samples into an array of 1000 bytes in RAM, and
- it will stop after 1000 bytes are read and it will return to the monitor (JSR C000).
Indicate how long (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.