UQ Students should read the Disclaimer & Warning

Note: This page dates from 2005, and is kept for historical purposes.

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN">
<head>
<title>Assignment Marking</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body {
    background: url(_img/DSC04989.jpg) fixed center;
}
th, td, textarea {
    border: 1px solid #000000;
    padding: 0 1ex;
    background: transparent;
    overflow: hidden;
}
table {
    border: none;
}
.red {
    color: #FF0000;
    background: transparent;
}
-->
</style>
</head>
<body>
<h1>COMP1300 / COMP2302 - Assignment Feedback</h1>
<table border="1">
    <tbody>
        <tr> 
            <th colspan="2"><strong>Assignment Statistics</strong></th>
        </tr>
        <tr> 
            <td>Average mark</td>
            <td>55.4 (out of 80)</td>
        </tr>
        <tr> 
            <td>Median mark</td>
            <td>58</td>
        </tr>
        <tr> 
            <td>Maximum</td>
            <td>77.5</td>
        </tr>
        <tr> 
            <td>Minimum</td>
            <td>3.5 (not considering late penalties)</td>
        </tr>
        <tr> 
            <td>Proportion of students scoring 40 or more out of 80</td>
            <td>90%</td>
        </tr>
    </tbody>
</table>
<h2>My Assignment Marks</h2>
<table border="1">
    <tbody>
        <tr> 
            <th><strong>Processor</strong></th>
            <th><strong>Mark</strong></th>
        </tr>
        <tr> 
            <td><a href="#proc_1">Atmel AT90S8515-4</a></td>
            <td>12.5 out of 20</td>
        </tr>
        <tr> 
            <td><a href="#proc_2">Atmel ATtiny11-6</a></td>
            <td>17.5 out of 20</td>
        </tr>
        <tr> 
            <td><a href="#proc_3">National COP8ACC5</a></td>
            <td>18.5 out of 20</td>
        </tr>
        <tr> 
            <td><a href="#proc_4">Microchip PIC17C756A</a></td>
            <td>17.5 out of 20</td>
        </tr>
        <tr> 
            <td>Late Penalty - Assignment submitted on time</td>
            <td>0</td>
        </tr>
        <tr> 
            <td><strong>Total (out of 80)</strong></td>
            <td><strong>66</strong></td>
        </tr>
    </tbody>
