<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックRe: difference btwn the CPU clk and BUS clk</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198978#M16142</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;After re-reading my post, I realized I used the term cycle in an ambiguous manner.&lt;BR /&gt;I have replaced this with term sub-cycle to indicate a cpu clock.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;To execute a one cycle instruction, you need a Fetch &lt;I&gt;sub-cycle (one cpu clock)&lt;/I&gt; to get the instruction into the instruction register. However logic needs time&amp;nbsp; to propagate, as the instruction must be decoded, so you need another &lt;I&gt;sub-cycle&lt;/I&gt; to execute the instruction, usually called the Execute &lt;I&gt;sub-cycle&lt;/I&gt;. So the cpu clock IS used, but&amp;nbsp; each unit of work takes two cpu clocks to complete, and the minimum unit is one cycle.&lt;BR /&gt;&lt;BR /&gt;If you have a 20Mhz "master clock", it&amp;nbsp; takes 20Mhz/2 or 100ns to execute a one cycle instruction. A 2 cycle instruction take 200ns and so on.&lt;BR /&gt;&lt;BR /&gt;Really that's all there is to it. A cycle takes two cpu clocks.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Mar 2008 23:54:37 GMT</pubDate>
    <dc:creator>JimDon</dc:creator>
    <dc:date>2008-03-04T23:54:37Z</dc:date>
    <item>
      <title>difference btwn the CPU clk and BUS clk - HCS908AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198966#M16130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Hello All.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I want to know the difference btwn the CPU clk and BUS clk. HCS908AW32 has max of 20mhz bus and cpu clk of 40 mhz. Does that mean that code will run at 40 mhz??or at bus clk of 20 mhz?? Can you give me any timing diagram links?? Ultimately which has the upper hand ? Bus or CPU clk ??&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Denn&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Added p/n to subject.&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2008-03-03&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;08:47 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2008 13:28:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198966#M16130</guid>
      <dc:creator>Denn</dc:creator>
      <dc:date>2008-03-03T13:28:29Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198967#M16131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Denn,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The use of the term "CPU clock" within the data sheet is a little confusing, although it is stated that&amp;nbsp;the bus clock frequency is one-half the CPU clock frequency.&amp;nbsp; The latter is used to generate timing within the core, but the bus clock is used for access to peripherals.&amp;nbsp; The timing&amp;nbsp;for all instructions is based on tne number of bus cycles requred.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2008 19:43:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198967#M16131</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-03-03T19:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198968#M16132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;Hello Mac,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I completely agree with the fact that CPU clock is used to do operations within the core and Bus clock for operations on pheripherals.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Every instructions getting executed has four stages&lt;/DIV&gt;&lt;DIV&gt;1)Instruction &lt;STRONG&gt;fetch&lt;/STRONG&gt; from program memory(here flash) to instruction register&lt;/DIV&gt;&lt;DIV&gt;2)&lt;STRONG&gt;Decoding&lt;/STRONG&gt; of the instruction Opcode ( Instruction decoding)&lt;/DIV&gt;&lt;DIV&gt;3)&lt;STRONG&gt;Executing&lt;/STRONG&gt; phase:where the Arithmatic and Logic unit of CPU is used and finally&lt;/DIV&gt;&lt;DIV&gt;4)&lt;STRONG&gt;Write&lt;/STRONG&gt; :Here you write the results of the executing block(ALU) into memory or on the pheripheral (like I/0)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;As far I understand, CPU clock is used for "&lt;STRONG&gt;Decoding&lt;/STRONG&gt;" and "&lt;STRONG&gt;Execute&lt;/STRONG&gt;" phase, while Bus clock for "&lt;STRONG&gt;Fetch&lt;/STRONG&gt; " and "&lt;STRONG&gt;Write&lt;/STRONG&gt;" phases.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now if the CPU clock is running faster(Here twice)&amp;nbsp; than Bus clock, won't it create an bottle neck situation while writing back?? To avoid this either the CPU has to wait idly doing nothing until &lt;STRONG&gt;write&lt;/STRONG&gt; HW logic is free again or&amp;nbsp; somesort of pipeling is required.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But I couldnot see any sort of pipeling info in the AW32 data sheet.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And again the instuctions coming from program memory&amp;nbsp;to the Instr Reg is dependent on Bus clk and hence the instruction flow is dependent on &lt;STRONG&gt;BUS CLOCK.&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Since both incoming as well as outgoing databus info from/out of &amp;nbsp;CPU&amp;nbsp;core is dependent on BUS clk, ultimately the bus clock has control on the program execution rather than whatever the CPU speed( more than 1.00) has to offer.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This is my understanding of the system.Please feel to correct me if I'm wrong.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Is there any links that&amp;nbsp;you suggest me to have a look into?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks in advance.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Best regards,&lt;/DIV&gt;&lt;DIV&gt;Denn&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Mar 2008 21:48:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198968#M16132</guid>
      <dc:creator>Denn</dc:creator>
      <dc:date>2008-03-03T21:48:39Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198969#M16133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;For a more detailed explanation of commands the best place to usually look is the reference manual for the core, here is the reference manual for the HCS08:&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/microcontrollers/doc/ref_manual/HCS08RMV1.pdf?fsrch=1" rel="nofollow" target="_blank"&gt;http://www.freescale.com/files/microcontrollers/doc/ref_manual/HCS08RMV1.pdf?fsrch=1&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Some places to note are:&lt;/DIV&gt;&lt;DIV&gt;1)&amp;nbsp;Page 79&amp;nbsp;-&amp;nbsp;&amp;nbsp;Describes the CPU and points out the use of an instruction queue&lt;/DIV&gt;&lt;DIV&gt;2) Page 97 - View of what happens during a bus cycle&lt;/DIV&gt;&lt;DIV&gt;3) Page 199 - Provides information on the cycle-by-cycle (bus cycle)&amp;nbsp;codes for each instruction.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;There are many references to "CPU cycles" when they actually mean bus cycles.&amp;nbsp; Take for example the NOP instruction on page 263.&amp;nbsp; The operation notes that it takes one bus cycle, but in the description it says "...does nothing except to consume one CPU clock cycle...".&amp;nbsp; I don't know if anyone else here has more information on the execution of commands and what takes place in relation to CPU clock cycles but I doubt it.&amp;nbsp; The most information you could hope to glean is what happens from one bus cycle to the next.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Another reference is a document for the HC08, I don't know how much of this pertains to the HCS08, but I am sure a fair amount of it still holds true.&amp;nbsp; It gives a better explanation of the cycle-by-cyle codes for insturctions:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/microcontrollers/doc/app_note/AN2627.pdf?fsrch=1" rel="nofollow" target="_blank"&gt;http://www.freescale.com/files/microcontrollers/doc/app_note/AN2627.pdf?fsrch=1&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Hope this&amp;nbsp;helps.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;edit: some horrible grammer&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by allawtterb on &lt;SPAN class="date_text"&gt;2008-03-03&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;04:12 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 00:06:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198969#M16133</guid>
      <dc:creator>allawtterb</dc:creator>
      <dc:date>2008-03-04T00:06:13Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198970#M16134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Denn,&lt;BR /&gt;&lt;BR /&gt;I agree with you: the way Freescale specify its instruction timming is weird. I already asked them about such questions when I was researching for my HCS08 Unleashed book.&lt;BR /&gt;&lt;BR /&gt;As far as I know, all references for instruction timming MUST be based on the BUSCLK signal, which is one-half of the CPUCLK.&lt;BR /&gt;&lt;BR /&gt;I don't believe that each clock domain is used for certain phases of the instruction execution. Considering the evolution path from the HC05 to the HC08 and then to the HCS08 we can see that:&lt;BR /&gt;&lt;BR /&gt;1- In the HC08, the BUSCLK signal is one fourth of the CPUCLK. This means that the instruction-rate is one-half of the HCS08.&lt;BR /&gt;&lt;BR /&gt;2- The HCS08 do not implement a pipeline, instead, they use an three-byte instruction queue (which is just a prefetch buffer, simpler than a pipeline). This instruction queue allowed the designers to reduce the CPI (clock per instruction) for many HC05 instructions.&lt;BR /&gt;&lt;BR /&gt;3- The increased speed of the HCS08 caused some timming problems that were addressed by changing access cycles within the instruction or by increasing the CPI of some specific instructions. While this CPI increasing caused some instructions to be 1 BUSCLK longer, this allowed them to run at double the BUSCLK rate (when compared to the HC08 CPU).&lt;BR /&gt;&lt;BR /&gt;I suggest you to read AN2627, which describes the HC08 instructions using a cycle-by-cycle notation. For timming diagrams, I suggest reading section 2.4.2 of the CPU08 reference manual. Unfortunatelly, I don't know any timming chart for the HCS08 CPU.&lt;BR /&gt;&lt;BR /&gt;The HCS08 family reference manual (Rev.2) also sheds some light on HCS08's instruction timming (section 6.4.6). The instruction diagrams also include cycly-by-cycle details regarding what the machine is doing in each BUSCLK cycle of an instruction.&lt;BR /&gt;&lt;BR /&gt;There is more information, but I think that FS could explain them much better than I.&lt;BR /&gt;&lt;BR /&gt;I hope it helps,&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 00:10:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198970#M16134</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-03-04T00:10:28Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198971#M16135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Fabio,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;I agree with you when you say "all references for instruction timming MUST be based on the BUSCLK signal".Same info is mentioned in&amp;nbsp;&amp;nbsp;&lt;FONT color="#ffffff"&gt;&lt;FONT color="#000000"&gt;HCS08RMv1/D&lt;/FONT&gt; &lt;FONT color="#000000"&gt;Rev. 2&lt;/FONT&gt; &lt;FONT color="#000000"&gt;05&amp;nbsp; Page&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#000000" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#000000" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;FONT color="#ffffff"&gt;/&lt;/FONT&gt; "&lt;EM&gt;In modern microcontrollers, operations are pipelined such that different parts of the circuit can be working on different information at any particular instant in time. &lt;U&gt;To avoid confusion&lt;/U&gt;, it is important to have &lt;U&gt;a single consistent point of reference&lt;/U&gt; so other system timing can be related to this common reference. This common reference point for the HCS08 is a bus cycle. "&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Again no much info abt pipeline&amp;nbsp; .!!!&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;U&gt;&lt;/U&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;U&gt;&lt;/U&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;U&gt;To avoid confusion&lt;/U&gt;...&lt;U&gt;A single consistent point of &lt;STRONG&gt;reference&lt;/STRONG&gt;&lt;/U&gt;...--&amp;gt; Bus Clock..That doesnot mean that CPU clock is not used anywhere during instruction execution. As Mac has pointed out it is used for timing inside the CPU core.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;If I read again "&lt;EM&gt;&lt;U&gt;a single consistent point of reference&lt;/U&gt; so other system timing can be related to this common reference"&lt;/EM&gt;&amp;nbsp;&amp;nbsp; &lt;U&gt;&lt;STRONG&gt;so other system timing =???&lt;/STRONG&gt;&lt;/U&gt; Is this not CPU clock ??&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;If one sees in the instruction execution in terms of bus clock , alphabets like p,r,s,u,v,w and finally f is used.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;f — Free cycle. This indicates a cycle where the CPU does not require use of the system buses. An f cycle is always one cycle of the system bus clock.&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT size="2"&gt;System buses are not used during &lt;STRONG&gt;f&lt;/STRONG&gt; !!!! Couldn't this be the time utilised for &lt;STRONG&gt;decoding&lt;/STRONG&gt; in Instruction Register and executing operations in ALU ???&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;How can you equate bus clock for core operations?? I don't see any logic behind this.&lt;/FONT&gt;&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;fabio wrote:&lt;BR /&gt;&lt;BR /&gt;1- In the HC08, the BUSCLK signal is one fourth of the CPUCLK. This means that the instruction-rate is one-half of the HCS08.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;HR /&gt;&lt;P&gt;&lt;FONT size="2"&gt;I cross checked in AN2717, "M68HC08 to HCS08 Transition "&amp;nbsp; it is said (page-6 .section 4.1) "&lt;U&gt;CPU vs. Bus Clock&lt;/U&gt;&lt;BR /&gt;The M68HC08 CPU clock is equal to the bus clock. The HCS08 CPU clock is twice the speed of the bus"&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Then how can the instruction rate of HC908 MCUs&amp;nbsp;be one half of HCS series MCUs.???&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Even if it was so ,&amp;nbsp;I don't know how you could relate CPU clock with Bus Clock in a linear way.Both are involved in different places one on bus activity and other on core activity.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;DIV&gt;fabio wrote:&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;2- The HCS08 do not implement a pipeline, instead, they use an three-byte instruction queue (which is just a prefetch buffer, simpler than a pipeline). This instruction queue allowed the designers to reduce the CPI (clock per instruction) for many HC05 instructions.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;I agree on this ..But&amp;nbsp; in &lt;U&gt;&lt;EM&gt;&lt;STRONG&gt;HCS08 Family Reference Manual HCS08RMv1/D Rev. 2 05/2007&lt;/STRONG&gt;&lt;/EM&gt;&lt;/U&gt; chapter 6 page 79&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;"The instruction queue improves instruction throughput because it makes the opcode and one byte of&lt;BR /&gt;operand information available to the CPU immediately at the start of an instruction. Without the queue,&lt;BR /&gt;the CPU would have to spend the first few cycles of an instruction waiting for the program information to&lt;BR /&gt;be fetched into the CPU. "&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#ff0000"&gt;My doubt still remains unanswered&lt;/FONT&gt;.&lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" id="smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt; What about bottleneck!!!! between the execution phase (CPU clk) and write phase( Bus clock)...&lt;/DIV&gt;&lt;DIV&gt;N.B: This was not a problem in HC08 micros because bus= cpu clk , but in HCS08 &amp;nbsp;bus clk=1/2( cpu clk)&lt;/DIV&gt;&lt;DIV&gt;There surely will be bottleneck condition....ultimately bus clk dictates the entire speed of the MCU!!!&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;And hence AN2627 will not shed info of much use on HCS08&amp;nbsp;for the above said reason.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I contacted Freescale Support.This was their reply&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT size="2"&gt;In reply to your Service Request SR 1-425437386:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;CPU vs. BUS clocks:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;******************&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Well, you can forget CPU frequency. It is only marketing. It is useless for comparing HC08 and S08.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;The S08 family use the same instructions as the HC08. (Four instructions have been added in S08 CPU) All instructions execution times are specified in Bus cycles on either S08 and HC08.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Many instructions have slightly different cycle counts on S08 compared to the M68HC08 Family.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;But the main difference between the two families is that S08 maximum bus speed is 20 MHz and HC08 was 8 MHz.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Furthermore , the three of the four new S08 instructions improve C code compiler efficiency. The efficiency is improved in both code size and cycle counts.&lt;/FONT&gt;&lt;/P&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;I am really CONFUSED !!!!! &lt;IMG alt=":smileymad:" class="emoticon emoticon-smileymad" id="smileymad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-mad.gif" title="Smiley Mad" /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 18:57:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198971#M16135</guid>
      <dc:creator>Denn</dc:creator>
      <dc:date>2008-03-04T18:57:33Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198972#M16136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;fabio wrote:&lt;BR /&gt;Hi Denn,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;1- In the HC08, the BUSCLK signal is one fourth of the CPUCLK. This means that the instruction-rate is one-half of the HCS08.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;This is WRONG!&lt;BR /&gt;HC08 the CPU and BUS clocks are the same. The CPU/BUS clock is one fourth of the source clock.&lt;BR /&gt;S08 the BUSCLK is half of the CPUCLK. CPUCLK = source clock.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;Anything much deeper than this is pretty much black boxed for us poor users.&lt;BR /&gt;The main thing of note is that the CPU clock is pretty much irrelevant as anything we can touch/see is based on BUSCLK timing, this is why I believe they stuck to BUS cycles for the instruction times.&lt;BR /&gt;&lt;BR /&gt;Message Edited by peg on &lt;SPAN class="date_text"&gt;2008-03-04&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:31 PM&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by peg on &lt;SPAN class="date_text"&gt;2008-03-04&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;10:37 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 19:28:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198972#M16136</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2008-03-04T19:28:00Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198973#M16137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello Denn,&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Denn wrote:&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#ff0000"&gt;My doubt still remains unanswered&lt;/FONT&gt;.&lt;IMG border="0" height="16" src="http://forums.freescale.com/i/smilies/16x16_smiley-sad.gif" width="16" /&gt; What about bottleneck!!!! between the execution phase (CPU clk) and write phase( Bus clock)...&lt;/DIV&gt;&lt;DIV&gt;N.B: This was not a problem in HC08 micros because bus= cpu clk , but in HCS08 &amp;nbsp;bus clk=1/2( cpu clk)&lt;/DIV&gt;&lt;DIV&gt;There surely will be bottleneck condition....ultimately bus clk dictates the entire speed of the MCU!!!&lt;BR /&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Should&amp;nbsp;"bottleneck" conditions happen to&amp;nbsp;exist&amp;nbsp;for the core or the bus,&amp;nbsp;synchronisation is taken care of automatically, and need not concern the programmer.&amp;nbsp; Each instruction will always take a specific number of bus cycles to&amp;nbsp;execute, and is not affected by preceeding instructions.&amp;nbsp; The execution&amp;nbsp;cycles required&amp;nbsp;for a block of assembly code is totally deterministic.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Obviously, the HCS08 will have &lt;U&gt;different&lt;/U&gt; "bottlenecks" than the HC908, as evidenced by&amp;nbsp;slightly differing number of bus cycles required to execute the same instruction.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Yes, the bus clock frequency does have a major influence on the speed of execution of a program.&amp;nbsp; However, the experienced assembly programmer does have some secondary control with programming technique used, choice of addressing modes, etc.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by bigmac on &lt;SPAN class="date_text"&gt;2008-03-05&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;12:01 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 20:53:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198973#M16137</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-03-04T20:53:34Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198974#M16138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;You are right Peg,&lt;BR /&gt;&lt;BR /&gt;What I meant is that the BUSCLK is actually one fourth of the oscillator clock (as you correctly pointed out).&lt;BR /&gt;&lt;BR /&gt;Anyway, much of the information I wrote, I got from Jim Sibigtroth, one of the men behind the HC05, HC08 and HCS08 design.&lt;BR /&gt;&lt;BR /&gt;I agree with you that, for us, the poor users, most of the CPU and the reasons for one or another feature are all inside a black box.&lt;BR /&gt;&lt;BR /&gt;Again, regarding the CPUCLK of the HCS08 and the different domains of BUSCLK and CPUCLK pointed by Denn, I believe that the higher-rate CPUCLK is used to allow faster internal operations within the CPU. Here is a small paragraph I received from FS tech team:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;"The much faster HCS08 bus made it impractical to keep pretending that reads and writes take the same amount of time and it also made the designers pay closer attention to the critical speed paths through the CPU. In some cases this meant using two bus cycles to do some CPU operations instead of one, but at the same time they were able to increase bus speed by significantly more than 2x without increasing the logic speed and power consumption as much as you would expect. In HCS08 the CPU can issue a new read on every bus cycle, but it cannot use the returned data in the next bus cycle like the HC08 could. At the start of a new instruction, there are two bytes of object code ready and waiting in the 2-stage instruction queue and a third byte on its way (the third read was already issued, but the data hasn’t been latched into the CPU yet)."&lt;BR /&gt;&lt;BR /&gt;Unfortunatelly, I am not sure I am authorized to publish all the contents of the message.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;Bigmac,&lt;BR /&gt;&lt;BR /&gt;I completely agree with you. Questions related to the internal timmings whitin the HCS08 CPU and possible&amp;nbsp; internal bottlenecks are invisible to the programmer. From the programmer's point of view, the basic concept is that the BUSCLK rules all timming within the CPU. That is it.&lt;BR /&gt;&lt;BR /&gt;An LDA #5 instruction, for example, takes 2 BUSCLK cycles to complete. Change the addressing mode and the number of clock cycles will increase accordingly.&lt;BR /&gt;&lt;BR /&gt;The cycle-by-cycle detais presented in the CPU section of the HCS08 device datasheets can help understanding why some modes need more cycles than others.&lt;BR /&gt;&lt;BR /&gt;The cycles for LDA #5 are pp (two program fetches). The first fetch reads the opcode from the memory, the next fecth reads the operand and load it into the accumulator. It is important to note that these two bytes&amp;nbsp; belong to next instruction (following the LDA instruction), because the two bytes for the LDA instruction were already loaded into the instruction queue.&lt;BR /&gt;&lt;BR /&gt;The LDA opr8a, for example, takes 3 BUSCLK cycles (one more than using the immediate addressing mode) and the cycles are rpp. Considering that the instruction opcode and the operand is already loaded into the instruction queue. The first execution cycle of the instruction reads the memory address pointed by the operand and stores it into the accumulator. The two next program fetches (pp) fill the instruction queue.&lt;BR /&gt;&lt;BR /&gt;Looking the same instruction (LDA opr8a) on the HC08 CPU (using the AN2627) it is easy to notice that the cycles are different: prp. This happens because the HC08 has only a one-byte prefetch buffer. The first byte of the instruction (the opcode) is already loaded into the prefetch buffer when the instruction starts, the&amp;nbsp; operand is then fetched (the first p cycle), then the memory is read and the value is stored into A (the r cycle) and then the prefetch buffer is filled with the opcode of the next instruction (the second p cycle).&lt;BR /&gt;&lt;BR /&gt;I think that is the way it goes (maybe I am wrong).&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by fabio on &lt;SPAN class="date_text"&gt;2008-03-04&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;01:31 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 21:02:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198974#M16138</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-03-04T21:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198975#M16139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;There are different way to look at this.&lt;BR /&gt;&lt;BR /&gt;To execute a one cycle instruction, you need a Fetch cycle to get the instruction into the instruction register. However logic needs time&amp;nbsp; to propagate, as the instruction must be decoded, so you need another cycle to execute the instruction, usually called the Execute cycle.. So the cpu clock IS used, but&amp;nbsp; each unit of work takes two cpu clocks to complete, and the minimum unit is one cycle.&lt;BR /&gt;&lt;BR /&gt;If you have a 20Mhz "master clock", it&amp;nbsp; takes 20Mhz/2 or 100ns to execute a one cycle instruction. A 2 cycle instruction take 200ns and so on.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;Really thats all there is to it. A cycle takes two cpu clocks.&lt;BR /&gt;&lt;BR /&gt;Other parts of the MCU (we have really been talking about the CPU) are clocked using the bus clock. In fact, it is called the bus clock, because the I/O bus runs at this rate. The bus clock is what logic external to the cpu sees.&lt;BR /&gt;&lt;BR /&gt;In pipelining (which these processors do not use) the instruction is pre-decode and possibly pre executed, meaning in some cases and instruction may take 0ns to execute. The logic for this is very complex and costly not to mention power hunger. This also given variable timing on a sequence of instructions - this can make timing issues tricky to resolve.&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 22:31:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198975#M16139</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-03-04T22:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198976#M16140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello Mac,Fabio,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;HR /&gt;bigmac wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Should&amp;nbsp;"bottleneck" conditions happen to&amp;nbsp;exist&amp;nbsp;for the core or the bus,&amp;nbsp;synchronisation is taken care of automatically, and need not concern the programmer.&amp;nbsp; Each instruction will always take a specific number of bus cycles to&amp;nbsp;execute, and is not affected by preceeding instructions.&amp;nbsp; The execution&amp;nbsp;cycles required&amp;nbsp;for a block of assembly code is totally deterministic.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I agree on Mac,when he says as an programmer, one need not really worry about the instruction execution details in deep like timing of each micro execution details. All he needs to know( mainly assembly programmers - for say better code which executes in less time)&amp;nbsp; is the timing period of entire execution of each instruction.Normally time for each instructions will be in terms of micro seconds or less. Obviously there has to be some common reference unit/terminology for their measurement.Here the common reference unit is BUSCLK. When some one says one instr takes 5 BUSCLKs he says total time taken is 5 times the bus clock.&lt;EM&gt;But that doesn't mean that CPU clock (core activities) are not involved during this time&lt;/EM&gt;.Surely a good part of it will be involved.&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Same info is mentioned in&amp;nbsp;&amp;nbsp;&lt;FONT color="#ffffff"&gt;&lt;FONT color="#000000"&gt;HCS08RMv1/D&lt;/FONT&gt; &lt;FONT color="#000000"&gt;Rev. 2&lt;/FONT&gt; &lt;FONT color="#000000"&gt;05&amp;nbsp; Page&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;FONT color="#000000"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#000000" size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;FONT color="#ffffff"&gt;/&lt;/FONT&gt; "&lt;EM&gt;In modern microcontrollers, operations are pipelined such that different parts of the circuit can be working on different information at any particular instant in time. &lt;U&gt;To avoid confusion&lt;/U&gt;, it is important to have &lt;U&gt;a single consistent point of reference&lt;/U&gt; so other system timing can be related to this common reference. This common reference point for the HCS08 is a bus cycle. "&amp;nbsp;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&lt;/EM&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;I also agree that "&lt;EM&gt;&lt;FONT color="#3333CC"&gt;Each instruction will always take a specific number of bus cycles to&amp;nbsp;execute, and is not affected by &lt;STRONG&gt;preceeding&lt;/STRONG&gt; instructions.&amp;nbsp; The execution&amp;nbsp;cycles required&amp;nbsp;for a block of assembly code is totally deterministic&lt;/FONT&gt;&lt;/EM&gt;. "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My concern about "bottleneck" had got nothing to do with as an programmer but&amp;nbsp;as an processor architecture enthusiast&amp;nbsp;!!!!&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My concern about the " bottleneck" &lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;is within the execution of a SINGLE instruction and not with the series of instructions aka preceeding instructions. Bottleneck between the core (say max speed 40 MHz and hence more throughput) and the write block (max speed of 20Mhz ).You can compare this to the Bucket with a hole in the bottom side . &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt; Yes!!! Bucket is filled with water.Now with the hosepipe you are filling water a faster rate than (say twice) the speed of water trickling out from the bottom side.It works fine for some time, then water obviously will overflow.What does that mean ?? Wasn't there a bottleneck condition at the junction of incoming water and outgoing from bucket ?This is what I was trying to convince.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fine!!! Anyway I got the answer from Fabio where he suggests that HCS core (CONTROL AND EXECUTION BLOCKS )needs to do MORE things before &lt;STRONG&gt;write&lt;/STRONG&gt; block becomes ready, and hence increase in the speed of core clock..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;May be, if this CPUclock was slow(than the&amp;nbsp;current twice speed)&amp;nbsp;&amp;nbsp;and HCS core had not completed its tasks before write block was ready, obviously the write block had to wait until the EXECUTION BLOCKS gives its&amp;nbsp;result to write block (Bucket empty condition).Seeing all these possibilities Freescale hardware designers might have given the CPU clock a higher speed compared to bus clock.And hence no overflow or empty condition....Everything has got to do with HW hardwired logic. SW Programmers have no control over them. All they want is the time of each instruction.Here the time is measured interms of BUSCLK!!! (reference **bleep** for measurement of instructions)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Denn&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 23:02:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198976#M16140</guid>
      <dc:creator>Denn</dc:creator>
      <dc:date>2008-03-04T23:02:55Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198977#M16141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Denn,&lt;BR /&gt;&lt;BR /&gt;I am a processor architecture enthusiast too! I understand your questions but you must also understand that **most** people here do not work for FS, therefore, we have no access to such details of the processor design. All we can do is speculate about the ways to do it and the reasons to do it, but everything lies in the theorical field.&lt;BR /&gt;&lt;BR /&gt;I like to design CPUs using VHDL language and sometimes I would like to know why some comercial designs choose one way instead of another. But unfortunatelly, processor designing is a more complex task than just make it work correctly. There are many tradeoffs that must be cared about (cost, complexity, power consumption, etc).&lt;BR /&gt;&lt;BR /&gt;From the designer's point of view, a higher clock rate means more clock edges to do useful things (like fetching, decoding, executing, etc). My first CPUs were clock-hungry devices that needed several clock pulses to perform simple tasks. As the time goes by, you start to notice that some cycles can be used to make some tasks in paralell and so on.&lt;BR /&gt;&lt;BR /&gt;And talking about clocks remainds me Microchip and their "one instruction per machine cycle" hype. I remember that many people believed that a PIC could execute one instruction at each clock cycle and that isn't true because a machine cycle actually takes four clock cycles (and I believe this remains true even on the newest DsPIC devices). Again, the higher clock is internally used to feed the logic mechanisms within the CPU, but the instruction rate is measured in terms of machine cycles.&lt;BR /&gt;&lt;BR /&gt;Before I go, I would like to know what are those four new HCS08 instructions mentioned by the FS tech support guy. As far as I know, regarding the HC08, only one instruction was added to the HCS08 (BGND). The better C optimization is enabled by the new addressing modes added to the existing CPHX, STHX and LDHX instructions.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 23:52:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198977#M16141</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-03-04T23:52:35Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198978#M16142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;After re-reading my post, I realized I used the term cycle in an ambiguous manner.&lt;BR /&gt;I have replaced this with term sub-cycle to indicate a cpu clock.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;To execute a one cycle instruction, you need a Fetch &lt;I&gt;sub-cycle (one cpu clock)&lt;/I&gt; to get the instruction into the instruction register. However logic needs time&amp;nbsp; to propagate, as the instruction must be decoded, so you need another &lt;I&gt;sub-cycle&lt;/I&gt; to execute the instruction, usually called the Execute &lt;I&gt;sub-cycle&lt;/I&gt;. So the cpu clock IS used, but&amp;nbsp; each unit of work takes two cpu clocks to complete, and the minimum unit is one cycle.&lt;BR /&gt;&lt;BR /&gt;If you have a 20Mhz "master clock", it&amp;nbsp; takes 20Mhz/2 or 100ns to execute a one cycle instruction. A 2 cycle instruction take 200ns and so on.&lt;BR /&gt;&lt;BR /&gt;Really that's all there is to it. A cycle takes two cpu clocks.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 23:54:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198978#M16142</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-03-04T23:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198979#M16143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;BTW.: the HCS08 instruction queue is two bytes long and not three as I said before. Sorry for that ...&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 00:43:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198979#M16143</guid>
      <dc:creator>fabio</dc:creator>
      <dc:date>2008-03-05T00:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198980#M16144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;fabio wrote:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Before I go, I would like to know what are those four new HCS08 instructions mentioned by the FS tech support guy. As far as I know, regarding the HC08, only one instruction was added to the HCS08 (BGND). The better C optimization is enabled by the new addressing modes added to the existing CPHX, STHX and LDHX instructions.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;The tech support guy probably understood this paragraph wrongly from AN2717. (As many would, it is poorly written and badly illustrated by the table.)&lt;BR /&gt;&lt;BR /&gt;_________________________________&lt;BR /&gt;New opcodes:&lt;BR /&gt;&lt;BR /&gt;The instruction to enter the new background debug mode, BGND, has been&lt;BR /&gt;added to the original M68HC08 opcode map. To improve C code compiler&lt;BR /&gt;efficiency, several addressing modes for manipulating the 16-bit H:X index&lt;BR /&gt;register have been added to the original three instructions. A total of 10 new&lt;BR /&gt;opcodes have been added to the M68HC08 opcode map, as shown in Table 1.&lt;BR /&gt;&lt;BR /&gt;Table 1. New HCS08 Opcodes&lt;BR /&gt;Instruction Addressing Mode(s) New Opcodes&lt;BR /&gt;LDHX EXT,IX,IX1,IX2,SP1 $32,$9EAE,$9ECE,$9EBE,$9EFE&lt;BR /&gt;CPHX EXT,SP1 $3E,$9EF3&lt;BR /&gt;STHX EXT,SP1 $96,$9EFF&lt;BR /&gt;BGND INH $82&lt;BR /&gt;____________________________________&lt;BR /&gt;&lt;BR /&gt;The table mixes up the new instruction with the new addressing modes that when used with certain instruction provide greater C compiler efficiency.&lt;BR /&gt;It then goes on to say that 10 new codes have been added to the opcode map.&lt;BR /&gt;There are 10 in the table but some of them are not new.&lt;BR /&gt;This lousy document (in Rev. D) fails to even address the new addressing modes and in their scant mention here implies that they only apply to these three instructions which is of course incorrect.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Why there is someone in technical support quoting flawed documentation without understanding that it is incorrect at this very basic level is another question altogether.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by peg on &lt;SPAN class="date_text"&gt;2008-03-05&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;08:53 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 05:47:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198980#M16144</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2008-03-05T05:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198981#M16145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;As far as the cpu is concerned, for all intents and purposes, a new addressing mode IS a new instruction.&lt;BR /&gt;- It has a new opcode. I would say this alone qualifies it as a new instruction.&lt;BR /&gt;- It provides new functionality.&lt;BR /&gt;- From the VHDL point of view, new micro code needs to be added to execute the instruction&lt;BR /&gt;- The instruction decoder logic needs to be changed to decode it.&lt;BR /&gt;&lt;BR /&gt;It think it is fair to say it is a new instruction.&lt;BR /&gt;Maybe in your opinion this does not fit the definition of a new instruction, but I think you can see a point of view where it does. Both engineering and marketing. The CPU engineer had to to the work of adding a new instruction.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 05:55:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198981#M16145</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-03-05T05:55:59Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198982#M16146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Jim,&lt;BR /&gt;&lt;BR /&gt;I think you have missed the point.&lt;BR /&gt;I am not contesting whether or not a new addressing mode for an instruction qualifies as a "new instruction".&lt;BR /&gt;I agree with what you have said just now.&lt;BR /&gt;&lt;BR /&gt;What is a issue is the number four (4).&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 06:02:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198982#M16146</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2008-03-05T06:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198983#M16147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I seem to be missing a lot of points today :smileyhappy:.,&lt;BR /&gt;&lt;BR /&gt;Actually I was responding to:&lt;BR /&gt;&lt;BR /&gt;"As far as I know, regarding the HC08, only one instruction was added to the HCS08 (BGND). The better C optimization is enabled by the new addressing modes added to the existing CPHX, STHX and LDHX instructions."&lt;BR /&gt;&lt;BR /&gt;And just explaining why and addressing mode might qualify as a new instruction.&lt;BR /&gt;And then it might not, depending on how marketing felt that day....&lt;BR /&gt;As for tech support usually their job is to quote what's there, and they may not be even given the time to question it.&lt;BR /&gt;&lt;BR /&gt;I'd just be happy if the would the RM to show all the instructions.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 06:46:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198983#M16147</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-03-05T06:46:38Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198984#M16148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Actually after more checking I see that the current version of AN2717 is Rev. 1&lt;BR /&gt;A, B, C, D, 1 ????&lt;BR /&gt;Perhaps it started to look embarrasing.&lt;BR /&gt;But still the paragraph/table persists.&lt;BR /&gt;As no revision history is included I do not know what was changed.&lt;BR /&gt;Perhaps it was just the Motorola to Freescale changes.&lt;BR /&gt;Whether this warrants the attribution to a new author is questionable, he obvoiusly did not read and understand it.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 07:19:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198984#M16148</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2008-03-05T07:19:48Z</dc:date>
    </item>
    <item>
      <title>Re: difference btwn the CPU clk and BUS clk</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198985#M16149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello Peg,&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Peg wrote:&lt;/DIV&gt;&lt;DIV&gt;_________________________________&lt;BR /&gt;New opcodes:&lt;BR /&gt;&lt;BR /&gt;The instruction to enter the new background debug mode, BGND, has been&lt;BR /&gt;added to the original M68HC08 opcode map. To improve C code compiler&lt;BR /&gt;efficiency, several addressing modes for manipulating the 16-bit H:X index&lt;BR /&gt;register have been added to the original three instructions. A total of 10 new&lt;BR /&gt;opcodes have been added to the M68HC08 opcode map, as shown in Table 1.&lt;BR /&gt;&lt;BR /&gt;Table 1. New HCS08 Opcodes&lt;BR /&gt;Instruction Addressing Mode(s) New Opcodes&lt;BR /&gt;LDHX EXT,IX,IX1,IX2,SP1 $32,$9EAE,$9ECE,$9EBE,$9EFE&lt;BR /&gt;CPHX EXT,SP1 $3E,$9EF3&lt;BR /&gt;STHX EXT,SP1 $96,$9EFF&lt;BR /&gt;BGND INH $82&lt;BR /&gt;____________________________________&lt;BR /&gt;&lt;BR /&gt;The table mixes up the new instruction with the new addressing modes that when used with certain instruction provide greater C compiler efficiency.&lt;BR /&gt;It then goes on to say that 10 new codes have been added to the opcode map.&lt;BR /&gt;There are 10 in the table but some of them are not new.&lt;BR /&gt;This lousy document (in Rev. D) fails to even address the new addressing modes and in their scant mention here implies that they only apply to these three instructions which is of course incorrect.&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;HR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;I don't have too much issue with the quoted&amp;nbsp;paragraph&amp;nbsp;from the application note.&amp;nbsp;&amp;nbsp;It explicitly states that they are new &lt;EM&gt;opcodes&lt;/EM&gt;.&amp;nbsp; For the opcodes listed in Table 1, I believe they are all new to HCS09 - I could not find them in the instruction summary for the HC908.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;A&amp;nbsp;possible ambiguity might be the use of the phrase "the original three &lt;EM&gt;instructions&lt;/EM&gt;".&amp;nbsp; Here it becomes slightly clearer if the word &lt;EM&gt;mnemonic&lt;/EM&gt; is substituted for &lt;EM&gt;instruction&lt;/EM&gt;.&amp;nbsp; And we possibly avoid the "splitting of hairs".&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 13:43:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/difference-btwn-the-CPU-clk-and-BUS-clk-HCS908AW32/m-p/198985#M16149</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-03-05T13:43:27Z</dc:date>
    </item>
  </channel>
</rss>

