home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / hard_ref / exe_time / extime.doc
Text File  |  1989-04-05  |  29KB  |  483 lines

  1. 066010000030000132002000000006000
  2. 11
  3. 21
  4. F0110030001
  5. 9[......◆.......................................................................]0110
  6. ÇüINSTRUCTIONEXECUTIONTIMESÇ
  7.  
  8. üD.1INTRODUCTIONÇ
  9.  
  10. ThisAppendixcontainslistingsoftheinstructionexecutiontimesintermsof
  11. externalclock(CLK)periods.Inthisdata,itisassumedthatbothmemoryread
  12. andwritecycletimesarefourclockperiods.Alongermemorycyclewillcause
  13. thegenerationofwaitstateswhichmustbeaddedtothetotalinstructiontime.
  14.  
  15. Thenumberofbusreadandwritecyclesforeachinstructionisalsoincluded
  16. withthetimingdata.Thisdataisenclosedinparantheisisfollowingthenumber
  17. ofclockperiodsandisshownas:(r/w)whereristhenumberofreadcyclesand
  18. wisthenumberofwritecyclesincludedintheclockperiodnumber.Recalling
  19. thateitherareadorwritecyclerequiresfourclockperiods,atimingnumber
  20. as18(3/1)relatesto12clockperiodsforthethreereadcycles,plus4clock
  21. periodsfortheonewritecycle,plus2cyclesrequiredforsomeinternal
  22. functionsoftheprocessor.
  23.  
  24. üNOTEÇ
  25.  
  26. Thenumberofperiodsincludesinstructionfetchandallapplicableoperand
  27. fetchesandstores.
  28.  
  29. üD.2EFFECTIVEADDRESSOPERANDCALCULATIONTIMINGÇ
  30.  
  31. TableD-1liststhenumberofclockperiodsrequiredtocomputean
  32. instruction'seffectiveaddress.Itincludesfetchingofanyextension
  33. words,theaddresscomputation,andfetchingofthememoryoperand.The
  34. numberofbusreadandwritecyclesisshowninparenthesis(r/w).Note
  35. therearenowritecyclesinvolvedinprocessingtheeffectiveaddress.
  36.  
  37. üTableD-1.EffectiveAddressCalculationTimingÇ
  38.  
  39. +-----------------------------------------------------------+---------+--------+
  40. |AddressingMode|Byte/Word|Long|
  41. +------------+----------------------------------------------+---------+--------+
  42. ||Register|||
  43. |Dn|DataRegisterDirect|0(0/0)|0(0/0)|
  44. |An|AddressRegisterDirect|0(0/0)|0(0/0)|
  45. +------------+----------------------------------------------+---------+--------+
  46. ||Memory|||
  47. |An@|AddressRegisterIndirect|4(1/0)|8(2/0)|
  48. |An@+|AddressRegisterIndirectwithPostincrement|4(1/0)|8(2/0)|
  49. +------------+----------------------------------------------+------------------+
  50. |An@-|AddressRegisterIndirectwithPredecrement|6(1/0)|10(2/0)|
  51. |An@(d)|AddressRegisterIndirectwithDisplacement|8(2/0)|12(3/0)|
  52. +------------+----------------------------------------------+------------------+
  53. |An@(d,ix)*|AddressRegisterIndirectwithIndex|10(2/0)|14(3/0)|
  54. |xxx.W|AbsoluteShort|8(2/0)|12(3/0)|
  55. +------------+----------------------------------------------+------------------+
  56. |xxx.L|AbsoluteLong|12(3/0)|16(4/0)|
  57. |PC@(d)|ProgrammCounterwithDisplacement|8(2/0)|12(3/0)|
  58. +------------+----------------------------------------------+------------------+
  59. |PC@(d,ix)*|ProgrammCounterwithIndex|10(2/0)|14(3/0)|
  60. |#xxx|Immediate|4(1/0)|8(2/0)|
  61. +------------+----------------------------------------------+------------------+
  62. *Thesizeoftheindexregister(ix)doesnoraffectexecutiontime
  63. üD.3MOVEINSTRUCTIONCLOCKPERIODSÇ
  64.  
  65. TablesD-2andD-3indicatethenumberofclockperiodsforthemoveinstruc⑨
  66. tion.Thisdataincludesinstructionfetch,operandreads,andoperandwrites.
  67. Thenumberofbusreadandwritecyclesisshowninparenthesisas:(r/w).
  68.  
  69. üTABLED-2.MoveByteandWordInstructionClockPeriodsÇ
  70.  
  71. DnAnAn@An@+An@-An@(d)An@(d,ix)xxx.Wxxx.L
  72. Dn4(1/0)4(1/0)8(1/1)8(1/1)8(1/1)12(2/1)14(2/1)12(2/1)16(3/1)
  73. An4(1/0)4(1/0)8(1/1)8(1/1)8(1/1)12(2/1)14(2/1)12(2/1)16(3/1)
  74. An@8(2/0)8(2/0)12(2/1)12(2/1)12/2/1)16(3/1)18(3/1)16(3/1)20(4/1)
  75. An@+8(2/0)8(2/0)12(2/1)12(2/1)12(2/1)16(3/1)18(3/1)16(3/1)20(4/1)
  76. An@-10(2/0)10(2/0)14(2/1)14(2/1)14(2/1)18(3/1)20(3/1)18(3/1)22(4/1)
  77. An@(d)12(3/0)12(3/0)16(3/1)16(3/1)16(3/1)20(4/1)22(4/1)20(4/1)24(5/1)
  78. An@(d,ix)14(3/0)14(3/0)18(3/1)18(3/1)18(3/1)22(4/1)24(4/1)22(4/1)26(5/1)
  79. xxx.W12(3/0)12(3/0)16(3/1)16(3/1)16(3/1)20(4/1)22(4/1)20(4/1)24(5/1)
  80. xxx.L16(4/0)16(4/0)20(4/1)20(4/1)20(4/1)24(5/1)26(5/1)24(5/1)28(6/1)
  81. PC@(d)12(3/0)12(3/0)16(3/1)16(3/1)16(3/1)20(4/1)22(4/1)20(4/1)24(5/1)
  82. PC@(d,ix)14(3/0)14(3/0)18(3/1)18(3/1)18(3/1)22(4/1)24(4/1)22(4/1)26(5/1)
  83. #xxx8(2/0)8(2/0)12(2/1)12(2/1)12(2/1)16(3/1)18(3/1)16(3/1)20(4/1)
  84. *Thesizeoftheindexregisterdoesnotaffectexecutiontime
  85.  
  86.  
  87. üTABLED-2.MoveLongInstructionClockPeriodsÇ
  88.  
  89. DnAnAn@An@+An@-An@(d)An@(d,ix)xxx.Wxxx.L
  90. Dn4(1/0)4(1/0)12(1/2)12(1/2)14(1/2)16(2/2)18(2/2)16(2/2)20(3/2)
  91. An4(1/0)4(1/0)12(1/2)12(1/2)14(1/2)16(2/2)18(2/2)16(2/2)20(3/1)
  92. An@12(3/0)12(3/0)20(3/2)20(3/2)20/3/2)24(4/2)26(4/2)24(4/2)28(5/2)
  93. An@+12(3/0)12(3/0)20(3/2)20(3/2)20(3/2)24(4/2)26(4/2)24(4/2)28(5/2)
  94. An@-14(3/0)14(3/0)22(3/2)22(3/2)22(3/2)26(4/2)28(4/2)26(4/2)30(5/2)
  95. An@(d)16(4/0)16(4/0)24(4/2)24(4/2)24(4/2)28(5/2)30(5/2)28(5/2)32(6/2)
  96. An@(d,ix)18(4/0)18(4/0)26(4/2)26(4/2)26(4/2)30(5/2)32(5/2)30(5/2)34(6/2)
  97. xxx.W16(4/0)16(4/0)24(4/2)24(4/2)24(4/2)28(5/2)30(5/2)28(5/2)32(6/2)
  98. xxx.L20(5/0)20(5/0)28(5/2)28(5/2)28(5/2)32(6/2)34(6/2)32(6/2)36(7/2)
  99. PC@(d)16(4/0)16(4/0)24(4/2)24(4/2)24(4/2)28(5/2)30(5/2)28(5/2)32(6/2)
  100. PC@(d,ix)18(4/0)18(4/0)26(4/2)26(4/2)26(4/2)30(5/2)32(5/2)30(5/2)34(6/2)
  101. #xxx12(3/0)12(3/0)20(3/2)20(3/2)20(3/2)24(4/2)26(4/2)24(4/2)28(5/2)
  102. *Thesizeoftheindexregisterdoesnotaffectexecutiontime
  103. üD.4STANDARDINSTRUCTIONCLOCKPERIODSÇ
  104.  
  105. ThenumberofclockperiodsshowninTableD-4indicatesthetimerequiuredtoü
  106. Çperformtheoperations,storetheresults,andreadthenextinstruction.The
  107. numberofbusreadandwritecyclesisshowninparenthesisas:(r/w).Thenumber
  108. ofclockperiodsandthenumberofreadandwritecyclesmustbeaddedtothose
  109. oftheeffectiveaddresscalculationwhereindicated.
  110.  
  111. InTableD-4,theheadingshavethefollowingmeanings:An=addressregister
  112. operand,Dn=dataregisteroperand,ea=andoperandspecifiedbyaneffective
  113. address,andM=memoryeffectiveaddressoperand.
  114.  
  115. üTableD-4.StandardInstructionClockPeriodsÇ
  116.  
  117. +-------------+-----------+------------+------------+-----------+
  118. |Instruction|Size|op<ea>,An|op<ea>,Dn|opDn,<M>|
  119. +-------------+-----------+------------+------------+-----------+
  120. ||Byte,Word|8(1/0)+|4(1/0)+|8(1/1)+|
  121. |ADD+-----------+------------+------------+-----------+
  122. ||Long|6(1/0)+**|6(1/0)+**|12(1/2)+|
  123. +-------------+-----------+------------+------------+-----------+
  124. ||Byte,Word|-|4(1/0)+|8(1/1)+|
  125. |AND+-----------+------------+------------+-----------+
  126. ||Long|-|6(1/0)+**|12(1/2)+|
  127. +-------------+-----------+------------+------------+-----------+
  128. ||Byte,Word|6(1/0)+|4(1/0)+|-|
  129. |CMP+-----------+------------+------------+-----------+
  130. ||Long|6(1/0)+|6(1/0)+|-|
  131. +-------------+-----------+------------+------------+-----------+
  132. |DIVS|-|-|158(1/0)+*|-|
  133. +-------------+-----------+------------+------------+-----------+
  134. |DIVU|-|-|140(1/0)+*|-|
  135. +-------------+-----------+------------+------------+-----------+
  136. ||Byte,Word|-|4(1/0)***|8(1/1)+|
  137. |EOR+-----------+------------+------------+-----------+
  138. ||Long|-|8(1/0)***|12(1/2)+|
  139. +-------------+-----------+------------+------------+-----------+
  140. |MULS|-|-|70(1/0)+*|-|
  141. +-------------+-----------+------------+------------+-----------+
  142. |MULU|-|-|70(1/0)+*|-|
  143. +-------------+-----------+------------+------------+-----------+
  144. ||Byte,Word|-|4(1/0)+|8(1/1)+|
  145. |OR+-----------+------------+------------+-----------+
  146. ||Long|-|6(1/0)+**|12(1/1)+|
  147. +-------------+-----------+------------+------------+-----------+
  148. ||Byte,Word|8(1/0)+|4(1/0)+|8(1/1)+|
  149. |SUB+-----------+------------+------------+-----------+
  150. ||Long|6(1/0)+**|6(1/0)+**|12(1/2)+|
  151. +-------------+-----------+------------+------------+-----------+
  152.  
  153. +addeffectiveaddresscalculationtime
  154. *indicatesmaximumvalue
  155. **totalof8clockperiodsforinstructioniftheaddressisregisterdirect
  156. ***onlyavailableeffectiveaddressmodeisdataregisterdirect
  157. üD.5IMMEDIATEINTRUCTIONCLOCKPERIODSÇ
  158.  
  159. ThenumberofclockperiodsshowninTableD-5includesthetimetofetch
  160. immediateoperands,performtheoperations,storetheresults,andreadthenext
  161. operation.Thenumberofbusreadandwritecyclesisshowninparenthesis
  162. as:(r/w).Thenumberofclockperiodsandthenumberofreadandwritecycles
  163. mustbeaddedtothoseoftheeffectiveaddresscalculationwhereindicated.
  164.  
  165. InTableD-5,theheadingshavethefollowingmeanings:#=immediateoperandAn
  166. =addressregisteroperand,Dn=dataregisteroperand,andM=memoryeffective
  167. addressoperand.
  168.  
  169. üTableD-5.ImmediateIntructionClockPeriodsÇ
  170.  
  171. +-------------+-----------+------------+------------+-----------+
  172. |Instruction|Size|op#,Dn|op#,An|op#,M|
  173. +-------------+-----------+------------+------------+-----------+
  174. ||Byte,Word|8(2/0)|-|12(2/1)+|
  175. |ADDI+-----------+------------+------------+-----------+
  176. ||Long|16(3/0)|-|20(3/2)+|
  177. +-------------+-----------+------------+------------+-----------+
  178. ||Byte,Word|4(1/0)|8(1/0)*|8(1/1)+|
  179. |ADDQ+-----------+------------+------------+-----------+
  180. ||Long|8(1/0)|8(1/0)|12(1/2)+|
  181. +-------------+-----------+------------+------------+-----------+
  182. ||Byte,Word|8(2/0)|-|12(2/1)+|
  183. |ANDI+-----------+------------+------------+-----------+
  184. ||Long|16(3/0)|-|20(3/2)+|
  185. +-------------+-----------+------------+------------+-----------+
  186. ||Byte,Word|8(2/0)|8(2/0)|8(2/0)+|
  187. |CMPI+-----------+------------+------------+-----------+
  188. ||Long|14(2/0)|14(3/0)|12(3/0)+|
  189. +-------------+-----------+------------+------------+-----------+
  190. ||Byte,Word|8(2/0)|-|12(2/1)+|
  191. |EORI+-----------+------------+------------+-----------+
  192. ||Long|16(3/0)|-|20(3/2)+|
  193. +-------------+-----------+------------+------------+-----------+
  194. |MOVEQ|Long|4(1/0)|-|-|
  195. +-------------+-----------+------------+------------+-----------+
  196. ||Byte,Word|8(2/0)|-|12(2/1)+|
  197. |ORI+-----------+------------+------------+-----------+
  198. ||Long|16(3/0)|-|20(3/2)+|
  199. +-------------+-----------+------------+------------+-----------+
  200. ||Byte,Word|8(2/0)|-|12(2/1)+|
  201. |SUBI+-----------+------------+------------+-----------+
  202. ||Long|16(3/0)|-|20(3/2)+|
  203. +-------------+-----------+------------+------------+-----------+
  204. ||Byte,Word|4(1/0)|8(1/0)*|8(1/1)+|
  205. |SUBQ+-----------+------------+------------+-----------+
  206. ||Long|8(1/0)|8(1/0)|12(1/2)+|
  207. +-------------+-----------+------------+------------+-----------+
  208.  
  209. +addeffectiveaddresscalculationtime
  210. *wordonly
  211. üD.6SINGLEOPERANDINSTRUCTIONCLOCKPERIODSÇ
  212.  
  213. TableD-6indicatesthenumberofclockperiodsforthesingleoperand
  214. instruction.Thenumberofbusreadandwritecyclesisshowninparenthesis
  215. as:(r/w).Thenumberofclockperiodsandthenumberofreadandwritecycles
  216. mustbeaddedtothoseoftheeffectiveaddresscalculationwhereindicated
  217.  
  218. üTableD-6.SingleOperandInstructionClockPeriodsÇ
  219.  
  220. +-------------+-----------+------------+------------+
  221. |Instruction|Size|Register|Memory|
  222. +-------------+-----------+------------+------------+
  223. ||Byte,Word|4(1/0)|8(1/1)+|
  224. |CLR+-----------+------------+------------+
  225. ||Long|6(1/0)|12(1/2)+|
  226. +-------------+-----------+------------+------------+
  227. |NBCD|Byte|6(1/0)|8(1/1)+|
  228. +-------------+-----------+------------+------------+
  229. ||Byte,Word|4(1/0)|8(1/2)+|
  230. |NEG+-----------+------------+------------+
  231. ||Long|6(1/0)|12(1/2)+|
  232. +-------------+-----------+------------+------------+
  233. ||Byte,Word|4(1/0)|8(1/1)+|
  234. |NEGX+-----------+------------+------------+
  235. ||Long|6(1/0)|12(1/2)+|
  236. +-------------+-----------+------------+------------+
  237. ||Byte,Word|4(1/0)|8(1/1)+|
  238. |NOT+-----------+------------+------------+
  239. ||Long|6(1/0)|12(1/2)+|
  240. +-------------+-----------+------------+------------+
  241. ||Byte,False|4(1/0)|8(1/1)+|
  242. |Scc+-----------+------------+------------+
  243. ||Byte,True|6(1/0)|8(1/1)+|
  244. +-------------+-----------+------------+------------+
  245. |TAS|Byte|4(1/0)|10(1/1)+|
  246. +-------------+-----------+------------+------------+
  247. ||Byte,Word|4(1/0)|4(1/0)+|
  248. |TST+-----------+------------+------------+
  249. ||Long|4(1/0)|4(1/0)+|
  250. +-------------+-----------+------------+------------+
  251.  
  252. +addeffectiveaddresscalculationtime
  253. üD.7SHIFTANDROTATEINSTRUCTIONCLOCKPERIODSÇ
  254.  
  255. TableD-7indicatesthenumberofclockperiodsfortheshiftandrotate
  256. instructions.Thenumberofbusreadandwritecyclesisshowninparenthesis
  257. as:(r/w).Thenumberofclockperiodsandthenumberofreadandwritecycles
  258. mustbeaddedtothoseoftheeffectiveaddresscalculationwhereindicated
  259.  
  260. üTableD-7.ShiftandRotateInstructionClockPeriodsÇ
  261.  
  262. +-------------+-----------+------------+------------+
  263. |Instruction|Size|Register|Memory|
  264. +-------------+-----------+------------+------------+
  265. ||Byte,Word|6+2n(1/0)|8(1/1)+|
  266. |ASR,ASL+-----------+------------+------------+
  267. ||Long|8+2n(1/0)|-|
  268. +-------------+-----------+------------+------------+
  269. ||Byte,Word|6+2n(1/0)|8(1/1)+|
  270. |LSR,LSL+-----------+------------+------------+
  271. ||Long|8+2n(1/0)|-|
  272. +-------------+-----------+------------+------------+
  273. ||Byte,Word|6+2n(1/0)|8(1/1)+|
  274. |ROR,ROL+-----------+------------+------------+
  275. ||Long|8+2n(1/0)|-|
  276. +-------------+-----------+------------+------------+
  277. ||Byte,Word|6+2n(1/0)|8(1/1)+|
  278. |ROXR,ROXL+-----------+------------+------------+
  279. ||Long|8+2n(1/0)|-|
  280. +-------------+-----------+------------+------------+
  281.  
  282. +addeffectiveaddresscalculationtime
  283. nistheshiftcount
  284. üD.8BITMANIPULATIONINSTRUCTIONCLOCKPERIODSÇ
  285.  
  286. TableD-8indicatesthenumberofclockperiodsforthebitmanipulation
  287. instructions.Thenumberofbusreadandwritecyclesisshowninparenthesis
  288. as:(r/w).Thenumberofclockperiodsandthenumberofreadandwritecycles
  289. mustbeaddedtothoseoftheeffectiveaddresscalculationwhereindicated
  290.  
  291. üTableD-8.BitManipulationInstructionClockPeriodsÇ
  292.  
  293. +-------------+-----------+-------------------------+-------------------------+
  294. |||Dynamic|Static|
  295. |Instruction|Size+------------+------------+------------+------------+
  296. |||Register|Memory|Register|Memory|
  297. +-------------+-----------+------------+------------+------------+------------+
  298. ||Byte|-|8(1/1)+|-|12(2/1)+|
  299. |BCHG+-----------+------------+------------+------------+------------+
  300. ||Long|8(1/0)*|-|12(2/0)*|-|
  301. +-------------+-----------+------------+------------+------------+------------+
  302. ||Byte|-|8(1/1)+|-|12(2/1)+|
  303. |BCLR+-----------+------------+------------+------------+------------+
  304. ||Long|10(1/0)*|-|14(2/0)*|-|
  305. +-------------+-----------+------------+------------+------------+------------+
  306. ||Byte|-|8(1/1)+|-|12(2/1)+|
  307. |BSET+-----------+------------+------------+------------+------------+
  308. ||Long|8(1/0)*|-|12(2/0)|-|
  309. +-------------+-----------+------------+------------+------------+------------+
  310. ||Byte|-|8(1/1)+|-|12(2/1)+|
  311. |BTST+-----------+------------+------------+------------+------------+
  312. ||Long|6(1/0)*|-|10(2/0)|-|
  313. +-------------+-----------+------------+------------+------------+------------+
  314. +addeffectiveaddresscalculationtime
  315. *indicatesmaximumvalue
  316. üD.9CONDITIONALINSTRUCTIONCLOCKPERIODSÇ
  317.  
  318. TableD-9indicatesthenumberofclockperiodsfortheconditionalinstruc⑨
  319. tions.Thenumberofbusreadandwritecyclesisshowninparenthesisas:(r/w).
  320. Thenumberofclockperiodsandthenumberofreadandwritecyclesmustbe
  321. addedtothoseoftheeffectiveaddresscalculationwhereindicated.
  322.  
  323. üTableD-9.ConditionalInstructionClockPeriodsÇ
  324.  
  325. +-------------+------------+-------------------------+-------------------------+
  326. |||TraporBranch|TraporBranch|
  327. |Instruction|Displacement|||
  328. |||Taken|notTaken|
  329. +-------------+------------+-------------------------+-------------------------+
  330. ||Byte|10(2/0)|8(1/0)|
  331. |Bcc+------------+-------------------------+-------------------------+
  332. ||Word|10(2/0)|12(2/0)|
  333. +-------------+------------+-------------------------+-------------------------+
  334. ||Byte|10(2/0)|-|
  335. |BRA+------------+-------------------------+-------------------------+
  336. ||Word|10(2/0)|-|
  337. +-------------+------------+-------------------------+-------------------------+
  338. ||Byte|18(2/2)|-|
  339. |BSR+------------+-------------------------+-------------------------+
  340. ||Word|18(2/2)|-|
  341. +-------------+------------+-------------------------+-------------------------+
  342. ||cctrue|-|12(2/0)|
  343. |DBcc+------------+-------------------------+-------------------------+
  344. ||ccfalse|10(2/0)|14(3/0)|
  345. +-------------+------------+-------------------------+-------------------------+
  346. |CHK|-|40(5/3)+*|8(1/0)|
  347. +-------------+------------+-------------------------+-------------------------+
  348. |TRAP|-|34(4/3)|-|
  349. +-------------+------------+-------------------------+-------------------------+
  350. |TRAPV|-|34(5/3)|4(1/0)|
  351. +-------------+------------+-------------------------+-------------------------+
  352.  
  353. +addeffectiveaddresscalculationtime
  354. *indicatesmaximumvalue
  355. üD.10JMP,JSR,LEA,PEA,MOVEMINTRUCTIONCLOCKPERIODSÇ
  356.  
  357. TableD-10indicatesthenumberofclockperiodsrequiredforthejump,jumpto
  358. subroutine,loadeffectiveaddress,pusheffectiveaddress,andmovemultiple
  359. registerinstructions.Thenumberofbusreadandwritecyclesisshowmin
  360. parenthesisas:(r/w).
  361.  
  362. üTableD-10.JMP,JSR,LEA,PEA,MOVEMInstructionClockPeriodsÇ
  363.  
  364. InstSzAn@An@+An@-An@(d)An@(d,ix)xxx.Wxxx.LPC@(d)PC@(d,ix)
  365.  
  366. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  367. JMP-8(2/0)|-|-|10(2/0)|14(2/0)|10(2/0)|12(3/0)|10(2/0)|14(3/0)*
  368. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  369. JSR-16(2/2)|-|-|18(2/2)|22(2/2)|18(2/2)|20(3/2)|18(2/2)|22(3/2)*
  370. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  371. LEA-4(1/0)|-|-|8(2/0)|12(2/0)|8(2/0)|12(3/0)|8(2/0)|12(3/0)*
  372. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  373. PEA-12(1/2)|-|-|16(2/2)|20(2/2)|16(2/2)|20(3/2)|16(2/2)|20(2/2)*
  374. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  375. 12+4n|12+4n|-|16+4n|18+4n|16+4n|20+4n|16+4n|18+4n*
  376. W||||||||
  377. MOVEM(3+n/0)|(3+n/0)|-|(4+n/0)|(4+n/0)|(4+n/0)|(5+n/0)|(4+n/0)|(4+n/0)
  378. ---------+-------+-------+-------+-------+-------+-------+-------+--------
  379. M->R12+8n|12+8n|-|16+8n|18+8n|16+8n|20+8n|16+8n|18+8n*
  380. L||||||||
  381. (3+2n/0|(3+2n/0|-|(4+2n/0|(4+2n/0|(4+2n/0|(5+2n/0|(4+2n/0|(4+2n/0)
  382. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  383. 8+5n|-|8+5n|12+5n|14+5n|12+5n|16+5n|-|-
  384. W||||||||
  385. MOVEM(2/n)|-|(2/n)|(3/n)|(3/n)|(3/n)|(4/n)|-|-
  386. ---------+-------+-------+-------+-------+-------+-------+-------+--------
  387. R->M8+10n|-|8+10n|12+10n|14+10n|12+10n|16+10n|-|-
  388. L||||||||
  389. (2/2n)|-|(2/2n)|(3/2n)|(3/2n)|(2/2n)|(4/2n)|-|-
  390. ---------------+-------+-------+-------+-------+-------+-------+-------+--------
  391.  
  392. nisthenumberofregisterstomove
  393. *thesizeoftheindexregister(ix)doesnotaffecttheinstruction's
  394. executiontime
  395. *Thesizeoftheindexregisterdoesnotaffectexecutiontime
  396. üD.11MULTI-PRECISIONINSTRUCTIONCLOCKPERIODSÇ
  397.  
  398. TableD-11indicatesthenumberofclockperiodsforthemulti-precision
  399. instructions.thenumberofclockperiodsincludesthetimetofetchboth
  400. operands,performtheoperations,storetheresults,andreadthenextinstruc⑨
  401. tions.Thenumberofreadandwritecyclesisshowninparenthesisas:(r/w).
  402.  
  403. InTableD-11,theheadingshavethefollowingmeanings:Dn=dataregister
  404. operandandM=memoryoperand.
  405.  
  406. +-------------+-----------+------------+------------+
  407. |Instruction|Size|Register|Memory|
  408. +-------------+-----------+------------+------------+
  409. ||Byte,Word|4(1/0)|18(3/1)|
  410. |ADDX+-----------+------------+------------+
  411. ||Long|8(1/0)|30(5/2)|
  412. +-------------+-----------+------------+------------+
  413. ||Byte,Word|-|12(3/0)|
  414. |CMPM+-----------+------------+------------+
  415. ||Long|-|20(5/0)|
  416. +-------------+-----------+------------+------------+
  417. ||Byte,Word|4(1/0)|18(3/1)|
  418. |SUBX+-----------+------------+------------+
  419. ||Long|8(1/0)|30(5/3)|
  420. +-------------+-----------+------------+------------+
  421. |ABCD|Byte|6(1/0)|18(3/1)|
  422. +-------------+-----------+------------+------------+
  423. |SBCD|Byte|6(1/0)|18(3/1)|
  424. +-------------+-----------+------------+------------+
  425.  
  426. üD.12MISCELLANEOUSINSTRUCTIONCLOCKPERIODSÇ
  427.  
  428. TablesD-12andD-13indicatethenumberofclockperiodsforthemiscellaneous
  429. instructionslisted.Thenumberofbusreadandwritecyclesisshownin
  430. parenthesisas:(r/w).Thenumberofclockperiodsandthenumberofreadand
  431. writecyclesmustbeaddedtothoseoftheeffectiveaddresscalculationwhere
  432. indicated.
  433.  
  434. +--------------+----------+----------+---+--------------+----------+----------+
  435. |Instruction|Register|Memory||Instruction|Register|Memory|
  436. +--------------+----------+----------++--------------+----------+----------+
  437. |ANDItoCCR|20(3/0)|-||MOVWfromUSP|4(1/0)|-|
  438. |ANDItoSR|20(3/0)|-||NOP|4(1/0)|-|
  439. |EORItoCCR|20(3/0)|-||ORItoCCR|20(3/0)|-|
  440. |EORItoSR|20(3/0)|-||ORItoSR|20(3/0)|-|
  441. |EXG|6(1/0)|-||RESET|132(1/0)|-|
  442. |EXT|4(1/0)|-||RTE|20(5/0)|-|
  443. |LINK|18(2/2)|-||RTR|20(5/0)|-|
  444. |MOVEtoCCR|12(2/0)+|12(2/0)+||RTS|16(4/0)|-|
  445. |MOVEtoSR|12(3/0)+|12(2/0)+||STOP|4(0/0)|-|
  446. |MOVEfromSR|6(1/0)|8(1/1)+||SWAP|4(1/0)|-|
  447. |MOVEtoUSP|4(1/0)|-||UNLK|12(3/0)|-|
  448. +--------------+----------+----------+---+--------------+----------+----------+
  449.  
  450. +addeffectiveaddresscalculationtime
  451.  
  452. +--------------+------+--------------------+--------------------+
  453. |Instruction|Size|Register->Memory|Memory->Register|
  454. +--------------+------+--------------------+--------------------+
  455. |MOVEP|Word|16(2/2)|16(4/0)|
  456. ||Byte|24(2/4)|24(6/0)|
  457. +--------------+------+--------------------+--------------------+
  458. üD.13EXCEPTIONPROCESSINGCLOCKPERIODSÇ
  459.  
  460. TableD-14indicatesthenumberofclockperiodsforexceptionprocessing.The
  461. numberofclockperiodsincludedthetimeforallstacking,vectorfetch,and
  462. thefetchofthefirstinstructionofthehandlerroutine.Thenumberofbus
  463. readandwritecyclesisshowninparenthesisas:(r/w).
  464.  
  465. üTableD-14.ExceptionProcessingClockPeriodsÇ
  466.  
  467. +-----------------------------------+---------+
  468. |Addresserror|50(4/7)|
  469. +-----------------------------------+---------+
  470. |Buserror|50(4/7)|
  471. +-----------------------------------+---------+
  472. |Interrupt|44(5/3)*|
  473. +-----------------------------------+---------+
  474. |IllegalInstruction|34(4/3)|
  475. +-----------------------------------+---------+
  476. |PriviledgedInstruction|34(4/3)|
  477. +-----------------------------------+---------+
  478. |Trace|34(4/3)|
  479. +-----------------------------------+---------+
  480.  
  481. *theinterruptacknowledgebuscycleisassumedtotakefourexternal
  482. clockperiods
  483.