</table>
<h2 id="proc_1">My answers and marks for processor (1): Atmel AT90S8515-4</h2>
<table border="1">
    <tbody>
        <tr> 
            <th><strong>Characteristic</strong></th>
            <th><strong>Your Answer</strong></th>
            <th><strong>Source</strong></th>
            <th><strong>Mark</strong></th>
            <th><strong>Marker Comment</strong></th>
        </tr>
        <tr> 
            <td><strong>1</strong>: What is the maximum clock speed of the microcontroller? 
                (1 mark)</td>
            <td>a. 4 MHz</td>
            <td>b. Page 1, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>2</strong>: What is the word size of the microcontroller? 
                (1 mark)</td>
            <td>a. 8 bit </td>
            <td>b. Page 1, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>3</strong>: How many bits wide is the address bus? (1 
                mark)</td>
            <td>a. Data memory 14 bit, program memory 12 bit </td>
            <td>b. Pages 1, 11, 60 and 61, PDF Datasheet</td>
            <td>0</td>
            <td class="red"><em>address bus is 16 bits wide, required to address 
                the entire data memory space from $0000 - $FFFF 12 bits is only 
                for addressing the program memory</em></td>
        </tr>
        <tr> 
            <td><strong>4</strong>: How many different type of memory are included 
                within the microcontroller and how many bytes are there of each? 
                (1 mark)</td>
            <td>a. 3 types, FLASH 8192 bytes, EEPROM 512 bytes, SRAM 512 bytes 
            </td>
            <td>b. Page 1, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>5</strong>: How many registers are there? Describe them, 
                including size and purpose (descriptions such as general purpose 
                registers and I/O registers are satisfactory). (1 mark)</td>
            <td>a. 32 8-bit general-purpose registers. 64 b-bit I/O registers. 
                Some of these are reserved. </td>
            <td>b. Pages 1, 10 and 13, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>64 8bit I/O registers</em></td>
        </tr>
        <tr> 
            <td><strong>6</strong>: What is the size (in bits) of the instructions 
                and how many instructions are there in the instruction set? (1 
                mark)</td>
            <td>a. 118 instructions. 8-bit or 16-bit. </td>
            <td>b. Pages 1, 11, 106 and 107, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>7</strong>: Does the microcontroller have support for 
                external memory? If so, what is the maximum external memory size 
                that can be addressed? (1 mark)</td>
            <td>a. Yes, 64 Kbytes are supported. </td>
            <td>b. Page 60, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>8</strong>: How many Timers and Counters does the processor 
                have? What sizes are they? (1 mark)</td>
            <td>a. Two general purpose counters, one 8-bit, one 16-bit. Not including 
                watchdog timers. </td>
            <td>b. Page 32, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>9</strong>: Does the microcontroller have any analog capability 
                (e.g. Analog-to-Digital converter(s), Digital-to-Analog converter(s), 
                Analog-comparator(s)). If so, what voltage range(s) can be measured 
                or outputted? (1 mark)</td>
            <td>a. An analog comparator with input range of &#8211;1 volt to VCC 
                + 0.5 volt. </td>
            <td>b. Pages 1 and 90, PDF Datasheet</td>
            <td>0.5</td>
            <td class="red"><em>what is the value of the max. Vcc voltage?</em></td>
        </tr>
        <tr> 
            <td><strong>10</strong>: Does the microcontroller support synchronous 
                serial communication (eg SPI)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Supported. Maximum bit rate is one bit per clock/4 </td>
            <td>b. Page 50, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>You need to calculate the the bit rate to get 
                full mark. max clock frequency = 4MHz, therefore max bit rate 
                : 4MHz/4 = 1Mbits/s</em></td>
        </tr>
        <tr> 
            <td><strong>11</strong>: Does the microcontroller support asynchronous 
                serial communication (eg UART)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Supported, Maximum bit rate 115200 bits per second. </td>
            <td>b. Page 58, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>12</strong>: How many interrupts does the microcontroller 
                service? Describe how interrupts are enabled. (1 mark)</td>
            <td>a. 12 interrupts. Interrupts are enabled by setting the I-bit 
                in the status register and each interrupt has an individual enable 
                bit which enables the interrupt when set. </td>
            <td>b. Page 22, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>13</strong>: How many addressing modes are there? Describe 
                them (eg. number of registers accessed, program or data memory 
                accessed, etc). (2 marks)</td>
            <td>a. 11 addressing modes. Register direct (single register) contains 
                a single register address in the instruction. Register direct 
                (two registers) contains two registers in the instruction. I/O 
                addressing addresses I/O memory, with 6 bits of the instruction 
                giving the operand address. Data direct uses 2 word instructions 
                and contains a 16-bit data address. Data indirect uses the X or 
                Y register contents and adds an address contained in the instruction 
                to them to obtain the operand. Data indirect uses the value in 
                the X, Y or Z register as the operand address. Data with pre-decrement 
                and data with post-decrement use the values in the X, Y or Z registers 
                but increment or decrement them after or before the operation. 
                Constant addressing uses the value in the Z register as its address. 
                Indirect program addressing loads the value from the Z register 
                into the program counter and continues from there. Relative program 
                addressing increments the program counter by a value specified 
                in the instruction and continues from there. </td>
            <td>b. Pages 13 to 17, PDF Datasheet </td>
            <td>1</td>
            <td class="red"><em>information provided is not sufficient. You need 
                to state which memory (data/ I/O /program) is addressed, how or 
                what registers are involved or other relevant information to receive 
                full mark.</em></td>
        </tr>
        <tr> 
            <td><strong>14</strong>: List and describe any sleep or standby modes 
                or idle states of the processor. (2 marks)</td>
            <td>a. Device supports IDLE and POWER-DOWN modes. Idle mode stops 
                CPU but timers/counters, watchdog timer and interrupt system continue 
                functioning. Optionally, analog comparator can be enabled or disabled 
                during idle mode. Power-down mode stops the oscillator and only 
                the watchdog timer and external interrupts continue operating. 
            </td>
            <td>b. Page 31, PDF Datasheet </td>
            <td>1</td>
            <td class="red"><em>You must provide information on how different 
                sleep modes operate AND on how to wake up from both modes, OR 
                describe what instructions or registers are used to enter the 
                sleep modes in order to receive the full mark. </em></td>
        </tr>
        <tr> 
            <td><strong>15</strong>: Describe the I/O ports. Include how many 
                bits each port has, which direction the pins are and what other 
                uses the pins have. (2 marks)</td>
            <td>a. 4 I/O ports. All ports are general-purpose bi-directional 8-bit 
                ports but support additional options. Port A functions as external 
                SRAM connection if required. Port B is used for the timer, analog 
                comparator and synchronous serial interface. Port C supports direct 
                driving of LED arrays. Port D is used for external interrupts 
                and the UART interface. </td>
            <td>b. Pages 63 to 77, PDF Datasheet </td>
            <td>1</td>
            <td class="red"><em>You should describe all alternate functions of 
                the ports</em></td>
        </tr>
        <tr> 
            <td><strong>16</strong>: Does the microcontroller&#8217;s instruction set 
                support 8-bit addition? 16-bit addition? What is the size (in 
                bits) of the largest addition supported? Is multiplication supported? 
                What is the size of the largest multiplication? (2 marks)</td>
            <td>a. 8-bit addition is supported. 16-bit addition is not natively 
                supported. Multiplication is not supported. </td>
            <td>b. Page 106, PDF Datasheet </td>
            <td>0</td>
            <td class="red"><em>16 bit addition is adding of two 16bit numbers 
                and 8515-4 does not support this in a single instruction. The 
                instruction ADIW adds a 16bit number to immediate number, k, which 
                is only 6 bits long. (largest value of K is 63). check p 18, www.itee.uq.edu.au/~comp1300/pracs/Atmel_AVR_Resources/doc0856.pdf 
                </em></td>
        </tr>
    </tbody>
