6 ms·
CPU of the Day: Motorola MC68040VL
- Someone 7y ago”It has dual MMUs” What are dual MMUs good for? One for kernel code and one for user-mode code? (Does that mean less cache flushing during context switches?)
- jacobush 7y agoGuessing it's neat for I/O?
- wmf 7y agoI wonder if this is what we would call split TLB today: one for instructions and one for data.
- jaak 7y agoThis is correct. It had one MMU for instructions and one for data.
- tralarpa 7y agoThe two MMUs use the same page table. There is only one page table root pointer (actually two: one for user mode and one for kernel mode). But there are two translation caches for code and data (usually called TLB; called ATC in the 68040). However, there are separate configuration registers for code and data address space that can be used to define which parts of the virtual address space should be translated and which parts are directly mapped to physical addresses without translation. Therefore, strictly spoken, the instruction address space is not necessarily identical to the data address space, despite having only one page table.
- tralarpa 7y agoBy the way, the possible difference between instruction and data address space can have interesting effects. Amiga programmers, do you remember the (bad) habit of putting data fields directly into the code? Like this fragment: ... jsr OpenLibrary(a6) move.l d0, gfxbase rts gfxbase dc.l 0 Imagine now what could happen in the above move.l instruction if the address "gfxbase" is translated differently from the addresses of the instructions :)
- immigrantsheep 7y agoOoh good times :)
- Koshkin 7y ago> [microcoding] is common in processors today and allows greater flexibility Microprogramming was already widespread since the 1960s. The early microprocessors, such as MOS Technology’s 6502, too, used microcode (in its “hardwired” form).
- jonsen 7y agoIn a way everything is microcoded. The 6502 was hardly microcoded in the general meaning of microcode: “An alternate approach, used in many microprocessors, is to use PLAs or ROMs (instead of combinational logic) mainly for instruction decoding, and let a simple state machine (without much, or any, microcode) do most of the sequencing. The MOS Technology 6502 is an example of a microprocessor using a PLA for instruction decode and sequencing.”: https://en.m.wikipedia.org/wiki/Microcode https://en.m.wikipedia.org/wiki/Microcode
- monocasa 7y agoHaving written microcode, and with the gate level information we have on the 6502 now, I can totally tell you that it's microcode. Some people get confused for some reason if they've only been exposed to vertical microcode.
- userbinator 7y agoIf a 6(?)-state PLA counts as microcode, what CPU isn't microcoded?
- kmill 7y agoProbably unpipelined RISC designs with exclusively single-cycle instructions. The instruction decoder just consists of setting a bunch of multiplexers to the right states for that instruction. The distinction might be whether the instruction breaks up into a sequence of discrete internal operations. Implementing this as a hardwired state machine is an optimization.
- monocasa 7y ago
- tyingq 7y agoThe time period is very interesting to me. The 680x0 story is pretty well documented, but their 88k chips + MVME [1] were also popular in specialized devices like firewalls. There was a time when Motorola was kicking Intel's butt in specialized areas. [1] https://en.wikipedia.org/wiki/Motorola_88000 https://en.wikipedia.org/wiki/Motorola_88000
- pavlov 7y agoMotorola was even kicking ass in PCs, although you had to be selective with benchmarks to show an advantage over Intel Pentiums. When Steve Jobs came back to Apple, he sanctioned a marketing campaign emphasizing the performance of the Motorola PowerPC G3, with Intel chips pictured on the back of snails.
- amatecha 7y agoOne of the ads: https://www.youtube.com/watch?v=jqMruSb_SuE https://www.youtube.com/watch?v=jqMruSb_SuE :)
- rasz 7y agoLets not forget "the world's fastest personal computer" https://www.businessinsider.com/the-20-most-sexy-violent-and-offensive-ads-that-have-been-banned-in-the-uk-2012-2 https://www.businessinsider.com/the-20-most-sexy-violent-and... 'The ASA has banned two separate Apple commercials from airing in the UK. In 2004 the Power Mac G5 made unsubstantiated claims of being "the world's fastest personal computer" and in 2008, an iPhone commercial was banned for saying that it could access "all of the internet" even though it couldn't support Flash.'
- claudiawerner 7y ago>in 2008, an iPhone commercial was banned for saying that it could access "all of the internet" even though it couldn't support Flash.' So, not even "all of the web", never mind "all of the Internet", which Apple still doesn't support.
- classichasclass 7y agoHere's an MCF5102 based system, the Alpha Micro Eagle 450. Alpha Micro used the MCF5102 in their ColdFire-based systems for its '040 backwards compatibility. http://ampm.floodgap.com/www/e450.htm http://ampm.floodgap.com/www/e450.htm
- watersb 7y agoBig fan of your work. Once I get my desk rebuilt I will fire up my PowerPC collection again.
- cmrdporcupine 7y agoThere's an over $5000 bounty for someone to rewrite the GCC backend for the 68k/ColdFire so it can be kept and maintained going forward for newer versions. https://www.bountysource.com/issues/80706251-m68k-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases https://www.bountysource.com/issues/80706251-m68k-convert-th...