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> </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> </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> </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> </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> </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> </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 –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> </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> </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’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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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 – 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> </td>
</tr>
<tr>
<td><strong>16</strong>: Does the microcontroller’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> </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> </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> </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> </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> </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> </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 –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> </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> </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> </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> </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> </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 – 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> </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> </td>
</tr>
<tr>
<td><strong>16</strong>: Does the microcontroller’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> </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> </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> </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> </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> </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> </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> </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> </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> </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’t physically implemented.
</td>
<td>b. Pages 1, 54, PDF Datasheet </td>
<td>2</td>
<td> </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> </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> </td>
</tr>
<tr>
<td><strong>16</strong>: Does the microcontroller’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> </td>
</tr>
</tbody>
</table>
<p>19-Nov-2003</p>
</body>
</html>