Cisc versus risc?

Fory general (or programmer) audiences I would suggest x86 . No matter what language they are familiar with, the same building blocks like for and if or the concept of functions can be easily demonstrated with x86 instructions.

Up vote 4 down vote favorite share g+ share fb share tw.

Pros for RISC, well, you know: cleaner, easier, and so on. Cons for RISC: I would have to use an emulator, few CPUs in market, compared to x86 , and therefore less impact than if I chose a pure RISC CPU like ARM or SPARC. I'm torn, though I am leaning towards x86 and CISC... many pros, cons: not RISC, and all those books like Henessy et al.

And others love RISC! So, in summary: would you choose RISC or CISC (x86)? Thanks.

Cpu cpu-architecture link|improve this question edited Jan 31 '11 at 22:58skaffman114k8136227 asked Jan 31 '11 at 21:04Dervin Thunk3,08911450 89% accept rate.

James: compared to x86. Do you have numbers? Maybe I can make a case using them.

– Dervin Thunk Jan 31 '11 at 21:07 What's the topic of the textbook? For what type of audience/reader? – ChrisW Jan 31 '11 at 21:10 1 Asked 15 years too late.

The days that the internal execution engine architecture had any resemblance to the instruction set are long over. Google "micro-ops". – Hans Passant Jan 31 '11 at 21:21.

Fory general (or programmer) audiences I would suggest x86. No matter what language they are familiar with, the same building blocks like for and if, or the concept of functions can be easily demonstrated with x86 instructions. Asm is abstract enough, it is priceless if they can connect the new knowledge to their existing understanding of programming.

(It may even help them write better quality code). I don't think choosing x86 means that you have to include all the instructions. The next level can be that you intoduce the machine code representation of some ASM structures, but only when they are confortable with their mnemonics first.

Then go with a RISC architecture. All that using x86 will achieve is that the x86 mechanics will obscure whatever point it is you're actually trying to make.

– Dervin Thunk Jan 31 '11 at 21:56 2 @Dervin: The x86 instruction set is horrendously complex. Variable-width instructions alone would serve to obscure any point you would try to make about caching and prefetching, unaligned memory accesses, special-cased instructions, fiendishly complex single instructions, basically a whole lot of cruft that's unnecessary for what you're actually teaching. – Anon.

Jan 31 '11 at 22:03 Thank you. Same question I asjed Blackbear... what do you think my devel environment should be? – Dervin Thunk Jan 31 '11 at 22:14 @Dervin: It really depends on what you're teaching.

I would have presumed that if you're teaching something where hardware specifics are relevant, you'd want to use the relevant assembly language for that section, rather than compiling something down. In which case, you can grab a hardware simulator that can handle textual source files rather than requiring a separate assembling stage. – Anon.

Jan 31 '11 at 22:24.

I prefer RISC, because they have fast and small instructions. They're cheaper than CISCs ones and have many more registers. And some instructions of CISC processors, for example intel's xchg or scas, stos, movs and cmps used with rep are so particular than many compilers never use them, so having them is only a waste of silicon and money.

And, talking about registers, even if RISC processors need more instructions to accomplish what a CISC would do with only one, they have so many registers that (I think) memory is accessed less frequently on a RISC. I'm talking as a CISC "programmer", since I learned on the intel's x86 and sometimes having only 6 general purpose registers available, which are often reduced to 3 or 4 in loops (ecx is gone, with either edi or esi or both), can be very tricky. Although assembly itself tends to hide the true nature of the code, I think (remember I grew with the x86) that the RISC assembly is more difficult to understand due to the larger amount of instruction needed.

– Dervin Thunk Jan 31 '11 at 21:38 @Dervin Thunk: check this question: stackoverflow.com/questions/265846/small... – BlackBear Jan 31 '11 at 21:42 @Dervin Thunk: I've never tried programming on RISC, so I can't suggest you something interesting. But try asking another question here. ;) – BlackBear Jan 31 '11 at 21:46 but see, that's the whole point.

To do "CISC development" (being loose with the terminology I know), I only have to bring up my gcc, and say -masm=intel if I want Intel syntax. What obscures CISC/x86 so much that makes it so unattractive to researchers? Maybe it's the same feeling about Windows vs. Linux in the research community... – Dervin Thunk Jan 31 '11 at 21:55.

If the main requirement for a project is security, not capacity since security often is a tradeoff for capacity, then I propose that the RISC architecture is used. A firewall that for instance uses x86 assembler was known to have a security issue that RISC implementation like SPARC assembler didn't. So the spec for the most secure project could be to use SPARC assembly since it is known to be a secure environment and even if it wasn't known to be a secure environment there are so few people who can program SPARC assembly compared to x86 assembly so the number of attackers who could program a security breach would be less if what a Firewall is running is a RISC architecture.

So I say that if you are talking about a firewall application, then probably it should be a RISC architecture.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions