home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / alt / lang / asm / 511 < prev    next >
Encoding:
Internet Message Format  |  1992-12-22  |  3.8 KB

  1. Xref: sparky alt.lang.asm:511 comp.sys.ibm.pc.hardware:33983
  2. Newsgroups: alt.lang.asm,comp.sys.ibm.pc.hardware
  3. Path: sparky!uunet!utcsri!geac!zooid!kovarski
  4. From: Mark Kovarski <kovarski@zooid.guild.org>
  5. Subject: Re: What's wrong with this?
  6. Organization: ZOOiD BBS
  7. Date: Tue, 22 Dec 1992 16:30:53 GMT
  8. Message-ID: <1992Dec22.163053.7600@zooid.guild.org>
  9. References: <1992Dec15.205835.643@zooid.guild.org> <1h10n7INNqgh@uwm.edu>
  10. Lines: 67
  11.  
  12. markh@csd4.csd.uwm.edu (Mark) writes:
  13. >In article <1992Dec15.205835.643@zooid.guild.org> Mark Kovarski <kovarski@zooid.guild.org> writes:
  14. >>ON BOARD PARITY ERROR                                                          
  15. >>ADDR (HEX) = (xxxx:xxxx)                                                       
  16. >>SYSTEM HALTED.                                                                 
  17. >>                                                                               
  18. >>This apparently appears when the following is run:                             
  19. >>                                                                               
  20. >>mov al,74                                                                      
  21. >>out 43,al                                                                      
  22. >>mov al,ff                                                                      
  23. >>out 41,al                                                                      
  24. >>mov al,ff                                                                      
  25. >>out 41,al                                                                      
  26. >>ret                                                                            
  27. >
  28. >or...
  29. >
  30. >mov al,74   ;;; Timer control <- 74 =
  31. >out 43,al   ;;;  Channel 1(40) + 16 bit load (30) + Mode2 (04) + Binary (00)
  32. >
  33. >mov al,ff
  34. >out 41,al
  35. >mov al,ff
  36. >out 41,al   ;;; Timer1 <- 2^16 - 1 (1/18 second)
  37. >
  38. >ret
  39. >
  40. >oops.  You just set the memory refresh timer to 50,000 microseconds.
  41.  
  42.  
  43. Let me see if I get it right this time...
  44.  
  45. The 8284 supplies the 8253 a 1.19 MHz pulse. Each Interrupt occurs 18.2 times
  46. per second. This comes to 54.92 ms for each Interrupt. This is for a count of
  47. 65,536. If this is the default value that is used, this would mean that it
  48. still wouldn't work. Like some people pointed out, most DRAMS have to be
  49. refreshed every 15 ms, there are some that go up to 160 ms but 15 ms are more
  50. common. So if the 18.2 per second is true and is used as the default, how
  51. does the DRAM in the PC keeps working? Or is there a different value that is
  52. used? Also, according the Intel data book, the largest possible value is not
  53. 0FFh but 00 (2^16) for binary count. For BCD it's 2^14.
  54. Here is an example, please correct if I am wrong:
  55.  
  56. I will take the 1M*1 Motorola DRAM. The array is 1024 rows by 1024 columns,
  57. but electrically it operates like half array of 512 rows by 1024 columns.
  58. During the refresh, every row is treated as if it runs through both halfs of
  59. the array, refreshing 2048 columns (bit cells) per row. The refresh time is
  60. specified as following:
  61.  
  62. 512 Cycles Refresh  MCM511000A = 8 ms
  63.                     MCM51L1000A = 64 ms
  64.  
  65. According to Motorola, the design will allow to refresh the entire array since
  66. only 512 rows need to be accessed instead of 1024. They also specify that the
  67. refresh can occur as a single burst, refreshing the entire array in one "shot"
  68. or the refresh can occur distributed. Hence, if we take this particular DRAM,
  69. 512 rows* 165 ns to refresh each row=84.48 microseconds. Someone pointed out
  70. that when the value 0xFFFF is loaded into 41h, it would take 20 seconds to
  71. refresh one DRAM, could this person (Christian, I believe)  please ellaborate
  72. on this matter? Christian assumed that there were 512 rows, and since there
  73. refresh rate is set at 18.2, did he simply devide 512/18.2=28.13?
  74.  
  75. If someone can provide a fully explained example, I would greatly appreciate
  76. it. Thanks.
  77.  
  78. Mark K.
  79.