</table>
<h2 id="proc_2">My answers and marks for processor (2): Atmel ATtiny11-6</h2>
<table border="1">
    <tbody>
        <tr> 
            <th><strong>Characteristic</strong></th>
            <th><strong>Your Answer</strong></th>
            <th><strong>Source</strong></th>
            <th><strong>Mark</strong></th>
            <th><strong>Marker Comment</strong></th>
        </tr>
        <tr> 
            <td><strong>1</strong>: What is the maximum clock speed of the microcontroller? 
                (1 mark)</td>
            <td>a. 6 MHz </td>
            <td>b. Page 1, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>2</strong>: What is the word size of the microcontroller? 
                (1 mark)</td>
            <td>a. 8 bit, although instructions are 16 bit. </td>
            <td>b. Page 1, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>3</strong>: How many bits wide is the address bus? (1 
                mark)</td>
            <td>a. 8-bit </td>
            <td>b. Page 9, PDF Datasheet </td>
            <td>0</td>
            <td class="red"><em>Because AVR is a Harvard architecture, it has 
                separate memory address. In this case, we only consider the address 
                width for data memory only. The data memory are the I/O memeory 
                spaces (pg 6 data sheet). It is 8bit wide and have 64 addresses. 
                Therefore we will need 6-bit to represent 64 address values(pg 
                8 fig 9). EEPROM does not have address bus (pg 5 fig 4)</em></td>
        </tr>
        <tr> 
            <td><strong>4</strong>: How many different type of memory are included 
                within the microcontroller and how many bytes are there of each? 
                (1 mark)</td>
            <td>a. 1 KB flash memory </td>
            <td>b. Page 10, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>5</strong>: How many registers are there? Describe them, 
                including size and purpose (descriptions such as general purpose 
                registers and I/O registers are satisfactory). (1 mark)</td>
            <td>a. 32 8-bit general-purpose working registers, and 14 other registers, 
                which includes the port B data register and data direction register, 
                status register, two interrupt mask control registers and a timer/counter 
                mask register, a watchdog timer register, timer/counter control 
                register and timer counter register and an analog control and 
                comparator status register . All registers are 8-bit but not all 
                bits of all registers are used and reserved registers have not 
                been counted. </td>
            <td>b. Pages 1, 3, 14, 25, 26, 36, 41, 44 and 81, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>32 8-bit general purpose registers, 64 8-bit I/O 
                registers</em></td>
        </tr>
        <tr> 
            <td><strong>6</strong>: What is the size (in bits) of the instructions 
                and how many instructions are there in the instruction set? (1 
                mark)</td>
            <td>a. 90 instructions. Instructions are16 bit. </td>
            <td>b. Pages1 and 10, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>7</strong>: Does the microcontroller have support for 
                external memory? If so, what is the maximum external memory size 
                that can be addressed? (1 mark)</td>
            <td>a. Not supported </td>
            <td>b. Page 1, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>8</strong>: How many Timers and Counters does the processor 
                have? What sizes are they? (1 mark)</td>
            <td>a. 1 general-purpose 8-bit timer/counter. This is not including 
                the watchdog timer. </td>
            <td>b. Page 33, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>9</strong>: Does the microcontroller have any analog capability 
                (e.g. Analog-to-Digital converter(s), Digital-to-Analog converter(s), 
                Analog-comparator(s)). If so, what voltage range(s) can be measured 
                or outputted? (1 mark)</td>
            <td>a. One analog comparator, with absolute maximum input values of 
                -1 volt to VCC + 0.5 volts (with respect to ground) </td>
            <td>b. Pages 41 and 57, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>10</strong>: Does the microcontroller support synchronous 
                serial communication (eg SPI)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Not supported </td>
            <td>b. Not referenced in PDF datasheet therefore assumed to be not 
                supported </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>11</strong>: Does the microcontroller support asynchronous 
                serial communication (eg UART)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Not supported </td>
            <td>b. Not referenced in PDF datasheet therefore assumed to be not 
                supported </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>12</strong>: How many interrupts does the microcontroller 
                service? Describe how interrupts are enabled. (1 mark)</td>
            <td>a. 4 interrupts. Each interrupt has an individual enable bit, 
                which must be set to enable that interrupt, and a global I-bit 
                in the status register to enable interrupts. </td>
            <td>b. Pages 15 and 16, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>13</strong>: How many addressing modes are there? Describe 
                them (eg. number of registers accessed, program or data memory 
                accessed, etc). (2 marks)</td>
            <td>a. There are 6 addressing modes, namely register direct (single 
                register), register indirect, register direct (two registers), 
                I/O direct, relative, and constant. With Register Direct (single 
                register) the operand is contained in a register, which is referenced 
                in the instruction. With Register Indirect, the register accessed 
                is pointed to by the Z-register. Register Direct (two registers) 
                has references to two registers contained in the instruction. 
                IO direct has the operand address in 6 bits of the instruction, 
                and a register which may be source or destination register in 
                the instruction. Relative addressing increments the program counter 
                by a value in the instruction and constant addressing uses a value 
                in the Z-register to determine a constant byte address. </td>
            <td>b. Pages 10, 11 and 12, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>14</strong>: List and describe any sleep or standby modes 
                or idle states of the processor. (2 marks)</td>
            <td>a. Device supports IDLE mode and Power-Down mode. IDLE mode stops 
                PCU while allowing timers/counters and interrupt system to continue 
                functioning. The Power-Down mode saves register contents, stops 
                oscillator and disables all other chip functions until next reset 
                or interrupt. Device exits power saving states by a wakeup pin 
                or interrupt. </td>
            <td>b. Pages 2 and 31, PDF Datasheet </td>
            <td>1</td>
            <td class="red"><em>Maybe more information on what is still working 
                in sleep mode, and how to wake up the system. e.g. There are two 
                different sleep modes (pg 31 data sheet) - Idle Mode and Power-down 
                mode. In Idle mode, Timer/counter, watchdog and interupt system 
                still work while CPU is not working. Wake up by internal or external 
                interrupts. Power-down modes, oscillator is stopped. External 
                and watchdog continue to operate. Only external interrupt or watchdog 
                reset can wake up.</em></td>
        </tr>
        <tr> 
            <td><strong>15</strong>: Describe the I/O ports. Include how many 
                bits each port has, which direction the pins are and what other 
                uses the pins have. (2 marks)</td>
            <td>a. This device contains one I/O port &#8211; port B. It is a bidirectional 
                6-bit port with 6 pins. Pins can be set to output or input pins 
                uniquely by changing values in the data direction register. Pins 
                also serve special functions such as reset, xtal oscillator input 
                and output, and external interrupts, as well as the input for 
                the analog comparator depending on which options are set by the 
                pin change interrupt. </td>
            <td>b. Pages 43, 44 and 45, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>16</strong>: Does the microcontroller&#8217;s instruction set 
                support 8-bit addition? 16-bit addition? What is the size (in 
                bits) of the largest addition supported? Is multiplication supported? 
                What is the size of the largest multiplication? (2 marks)</td>
            <td>a. 8-bit addition is supported, and is the largest (in bits) addition 
                supported. Multiplication is not supported. </td>
            <td>b. Page 83, PDF Datasheet </td>
            <td>2</td>
            <td><em>please explain abit more. for example (pg 83,84 data sheet) 
                8-bit addition supported in a single instruction, e.g. ADD and 
                ADC. 16-bit addition not supported in a single instruction. Largest 
                addition supported in a single instruction is 8 bits. Multiplication 
                not supported in a single instruction.</em></td>
        </tr>
    </tbody>
