Xref: utzoo comp.arch:6263 comp.edu:1343 Path: utzoo!attcan!uunet!husc6!cmcl2!nrl-cmf!mailrus!utah-gr!utah-cs!sunset.utah.edu!u-dmfloy From: u-dmfloy%sunset.utah.edu@utah-cs.UUCP (Daniel M Floyd) Newsgroups: comp.arch,comp.edu Subject: Why Karnough? (was Re: Computer Organization Text Needed) Message-ID: <5692@utah-cs.UUCP> Date: 5 Sep 88 22:09:25 GMT References: <110@ms3.UUCP> <2930@hubcap.UUCP> <1764@puff.cs.wisc.edu> Sender: news@utah-cs.UUCP Reply-To: u-dmfloy%sunset.utah.edu.UUCP@utah-cs.UUCP (Daniel M Floyd) Organization: University of Utah, Computer Science Dept. Lines: 54 You wrote: > [...stuff...] >Why are Karnough maps important to computer organization? >In fact, why would you want to use Karnough mapping on any digital system? > >Aside from the fact that Karnough maps are really an implementation >technique, I think that they are no longer an apropriate tool for >logic design for any level of hardware. > >I have a bunch of reasons why I think that Karnough maps are a matter of >historical interest only, but before boring you with them I would like to >know if anyone really uses this minimization technique any more. > Yes, someone still uses Karnough maps. I work for Hercules in one of their laboratories. I have to (get to?) do a variety of tasks. I do not design any sophisticated hardware; but once in a great while, I get involved in some sort of low class trigger device (or similar). Usually, there are 2 to 4 inputs (or outputs). Most of these tests are done once, or twice, and that's all. The boss wants it done yesterday (as usual). With K-maps I can get these done as we talk. When I get up to speak, I can look like a hero because it's done. (Amazing what little it takes to impress some folks.) I *could* get them done with other techniques, but I like K-maps for these trivial problems. Anyway, I think here is one "...level of hardware..." design where K-maps are useful and appropriate. As for why '... Karnough maps [are] important to computer organization...', I'd like to answer a more general question: Why is *any* minimization technique important to computer organization? Minimization is a method of optimization. Keep that in mind as you read the next paragraph. I think you'll agree that computers are *not* the result of random thought. Computer organization is not random either. In fact, computer organization is the results of some process whereby design goals are optimized. I'm not saying any machine built was optimal, only that every effort was made to optimize. Consider the famous ENIAC built by the University of Pennsylvania, 1946 (installed 1947 at Aberdeen); or, think about IBMs earlier 1929 Statistical Calculator. Both of these, as well as their contemporaries, were designed for a purpose. The specific techniques are irrelevant. The fact is, these machines were optimized in some fashion to elliminate waste, while providing their respective functions. The results of these and similar optimizations, over the years, has led to the computers we have today (along with their computer organizations). Learning the techniques used in making design decisions, can enhance our understanding of the design itself. With an understanding of previous failures, and sucesses, we're better able to plan the future. This applies to social history, political history, and scientific (design) history. It's sad more people aren't wise enough to apply our 20/20 hind-sight to guide us into the future.