home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!mcsun!Germany.EU.net!nixpbe!uranium!josef
- From: Josef Moellers <mollers.pad@sni.de>
- Subject: Re: CISC Microcode (was Re: RISC Mainframe)
- Sender: josef@nixpbe.sni.de (Moellers)
- Message-ID: <josef.711960222@uranium>
- Date: Fri, 24 Jul 1992 06:43:42 GMT
- References: <9207081402.AA25575@ucbvax.Berkeley.EDU> <GLEW.92Jul12214745@pdx117.intel.com> <BrE09F.4JK@metaflow.com> <1992Jul15.163217.434@urbana.mcd.mot.com> <BrM813.Du5@zoo.toronto.edu>
- Organization: Siemens Nixdorf Info.Sys. AG, Paderborn, Germany
- Lines: 33
-
- In <BrM813.Du5@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes:
-
- >In article <1992Jul15.163217.434@urbana.mcd.mot.com> dfields@urbana.mcd.mot.com writes:
- >>There are several other cases in UNIX and I'm sure other OS's which
- >>are similar. A block move that doesn't trash the cache is of great
- >>use to the OS.
-
- >It's not obvious why you need special instructions for it, however.
- >If I recall correctly, the first MIPS chips had the physical address
- >space in their kernel virtual space *twice*: the second was uncached,
- >specifically so you could do things like bulk data copying without
- >trashing the cache.
-
- Not only "the first MIPS chips", but R2000/R3000/R4000 have two
- "segments" (kseg0 and kseg1), which are "unmapped", i.e. are a 1:1 image
- of the physical address space which is 512 MBytes.
- kseg0 is at virtual addresses 0x80000000 to v.a. 0x9fffffff
- kseg1 is at virtual addresses 0xa0000000 to v.a. 0xbfffffff
- kseg0 is cached, kseg1 is uncached.
- Both "map" to phisical addresses 0x00000000 to 0x1fffffff.
- BTW virtual addresses 0x00000000 to 0x7ffffffff is (mapped, cached) user
- space (kuseg), v.a. 0xc0000000 to 0xffffffff is (mapped, cached) kernel
- space (kseg2/ksseg-kseg3).
-
- IMHO the main reason for having both is
- - to have the cached segment for normal data accesses to/from memory
- - to have the uncached segment for accesses to (among others) I/O
- registers that are memory mapped. Imagine what would happen if You
- continuously polled a cached I/O register B-{)
- --
- | Josef Moellers | c/o Siemens Nixdorf Informationssysteme AG |
- | USA: mollers.pad@sni-usa.com | Abt. STO-XS 113 | Riemekestrasse |
- | !USA: mollers.pad@sni.de | Phone: (+49) 5251 835124 | D-4790 Paderborn |
-