</table>
<h2 id="proc_3">My answers and marks for processor (3): National COP8ACC5</h2>
<table border="1">
    <tbody>
        <tr> 
            <th><strong>Characteristic</strong></th>
            <th><strong>Your Answer</strong></th>
            <th><strong>Source</strong></th>
            <th><strong>Mark</strong></th>
            <th><strong>Marker Comment</strong></th>
        </tr>
        <tr> 
            <td><strong>1</strong>: What is the maximum clock speed of the microcontroller? 
                (1 mark)</td>
            <td>a. 4 MHz onboard, 10 MHz externally clocked </td>
            <td>b. Pages 1 and 12 PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>2</strong>: What is the word size of the microcontroller? 
                (1 mark)</td>
            <td>a. 8 bit </td>
            <td>b. Page 1, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>3</strong>: How many bits wide is the address bus? (1 
                mark)</td>
            <td>a. 15 bit </td>
            <td>b. Pages 1 and 33, PDF Datasheet </td>
            <td>0</td>
            <td class="red"><em>incorrect</em></td>
        </tr>
        <tr> 
            <td><strong>4</strong>: How many different type of memory are included 
                within the microcontroller and how many bytes are there of each? 
                (1 mark)</td>
            <td>a. 4Kbytes ROM and 128 bytes RAM </td>
            <td>b. Page 1, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>5</strong>: How many registers are there? Describe them, 
                including size and purpose (descriptions such as general purpose 
                registers and I/O registers are satisfactory). (1 mark)</td>
            <td>a. 6 memory mapped CPU registers, 3 I/O registers (configuration, 
                data and pin), 4 control registers, timer registers, a SIO shift 
                counter register and16 bytes of RAM are mapped as 3 memory pointer 
                and 13 general purpose registers. </td>
            <td>b. Pages 2 and 12, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>6</strong>: What is the size (in bits) of the instructions 
                and how many instructions are there in the instruction set? (1 
                mark)</td>
            <td>a. Most instructions are single byte; however, some instructions 
                are two bytes. A byte is 8 bits in this instance. A count of the 
                instruction set in the datasheet showed 45 distinct instructions. 
                Instructions such as X and LD have been counted only once, although 
                they are listed multiple times in the datasheet. </td>
            <td>b. Pages 34 and 35, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>7</strong>: Does the microcontroller have support for 
                external memory? If so, what is the maximum external memory size 
                that can be addressed? (1 mark)</td>
            <td>a. No support. </td>
            <td>b. Page 12, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>8</strong>: How many Timers and Counters does the processor 
                have? What sizes are they? (1 mark)</td>
            <td>a. Device contains 3 timers, namely a 16 bit idle timer, a 16-bit 
                general-purpose timer/counter, and 16 bit high speed capture timer. 
                Watchdog timers have not been included in this count. </td>
            <td>b. Pages 1, 14, 15, 17, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>2</em></td>
        </tr>
        <tr> 
            <td><strong>9</strong>: Does the microcontroller have any analog capability 
                (e.g. Analog-to-Digital converter(s), Digital-to-Analog converter(s), 
                Analog-comparator(s)). If so, what voltage range(s) can be measured 
                or outputted? (1 mark)</td>
            <td>a. 12 bit A/D 7-input comparator with input voltage range 0 volts 
                to VCC &#8211;1.5 volts, where the maximum VCC is 5.5 volts. </td>
            <td>b. Pages 1, 4 and 8, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>10</strong>: Does the microcontroller support synchronous 
                serial communication (eg SPI)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Yes, and the maximum rate (in Master mode) is selectable to 
                be 8 times the instruction cycle clock, which is itself one tenth 
                of the processor clock frequency, which is a maximum of 4 MHz 
                internally or 10 MHz if clocked externally. Slave mode uses the 
                clock of another device in Master mode. </td>
            <td>b. Pages 12 and 30, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>11</strong>: Does the microcontroller support asynchronous 
                serial communication (eg UART)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. This is not supported. </td>
            <td>b. Page 1, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>12</strong>: How many interrupts does the microcontroller 
                service? Describe how interrupts are enabled. (1 mark)</td>
            <td>a. There is a global interrupt enable bit. 8 interrupts may be 
                serviced. 7 are maskable and have an enable bit which enables 
                them. The 1 non-maskable (software) interrupt which cannot be 
                disabled. Port L also provides another 8 interrupts which are 
                vectored into the same service routine. </td>
            <td>b. Pages 1, 21, 22 and 27, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>13</strong>: How many addressing modes are there? Describe 
                them (eg. number of registers accessed, program or data memory 
                accessed, etc). (2 marks)</td>
            <td>a. There are 10 addressing modes. These include the operand addressing 
                modes: register indirect, where the operand is the data memory 
                addressed by the B or X pointers, and register indirect with auto 
                increment or decrement of pointer which is similar except the 
                B or X register is automatically decremented or incremented after 
                executing the instruction; Direct which contains an address directly 
                pointing to data memory for the operand; Immediate containing 
                data for the operand within the instruction and a similar short 
                immediate which has a 4-bit immediate field; Indirect where the 
                contents of the accumulator are used as a partial address for 
                accessing program memory. Transfer of control addressing modes 
                include: Relative, where the instruction field is added to the 
                program counter; absolute which replaces 12 bits of the program 
                counter in order to jump to another location and the similar absolute 
                long which replaces the entire 15 bits of the program counter; 
                and indirect which uses the contents of the accumulator for accessing 
                data in program memory. </td>
            <td>b. Pages 32 and 33, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>14</strong>: List and describe any sleep or standby modes 
                or idle states of the processor. (2 marks)</td>
            <td>a. Two power saving modes are provided &#8211; HALT and IDLE. 
                In HALT mode, all microcontroller activities are stopped. In the 
                IDLE mode, the on-board oscillator circuitry and timer T0 are 
                active but all other microcontroller activities are stopped. In 
                both instances, all RAM is preserved. </td>
            <td>b. Pages 17 and 18, PDF Datasheet</td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>15</strong>: Describe the I/O ports. Include how many 
                bits each port has, which direction the pins are and what other 
                uses the pins have. (2 marks)</td>
            <td>a. Port L is a 4-bit I/O port. Its 4 pins may be configured as 
                either input or output pins, and may be used as external interrupts. 
                Port G is an 8-bit port with 5 bidirectional I/O pins, and an 
                input pin, a dedicated output pin (which can be an input pin depending 
                on the mask selected) and the WATCHDOG output pin, with most pins 
                on this port serving multiple purposes. Port I is an 8-bit Hi-Z 
                input port with 8 pins used for the analogue functions, two of 
                which can also be output pins. Port D is a 4-bit output port. 
            </td>
            <td>b. Pages 11 and 12, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>16</strong>: Does the microcontroller&#8217;s instruction set 
                support 8-bit addition? 16-bit addition? What is the size (in 
                bits) of the largest addition supported? Is multiplication supported? 
                What is the size of the largest multiplication? (2 marks)</td>
            <td>a. 8 bit additions is the largest supported. Multiplication is 
                not supported. </td>
            <td>b. Page 34, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>
