1 Potential Design Improvements for the Acorn Electron
2 ====================================================
3
4 The Acorn Electron was designed to be a variant of the BBC Microcomputer that
5 was intended to be simpler, easier and cheaper to produce whilst retaining a
6 degree of compatibility and offering many of the same features, principally
7 the wide range of graphics modes, BBC BASIC, and extensible hardware and
8 software capabilities. Upon its introduction in late 1981, the BBC Micro
9 competed favourably against its immediate contemporaries, such as the ZX81 and
10 VIC-20, as well as machines introduced slightly later, such as the ZX Spectrum
11 and Commodore 64. By producing a less expensive machine that retained certain
12 key features, the motivation was to bring BBC Micro technology to bear on the
13 lower end of the home computer market, albeit approximately two years after
14 its initial introduction.
15
16 Unfortunately, various features were omitted from the Acorn Electron that made
17 it less competitive than it could have been against a steadily improving range
18 of competitors: multi-channel sound support, MODE 7 teletext, support for
19 relatively smooth horizontal hardware scrolling (and other display control
20 features), and the double-speed bus with interleaved CPU and video access.
21 More RAM would also have been beneficial, although costly at the prices of the
22 day. Such deficiencies outweighed the significant benefits of substantial
23 software compatibility, and some of them effectively curtailed that
24 compatibility by making even reasonably well-written software titles
25 effectively unusable, particularly games relying on the BBC Micro's hardware
26 scrolling capabilities, including "official" Acornsoft titles.
27
28 In hindsight, numerous features could be suggested that would make the
29 Electron more competitive, but many of these features would incur a
30 substantial cost. For example, giving the Electron 64K of RAM would have
31 increased the price substantially. Introducing the double-speed bus and faster
32 memory may also have increased the price in a prohibitive fashion. Thus, it
33 becomes worthwhile to consider minimal alterations to the machine's
34 specification that offer the greatest benefits for the least additional cost.
35
36 Improving System Performance
37 ----------------------------
38
39 The ULA and the CPU share access to the RAM, meaning that when the ULA needs
40 to fill the display, the CPU will either take it in turns with the ULA to
41 access RAM or even relinquish access to the RAM for the entire duration of the
42 visible portion of a display line. However, even outside these periods of
43 contention, it appears that the CPU still only accesses the RAM at 1MHz, even
44 though the RAM can sustain 2MHz access (and indeed does when both the CPU and
45 ULA access it in turns). If the CPU were able to entirely take over the RAM
46 outside display periods (just as the ULA can do) and to access it on every
47 2MHz cycle, performance would be significantly improved: the CPU would be able
48 to do twice as much work in the largest-memory screen modes, for example.
49 Unfortunately, the RAM access mechanism, although supporting 2MHz operation,
50 does not do so in a way that is compatible with the CPU at 2MHz.
51
52 Although RAM is accessed by the CPU at 1MHz, ROM is accessed at 2MHz. Thus,
53 deploying software that runs from ROM can potentially provide significant
54 performance benefits. Since the unexpanded Electron provides no convenient
55 means of installing ROM-based software - the Plus 1 and other expansion units
56 offered ROM cartridge slots, and various expansions provided ROM sockets - the
57 improved Electron would ideally need to offer a ROM cartridge slot as part of
58 the unexpanded machine.
59
60 A side-benefit of adding this feature to the base machine would arguably be an
61 increased demand for cartridge-based software, potentially at a slightly
62 higher price and also offering additional hardware features if necessary, thus
63 making any cost incurred in the manufacture of the base unit more bearable.
64 And in school environments where unexpanded BBC Microcomputers were often used
65 with tapes, the use of ROM cartridges for instant and reliable loading of
66 software would have given the Electron a practical advantage: it would be a
67 cheaper machine that could later be expanded with disk drives (the other main
68 way of providing fast and reliable storage) while still offering a substantial
69 saving over the BBC Micro.
70
71 The Slogger/Elektuur turbo board modified the system to permit the CPU to
72 access the bottom 8K of RAM without interruption by the ULA. This feature,
73 already known at Acorn during the Electron's design period, permitted
74 substantial improvements to performance and could also be incorporated into an
75 improved Electron, although it presumably needs motherboard-level changes.
76 Such turbo boards may have employed an additional RAM chip to avoid
77 complicated changes to the memory access logic, since the ULA appears to
78 access four memory chips at once to provide each byte, and it is therefore not
79 possible to just "borrow" one of the chips in order to isolate 8K of RAM for
80 direct access by the CPU.
81
82 Being able to disable the ULA's access to RAM for a period of time while also
83 disabling the video signal, effectively achieving the same as blanking the
84 palette, would be a very simple but useful enhancement that would speed up
85 programs needing to render large amounts of non-real-time content to the
86 screen. This would also have been beneficial for display expansions connected
87 to the main expansion bus, along the lines of the Jafa MODE 7 adapter, where a
88 peripheral would maintain its own framebuffer by registering writes on the bus
89 to the display memory region.
90
91 Memory Performance and Economic Considerations
92 ----------------------------------------------
93
94 Of course, the economic considerations related to the choice of RAM products
95 could be revisited, reviewing the assumption that the products chosen would
96 have significantly lowered the total production cost. This might indicate that
97 different choices would have been viable. For example, instead of employing
98 1-bit RAM chips in groups of four, perhaps two such groups might have been
99 employed, with the resulting memory architecture being simplified, the
100 performance requirements for the ULA being reduced (perhaps employing 8MHz
101 cycles instead of 16MHz to coordinate signalling, although retaining 16MHz
102 cycles for the MODE 0 pixel clock, potentially reducing power consumption and
103 increasing yield and reliability), and the corresponding component cost
104 increase proving to be less than projections made early in the design process,
105 particularly if slower (and smaller) RAM chips became usable.
106
107 In the document "One of the Most Popular 65,536-Bit (64K) Dynamic RAMs The TMS
108 4164", a note is made of 4164 RAM prices dropping from $25 to $5 per unit in
109 1981. Perhaps the initial pricing influenced the design process, anticipating
110 costs of $100 for 32K of RAM and the need for a reduced number of memory
111 chips. Had the subsequent pricing been noted or anticipated, a decision might
112 have been made to employ eight 64Kbit chips, which would have afforded
113 additional capabilities due to the doubling of RAM (such as shadow memory) for
114 less than half of the originally anticipated memory costs. (Naturally, eight
115 32Kbit memory chips, which might also have exhibited similar price reductions,
116 would potentially have offered the delivered 32K for an even smaller fraction
117 of the anticipated costs, although it is not clear that such 32Kbit devices
118 were widely available.)
119
120 Employing eight 1-bit devices would also have permitted the use of slower
121 parts. The TM4164EC4-15 used in the Electron has a row access time of 150ns
122 and a column access time of 90ns, with two column accesses required per byte.
123 It is conceivable that a 200ns part, potentially with a slower column access
124 time, would have been satisfactory when only a single access is required per
125 byte. This is pertinent when considering the evolution of the pricing of the
126 4164, as seen in contemporary publications such as Personal Computer World
127 where advertisements suggest a declining retail price for the 200ns part:
128
129 June 1982 £4.65 (Happy Memories)
130 August 1982 £4.50 (Opus Supplies)
131 October 1982 £4.20 (Happy Memories, Opus Supplies)
132 February 1983 £3.55 (Happy Memories)
133
134 The 150ns part is reported as costing £4.00 in a Technomatic advertisement in
135 February 1983. It may be the case that UK retail advertising does not
136 illustrate the sudden decline from the initial pricing of the 4164 to its
137 eventual pricing with sufficient availability. However, a general indication
138 of pricing evolution can be glimpsed in a Midwich Computer Company Limited
139 advertisement in November 1981 which appears to feature the Fujitsu MB 8264,
140 rated at 200ns and described as a 64Kbit part, at a unit price of £11.00 in
141 volume.
142
143 US pricing in sources such as Byte magazine may offer a more complete picture.
144 64Kbit dynamic RAM parts are advertised as early as June 1981, with 4164 parts
145 having 250ns row access times being offered as low as $45.00 per chip. The
146 pricing at one vendor - Jameco Electronics - can be tracked over several
147 years:
148
149 150ns 200ns 250ns
150 June 1981 $49.95
151 August 1981 $49.95
152 January 1982 $19.95
153 April 1982 $14.95
154 August 1982 $9.95
155 January 1983 $7.49 $6.87 (multiples of 8)
156 April 1983 $7.49 $6.87 (multiples of 8)
157 October 1983 $7.49 $6.87 (multiples of 8)
158 May 1985 $3.94 $3.74 (multiples of 8)
159 October 1986 $1.25 $1.15
160
161 Volume industry pricing, as opposed to retail pricing, may have been
162 substantially lower still. One source ("High technology international trade
163 and competition") states that mid-1982 prices were $5.50 - $7.00 for 64Kbit
164 parts, but these had fallen to $3.50 - $5.00 by the end of 1982.
165
166 Other contemporary microcomputers offered 64K RAM using 4164 parts, such as
167 the Sony SMC-70 and, more pertinently, the Oric 1 and the Atari 800XL. The
168 latter of these appears to have employed 150ns-rated parts - eight as
169 indicated above - and may have had a broadly similar production cost to the
170 Electron. Meanwhile, the AT&T Unix PC (featured in Byte, May 1985) employed 64
171 4164 parts to provide 512K RAM.
172
173 The Acorn Customer Service manual for dealers, "Information Volume 1",
174 includes Acorn's pricing for memory for the different computers in their
175 respective spares lists. The 4816 for the BBC is quoted at £5.60, and the 4164
176 for the Electron is quoted at £9.37. Acorn might have been trying to make some
177 extra money by supplying dealers, although it would have been in the company's
178 interests to provide a supply of reliable parts instead of encouraging dealers
179 to find cheaper sources, but such prices indicate parts sourced by Acorn at
180 rather uncompetitive price levels.
181
182 http://www.4corn.co.uk/archive/docs/Acorn%20Information%20-%20Volume%201-opt.pdf
183
184 Sinclair used the 32-kilobit TMS4532 part in the ZX Spectrum, this being a
185 64-kilobit device with defects that only permit the use of half of the
186 originally intended capacity. Such parts do seem to have been sold, although
187 not particularly widely. Watford Electronics listed the price of a 4532-3 part
188 in April 1983 as being £3.50.
189
190 Support Components and Economic Considerations
191 ----------------------------------------------
192
193 Aside from the choice of RAM products, the ULA was designed to eliminate
194 various other discrete components from the design, notably the display
195 controller (6845 CRTC) and the sound generator (SN76489) used by the BBC
196 Micro. Pricing information for these parts can also be found in computing
197 magazines. For example, from JDR Microdevices advertisements in Byte magazine:
198
199 6845 SN78469 4164 (150ns)
200 April 1982 $16.95
201 April 1983 $14.95 $8.95 $6.95
202 May 1985 $12.95 $8.95 $2.44
203
204 Thus, the integration performed by the ULA could have saved approximately $24
205 by eliminating these chips and providing supposedly sufficient capabilities
206 itself.
207
208 Considering the need for only 4 RAM chips to provide 32K RAM, so as to be as
209 capable as the BBC Micro (but apparently not more capable), and considering a
210 price of $6.95 for 150ns 4164 RAM from the same vendor, an additional $28
211 could have been saved, yielding savings of up to $52. However, it is likely
212 that greater savings would have been expected, and it remains debatable as to
213 whether the additional complexity, costs and delays would have been worth such
214 ultimately modest savings.
215
216 Indeed, it is worth investigating anticipated costs and savings given the
217 pricing of dynamic RAM at different times:
218
219 4 * 4164 (32K) 8 * 4164 (64K)
220 Retail Volume Retail Volume
221 1981 $200/£100 $400/£199
222 1982/01 $80 /£46 $160/£91
223 1982/04 $60 /£34 $120/£69
224 Mid-1982 $28/£16 $56/£32
225 End-1982 $20/£11 $40/£23
226 1983 $28 /£18 $56 /£37
227 1985 $10 /£8 $20 /£16
228
229 Here, the Wikipedia {{ToUSD|1|GBR|year=...|round=no}} template has been used
230 to generate the following conversion table, used for the UK currency values
231 above:
232
233 1981 $2.01
234 1982 $1.75
235 1983 $1.52
236 1984 $1.33
237 1985 $1.28
238
239 Clearly, the Electron would have been an expensive machine in 1981 had it been
240 designed around 64Kbit dynamic RAM. With early 1982 pricing, the RAM chips
241 would have accounted for a considerable proportion of the machine's cost even
242 with the use of only 4 memory chips, and it is probable that the design
243 strategy may have been informed by the pricing at this time. With 1983
244 pricing, even early in the year, it becomes apparent that the cost savings of
245 using 4 memory chips are becoming much less significant.
246
247 Indeed, combining the cost of 8 memory chips in 1983 with those of the
248 eliminated chips yields costs as much as or less than the 4-chip product at
249 the start of 1982:
250
251 Components Total
252 8 * 4164 (64K) $56
253 SN76489 + $9 = $65
254 6845 + $15 = $80
255
256 Naturally, the board layout would be more complicated with more chips on the
257 board and this would increase costs somewhat. Given the role of the ULA in
258 generating a video signal and the generally robust pricing of the 6845, there
259 would certainly be a real motivation to eliminate the part from the design.
260
261 In other words, anticipating lower memory pricing, designing for 8-bit access
262 to 8 RAM chips, and incorporating eliminated support chips would have resulted
263 in the same product cost outcome as that originally envisaged, but with the
264 ultimate benefit of a more capable computer with twice the RAM and improved
265 sound (and perhaps display) capabilities.
266
267 Improving Display Capabilities
268 ------------------------------
269
270 Perhaps the simplest improvement to the display capabilities would be to
271 permit the RGB output levels to hold intermediate values between the current
272 high and low states, presumably enforced by various circuits. This would
273 permit the choice of colours beyond the primary and secondary colour selection
274 at a cost of some extra palette bits in the ULA and an adjustment to the board
275 circuitry and would only benefit UHF and colour composite video displays, but
276 the latter limitation might not be a significant issue for the majority of the
277 intended audience.
278
279 Supporting Local Area Networking
280 --------------------------------
281
282 The Electron was mostly aimed at the home market, but a cheaper computer would
283 have been very attractive for schools, especially those wanting to purchase a
284 number of machines for networking. Having an option available in the standard
285 Electron would have given such customers a cheap Econet terminal, albeit
286 without the MODE 7 capabilities of the BBC, whilst ignoring the requirement of
287 reliable, fast storage that standalone machines need to have in such
288 environments. With content available on demand over the network, the need for
289 low-memory screen mode usage - in order to retain as much content in memory as
290 possible - would also be diminished.
291
292 Simplifying the ULA
293 -------------------
294
295 An apparent motivation in the design of the Electron was to reduce the chip
296 count. However, this then requires that the ULA perform a range of different
297 roles. Some roles, such as handling cassette input and output, might have been
298 natural for the ULA given Acorn's previous designs, but others, such as
299 generating sound, arguably demand the integration of a lot of additional
300 functionality unless the capabilities are significantly reduced. Obviously, in
301 the Electron, the sound capabilities were reduced to a point where they were
302 considered a weakness of the machine.
303
304 The design of the Commodore Plus/4 also sought to increase integration -
305 combining the sound and video chips in that case - but this was arguably more
306 feasible given the fabrication technology available within Commodore.
307 Meanwhile, Acorn might have been better off retaining a separate sound chip
308 and designing the ULA to interface with it instead.
309
310 About this Document
311 -------------------
312
313 The most recent version of this document and accompanying distribution should
314 be available from the following location:
315
316 http://hgweb.boddie.org.uk/ULA
317
318 Copyright and licence information can be found in the docs directory of this
319 distribution - see docs/COPYING.txt for more information.