|
Prev: The Mark Thorson FAQ: Read all about this LIAR, BULLY, THUG, CYBERSTALKER and HARASSER
Next: The Mark Robert Thorson FAQ: Read all about this LIAR, BULLY, THUG, CYBERSTALKER and HARASSER
From: Quadibloc on 10 Apr 2008 17:20 On Apr 10, 10:56 am, n...(a)cus.cam.ac.uk (Nick Maclaren) wrote: > But to say that horizontal microcode and the control processors > that used what-was-later-to-be-called-VLIW instruction sets were not > VLIW because the term hadn't been coined by then is the the sort of > terminological politics with which I will have no truck. If the term > VLIW means anything useful in computer architecture, those were VLIW. I am sympathetic with that point of view, since obviously language is meant to be a useful instrument of communication. But if the things called VLIW really were architecturally different in significant ways from their predecessors, then it would make sense to draw the distinction. And if that which was called VLIW was introduced for a specific reason, noting that fact is valid from a historical perspective. Disentangling the historical perspective from the engineering perspective can be challenging at times, I will admit. John Savard
From: Ripunjay Tripathi on 11 Apr 2008 04:46 On Apr 9, 11:28 pm, Quadibloc <jsav...(a)ecn.ab.ca> wrote: > On Apr 8, 12:45 pm, Ripunjay Tripathi <ripunjay.tripa...(a)gmail.com> > wrote: > > > Different Implementations of the same VLIW architecture may not be > > binary-compatible with each other. > > > I am looking for explaination on the above line. > > I guess they mean something different by "the same architecture" than > people usually do when talking about computers. So, to know what that > line meant, one would have to know the context - in the book where you > read that sentence, what meaning did they give to an architecture? > > Was it a specific kind of machine, like "an IBM 360" or "a 386- > compatible microprocessor", or was it more general, for example, "a > parallel machine", "NUMA", "decoupled microarchitecture", and so on. > Different implementations of the Von Neumann "architecture" certainly > exist that are not binary-compatible. > > So I can't give you an answer, since I'm not looking at the book you > saw that line in. > > John Savard VLIW has fixed length instructions- tightly coupled to hardware resources - In case the hardaware resources exceed in number as asked in the instruction, even if the basic VLIW architecture is same the program will not work. Am I right ?? Even I dont think this number of resources (FUs) are open to programmer. So the architecture may be same but pragram will not work. Regards, Ripunjay Tripathi
From: Quadibloc on 11 Apr 2008 15:40 On Apr 11, 2:46 am, Ripunjay Tripathi <ripunjay.tripa...(a)gmail.com> wrote: > VLIW has fixed length instructions- tightly coupled to hardware > resources - In case the hardaware resources exceed in number as asked > in the instruction, even if the basic VLIW architecture is same the > program will not work. > Am I right ?? > > Even I dont think this number of resources (FUs) are open to > programmer. So the architecture may be same but pragram will not work. The problem comes if the instruction asks for more instructions than the hardware has, so if the resources change from one chip or machine to another, the instruction format has to change from one machine to the other. But I think that you did know that, even if you phrased it backwards. John Savard
From: already5chosen on 12 Apr 2008 13:23 On Apr 10, 1:46 pm, "HT-Lab" <han...(a)ht-lab.com> wrote: > "Erik Trulsson" <ertr1...(a)student.uu.se> wrote in message > > news:47fd4e18(a)news.midgard.homeip.net... > > > > > Ripunjay Tripathi <ripunjay.tripa...(a)gmail.com> wrote: > >> Different Implementations of the same VLIW architecture may not be > >> binary-compatible with each other. > > >> I am looking for explaination on the above line. > > > There is nothing special about VLIW in that regard (depending slightly on > > exactly which definition of 'architecture' and 'binary-compatible' you > > are using.) > > > (Exercise 1: Define exectly what you mean by 'architecture') > > > (Exercise 2: Write a small program which will behave differently > > depending > > on if it is running on an Intel 8086 or an 8088. > > can this be done, and if so how? > > Thanks, > Hanswww.ht-lab.com > First hint: look at the size of instruction queue.
From: HT-Lab on 12 Apr 2008 14:06
<already5chosen(a)yahoo.com> wrote in message news:e67ecb39-0ecd-49a8-802a-0df4834db1fc(a)f63g2000hsf.googlegroups.com... >> > (Exercise 2: Write a small program which will behave differently >> > depending >> > on if it is running on an Intel 8086 or an 8088. >> >> can this be done, and if so how? >> >> Thanks, >> Hanswww.ht-lab.com >> > > First hint: look at the size of instruction queue. Found it thanks, Hans www.ht-lab.com ; Is It an 8086? ; Returns ax==0 for 8088, ax==1 for 8086 ; Code takes advantage of the 8088's 4-byte prefetch queues and 8086's ; 6-byte prefetch queues. By self-modifying the code at a location exactly 5 ; bytes away from IP, and determining if the modification took effect, ; you can differentiate between 8088s and 8086s. IsItAn8086 proc mov ax,cs ; es == code segment mov es,ax std ; Cause stosb to count backwards mov dx,1 ; dx is flag and we'll start at 1 mov di,OFFSET EndLabel ; di==offset of code tail to modify mov al,090h ; al==nop instruction opcode mov cx,3 ; Set for 3 repetitions REP stosb ; Store the bytes cld ; Clear the direction flag nop ; Three nops in a row nop ; provide dummy instructions nop dec dx ; Decrement flag (only with 8088) nop ; dummy instruction--6 bytes EndLabel: nop mov ax,dx ; Store the flag in ax ret ; Back to caller IsItAn8086 endp |