<h2 id="proc_4">My answers and marks for processor (4): Microchip PIC17C756A</h2>
<table border="1">
    <tbody>
        <tr> 
            <th><strong>Characteristic</strong></th>
            <th><strong>Your Answer</strong></th>
            <th><strong>Source</strong></th>
            <th><strong>Mark</strong></th>
            <th><strong>Marker Comment</strong></th>
        </tr>
        <tr> 
            <td><strong>1</strong>: What is the maximum clock speed of the microcontroller? 
                (1 mark)</td>
            <td>a. 33 MHz </td>
            <td>b. http://www.microchip.com/1010/pline/picmicro/category/embctrl/32kbytes/devices/17c756a/ 
                Specification Chart </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>2</strong>: What is the word size of the microcontroller? 
                (1 mark)</td>
            <td>a. 8 bit data word but 16 bit instruction word (using Harvard 
                Architecture, separate instruction and data buses) </td>
            <td>b. Page 7, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>3</strong>: How many bits wide is the address bus? (1 
                mark)</td>
            <td>a. 15 bit </td>
            <td>b. Page 56, PDF Datasheet </td>
            <td>0</td>
            <td class="red"><em>This is program memory, not data memory.</em></td>
        </tr>
        <tr> 
            <td><strong>4</strong>: How many different type of memory are included 
                within the microcontroller and how many bytes are there of each? 
                (1 mark)</td>
            <td>a. 902 bytes RAM, 64 K-words of external memory supported, EPROM 
                16 K </td>
            <td>b. Page 7 and 8, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>EPROM is 16K words - you must explain this.</em></td>
        </tr>
        <tr> 
            <td><strong>5</strong>: How many registers are there? Describe them, 
                including size and purpose (descriptions such as general purpose 
                registers and I/O registers are satisfactory). (1 mark)</td>
            <td>a. General-purpose registers are 8-bits wide. There are a total 
                of 81 registers. All registers occupy 8-bits of memory; however 
                some registers do not use the full 8-bits. </td>
            <td>b. Pages 46 and 47, PDF Datasheet</td>
            <td>0.5</td>
            <td class="red"><em>This is SFRs. GPRs are separate - there around 
                900 of them.</em></td>
        </tr>
        <tr> 
            <td><strong>6</strong>: What is the size (in bits) of the instructions 
                and how many instructions are there in the instruction set? (1 
                mark)</td>
            <td>a. There are 58 16-bit instructions. </td>
            <td>b. Page 197, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>7</strong>: Does the microcontroller have support for 
                external memory? If so, what is the maximum external memory size 
                that can be addressed? (1 mark)</td>
            <td>a. External memory is supported, 64K-words, where words are 16 
                bit, are addressable, however the processor supports different 
                modes, some of which use some internal memory while others use 
                only external memory. 64K-words is the maximum addressable memory, 
                so if an internal memory mode is used, the maximum addressable 
                external supported memory size is decreased accordingly </td>
            <td>b. Page 43, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>8</strong>: How many Timers and Counters does the processor 
                have? What sizes are they? (1 mark)</td>
            <td>a. There are 4 timer/counters. Timer 0 and timer 3 are 16 bit, 
                timers 1 and 2 are 8 bit, not counting any watchdog timers. </td>
            <td>b. Page 8, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>9</strong>: Does the microcontroller have any analog capability 
                (e.g. Analog-to-Digital converter(s), Digital-to-Analog converter(s), 
                Analog-comparator(s)). If so, what voltage range(s) can be measured 
                or outputted? (1 mark)</td>
            <td>a. Twelve input 10-bit analogue to digital converter. The input 
                voltage should not exceed more than 0.3 volts above rail values, 
                and the rail value is in the range 3 to 5.5 volt. </td>
            <td>b. Page 8, 179 and 189, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>10</strong>: Does the microcontroller support synchronous 
                serial communication (eg SPI)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. Maximum bit clock frequency is 8.25 MHz (clock / 4), giving 
                maximum bit rate of 8250 Kbit per second. </td>
            <td>b. Page 121, 139, PDF Datasheet </td>
            <td>0.5</td>
            <td class="red"><em>Type of communication?</em></td>
        </tr>
        <tr> 
            <td><strong>11</strong>: Does the microcontroller support asynchronous 
                serial communication (eg UART)? If so, what is the maximum bit 
                rate? (1 mark)</td>
            <td>a. 515.62 Kbit/second </td>
            <td>b. Page 122, PDF Datasheet</td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>12</strong>: How many interrupts does the microcontroller 
                service? Describe how interrupts are enabled. (1 mark)</td>
            <td>a. Has 18 sources of interrupt. There is a global interrupt disable 
                bit, which when set disables all interrupts. Individual interrupts 
                are enabled by setting bits in interrupt control registers. </td>
            <td>b. Pages 33, 34, 35 and 36, PDF Datasheet </td>
            <td>1</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>13</strong>: How many addressing modes are there? Describe 
                them (eg. number of registers accessed, program or data memory 
                accessed, etc). (2 marks)</td>
            <td>a. 3. Direct, Indirect and relative. There are 4 registers for 
                indirect addressing, although two aren&#8217;t physically implemented. 
            </td>
            <td>b. Pages 1, 54, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>14</strong>: List and describe any sleep or standby modes 
                or idle states of the processor. (2 marks)</td>
            <td>a. Processor supports a SLEEP mode. Entering this mode clears 
                the watchdog timer, turns off the oscillator driver and maintains 
                I/O port status. Certain interrupts and reset commands will wake 
                the processor from sleep mode. </td>
            <td>b. Page 194, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>15</strong>: Describe the I/O ports. Include how many 
                bits each port has, which direction the pins are and what other 
                uses the pins have. (2 marks)</td>
            <td>a. Seven I/O ports, PORTA through PORTG. PORTA is a 6-bit wide 
                latch and are high impedance inputs. PORTB is 8-bit and bi-directional. 
                It supports interrupt on change and is a general-purpose I/O port. 
                PORTC and PORTD are also general-purpose 8-bit bidirectional ports 
                and are multiplexed with the system bus. PORTE is a 4-bit bidirectional 
                port used for general I/O or control signals for the system bus. 
                PORTF is an 8-bit bidirectional general-purpose I/O port doubling 
                as the inputs for the A/D converter. PORTG is also a general-purpose 
                bidirectional 8-bit I/O port; with the lower four bits doubling 
                as A/D inputs and reference voltage pins and the upper 4 bits 
                doubling as general purpose peripheral I/O. </td>
            <td>b. Pages 71 to 88, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
        <tr> 
            <td><strong>16</strong>: Does the microcontroller&#8217;s instruction set 
                support 8-bit addition? 16-bit addition? What is the size (in 
                bits) of the largest addition supported? Is multiplication supported? 
                What is the size of the largest multiplication? (2 marks)</td>
            <td>a. 8-bit addition and multiplication is supported. </td>
            <td>b. Pages 200 and 202, PDF Datasheet </td>
            <td>2</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>
<p>19-Nov-2003</p>
</body>
</html>