System Programming Resources for Alpha Architecture
Does anyone know of any good resources for System Programming / OS
Development / OS Porting to Alpha Architecture? Books, ebooks, or
sites online would be a big help. Thanks in advance!
James T. Sprinkle (The Grue)
[url]http://www.myspace.com/jamestsprinkle[/url]
Re: System Programming Resources for Alpha Architecture
<The-Grue@hotmail.com> wrote in message
news:9401833e-f8d0-4c00-a7f7-82e0b81dc840@p25g2000hsf.googlegroups.com...[color=blue]
> Does anyone know of any good resources for System Programming / OS
> Development / OS Porting to Alpha Architecture? Books, ebooks, or
> sites online would be a big help. Thanks in advance!
>
> James T. Sprinkle (The Grue)
> [url]http://www.myspace.com/jamestsprinkle[/url][/color]
It seems like an odd time to be asking, given that the architecture is
"mature", but hey...
For starters, try the "Alpha Architecture Handbook". It's around four
hundred pages, freely available in various versions in various places, e.g.
[url]http://www.comms.scitech.susx.ac.uk/fft/programming/alphaahb.pdf[/url] is a
Compaq-badged fourth edition.
It's mostly a subset of the Alpha Architecture Reference Manual, which is
around a thousand pages of commercial book, not as far as I know
legitimately downloadable (though chunks are on Google Books). It should
still be available new from bookstores but won't be cheap; 2nd hand will be
more affordable, and you may not need it anyway - depending on what you are
up to, the handbook covers a lot.
These things define the architecture. Then there are various generations of
CPU chips which implement the architecture, and various generations of
support chips which connect the CPU chips to the outside world (PCI and the
like). The chips usually come with their own documentation, which might or
might not be of interest depending on your plans. Documentation for chips
used to live at
[url]http://ftp.digital.com/pub/Digital/info/semiconductor/literature/[/url] but I
think that's gone (it's not there right now), and I don't know of any
official replacements which still work (there were some, they're gone too).
Fortunately various Alpha technical bits from there and elsewhere are
squirreled in various places around the Internerd, e.g.
[url]http://farrer.net/~rbf/files/docs/Alpha/[/url]
There are other technical resources too. The Digital Technical Journal will
have shorter articles on specific topics which may be of interest; an index
is at [url]http://www.hpl.hp.com/hpjournal/dtj/past.htm[/url] but sadly the index has
been rather poorly webified. There are Alpha-related articles in various
issues, you just have to (tediously) find relevant ones (e.g. Volume 6
Number 1 from 1994 has some early Alpha PC stuff in it, and there is later
stuff too).
The linux-alpha community has a lot of material online which talks about
implementing a commodity OS on commodity Alpha hardware (or as close to
"commodity" as Alpha got, which was technically quite close in many ways);
there's some BSD stuff too.
Have a look around, come back with the next set of questions.
Hope this helps,
John
Re: System Programming Resources for Alpha Architecture
On Thu, 27 Mar 2008 12:02:00 -0700, <The-Grue@hotmail.com> wrote:
[color=blue]
> Does anyone know of any good resources for System Programming / OS
> Development / OS Porting to Alpha Architecture? Books, ebooks, or
> sites online would be a big help. Thanks in advance!
>
> James T. Sprinkle (The Grue)
> [url]http://www.myspace.com/jamestsprinkle[/url][/color]
PL/I is a great systems programmimng language and there a number of
examples on [url]http://www.kednos.com/[/url] click on the link to Examples
--
PL/I for OpenVMS
[url]www.kednos.com[/url]
Re: System Programming Resources for Alpha Architecture
On Mar 27, 3:02*pm, The-G...@hotmail.com wrote:[color=blue]
> Does anyone know of any good resources for System Programming / OS
> Development / OS Porting to Alpha Architecture? *Books, ebooks, or
> sites online would be a big help. *Thanks in advance!
>
> James T. Sprinkle (The Grue)[url]http://www.myspace.com/jamestsprinkle[/url][/color]
I'm not sure what you are trying to do, but I've found that it is not
a good idea to get too machine specific. Properly written VAX
applications will almost always compile and run on Alpha and Itanium.
Having said that, look at these two books.
[url]http://www.theminimumyouneedtoknow.com/openvms_application_developer_book.html[/url]
"Writing VAX/VMS Applications Using Pascal" which is out of print but
can sometimes be found a used bookseller sites like [url]www.bookfinder.com[/url]
Neil Rieck
Kitchener/Waterloo/Cambridge,
Ontario, Canada.
[url]http://www3.sympatico.ca/n.rieck/links/openvms_demos.html[/url]
[url]http://www3.sympatico.ca/n.rieck/docs/alpha_diary.html[/url] (porting info)
[url]http://www3.sympatico.ca/n.rieck/docs/hacking_OpenVMS_starlet.html[/url]
[url]http://www3.sympatico.ca/n.rieck/links/cool_openvms.html[/url]
Re: System Programming Resources for Alpha Architecture
In article
<f9d866e9-0876-40c3-ac1e-1c74220d1914@k13g2000hse.googlegroups.com>,
Neil Rieck <n.rieck@sympatico.ca> writes:
[color=blue]
> On Mar 27, 3:02=A0pm, The-G...@hotmail.com wrote:[color=green]
> > Does anyone know of any good resources for System Programming / OS
> > Development / OS Porting to Alpha Architecture? =A0Books, ebooks, or
> > sites online would be a big help. =A0Thanks in advance!
> >
> > James T. Sprinkle (The Grue)[url]http://www.myspace.com/jamestsprinkle[/url][/color]
>
> I'm not sure what you are trying to do, but I've found that it is not
> a good idea to get too machine specific. Properly written VAX
> applications will almost always compile and run on Alpha and Itanium.[/color]
Indeed. However, if he needs to "port", then he probably has an
application which is NOT written properly, i.e. contains assumptions
which are valid for VAX but not for ALPHA. Often sticking to the
language standard will solve some of these problems, but having the
compiler flag non-standard stuff which might be dangerous (when the code
runs on another platform) will also flag non-standard stuff which might
be required (e.g. DEC-specific extensions).
Re: System Programming Resources for Alpha Architecture
Phillip Helbig---remove CLOTHES to reply wrote:
[color=blue]
> Indeed. However, if he needs to "port", then he probably has an
> application which is NOT written properly, i.e. contains assumptions
> which are valid for VAX but not for ALPHA.[/color]
Or perhaps the original poster had meant porting something from Unix on
8086 or other platform to VMS on Alpha.
the answer to the above question would be:
[url]http://www.hp.com/go/vms/doc[/url] and then look for the VMS (they use the
term OpenVMS at HP because they dropped the trademark for "VMS") System
Services manual.
There is also the run time library, you will want a look at the LIB$
routines.
There is also a VMS programming concepts manual (does it still exist)
which explains many of the constructs used by VMS (time formats, the
string descriptors, item lists etc etc)
Re: System Programming Resources for Alpha Architecture
On Sat, 29 Mar 2008, Neil Rieck wrote:
[color=blue][color=green]
> > Does anyone know of any good resources for System Programming / OS
> > Development / OS Porting to Alpha Architecture? *Books, ebooks, or
> > sites online would be a big help. *Thanks in advance!
> >
> > James T. Sprinkle (The Grue)[url]http://www.myspace.com/jamestsprinkle[/url][/color]
>
> I'm not sure what you are trying to do, but I've found that it is not
> a good idea to get too machine specific. Properly written VAX
> applications will almost always compile and run on Alpha and Itanium.[/color]
Well, I think "System Programming / OS Development / OS Porting" makes it
pretty much clear it is not application programming that is in question
here. I have yet to see an operating system that does not require any
platform-specific code, including handwritten assembly. And then even
higher-level language OS code may require knowledge of processor-specific
details, like architecture of the register file or the TLB. Resources
mentioned elsewhere in this thread should be good enough though.
Maciej
Re: System Programming Resources for Alpha Architecture
"Maciej W. Rozycki" <macro@linux-mips.org> wrote in message
news:alpine.SOC.1.00.0803300006500.26418@piorun...
[color=blue]
> Well, I think "System Programming / OS Development / OS Porting" makes it
>pretty much clear it is not application programming that is in question
>here. I have yet to see an operating system that does not require any
>platform-specific code, including handwritten assembly. And then even
>higher-level language OS code may require knowledge of processor-specific
>details, like architecture of the register file or the TLB. Resources
>mentioned elsewhere in this thread should be good enough though.[/color]
[color=blue]
> Maciej[/color]
Quite. You and I might think that but for some reason we seem to be in a
minority here. Some clarification from the original contributor would be
welcome in due course, but in the absence of that, his reference to Minix on
his Myspace page gives a possible hint that perhaps we're not necessarily
looking at traditional application porting here...
Re: System Programming Resources for Alpha Architecture
On Mar 30, 3:26*am, "John Wallace" <johnwalla...@yahoo.spam.co.uk>
wrote:[color=blue]
> "Maciej W. Rozycki" <ma...@linux-mips.org> wrote in messagenews:alpine.SOC..1.00.0803300006500.26418@piorun...
>[color=green]
> > Well, I think "System Programming / OS Development / OS Porting" makes it
> >pretty much clear it is not application programming that is in question
> >here. *I have yet to see an operating system that does not require any
> >platform-specific code, including handwritten assembly. *And then even
> >higher-level language OS code may require knowledge of processor-specific
> >details, like architecture of the register file or the TLB. *Resources
> >mentioned elsewhere in this thread should be good enough though.[/color]
>
> *> Maciej
>
> Quite. You and I might think that but for some reason we seem to be in a
> minority here. Some clarification from the original contributor would be
> welcome in due course, but in the absence of that, his reference to Minix on
> his Myspace page gives a possible hint that perhaps we're not necessarily
> looking at traditional application porting here...[/color]
Hi! Thanks for all of the replies. I was looking at porting Minix to
another platform for my Master's project. I guess I should have
stated that up front as some folks went off on the application porting
tangent. I am looking into the links and resources that some of you
posted. I have several choices of platform and a bit of time to make
the decision, so nothing is firm about Alpha yet or even if an OS port
would be an acceptable project. <shrug> Thanks again!
James T. Sprinkle (The Grue)
[url]http://www.myspace.com/jamestsprinkle[/url]
Re: System Programming Resources for Alpha Architecture
On Mar 31, 9:47 pm, The-G...@hotmail.com wrote:[color=blue]
> On Mar 30, 3:26 am, "John Wallace" <johnwalla...@yahoo.spam.co.uk>
> wrote:
>
>
>[color=green]
> > "Maciej W. Rozycki" <ma...@linux-mips.org> wrote in messagenews:alpine.SOC.1.00.0803300006500.26418@piorun...[/color]
>[color=green][color=darkred]
> > > Well, I think "System Programming / OS Development / OS Porting" makes it
> > >pretty much clear it is not application programming that is in question
> > >here. I have yet to see an operating system that does not require any
> > >platform-specific code, including handwritten assembly. And then even
> > >higher-level language OS code may require knowledge of processor-specific
> > >details, like architecture of the register file or the TLB. Resources
> > >mentioned elsewhere in this thread should be good enough though.[/color][/color]
>[color=green][color=darkred]
> > > Maciej[/color][/color]
>[color=green]
> > Quite. You and I might think that but for some reason we seem to be in a
> > minority here. Some clarification from the original contributor would be
> > welcome in due course, but in the absence of that, his reference to Minix on
> > his Myspace page gives a possible hint that perhaps we're not necessarily
> > looking at traditional application porting here...[/color]
>
> Hi! Thanks for all of the replies. I was looking at porting Minix to
> another platform for my Master's project. I guess I should have
> stated that up front as some folks went off on the application porting
> tangent. I am looking into the links and resources that some of you
> posted. I have several choices of platform and a bit of time to make
> the decision, so nothing is firm about Alpha yet or even if an OS port
> would be an acceptable project. <shrug> Thanks again!
>
> James T. Sprinkle (The Grue)[url]http://www.myspace.com/jamestsprinkle[/url][/color]
Thanks for the update. Now I know what you're potentially up to, I can
fill in some accidental omissions from my first reply, apologies if
the gapfilling is now unnecessary, and good luck with the Minix->Alpha
port if you do go ahead!
I mentioned chips without going into enough detail for you to
reasonably easily find more info; it's out there, but you may need a
few pointers.
The first commercially available Alpha chip was the 21064 aka EV4. The
next generation was the 21164 aka EV5, then 21264 aka EV6. The support
chips had a similar numbering sequence - 21071, 21171, etc - the
support chips might not be of interest to you if you are prepared to
"be inspired by" code from BSD or Linux rather than work out from
hardware docs.
These chips were available on the "commodity" semiconductor market and
have the level of published documentation required for someone
building systems at that level. You can find many of the relevant
earlier docs at [url]ftp://ftp.netbsd.org/pub/NetBSD/misc/dec-docs/index.html[/url]
- unfortunately, later ones (eg for EV6/21264) will take a bit more
finding if you're interested (which you may not be, as these didn't
really hit what might be called the "commodity" market in any
worthwhile manner, even though it would have been technically quite
possible, as anyone who's seen the innards of a DS10 will know).
A 30-page April 2000 Compaq-badged technical overview of EV6 and EV6-
based systems ("Exploring Alpha Power For Technical Computing") can be
found at [url]http://www.cs.virginia.edu/~dp8x/alpha21264/overview/wp_alpha_tech_apr00.pdf[/url]
There are/were more recent Alpha chips (EV7, and a bit of EV8) but
they're probably not all that relevant to your exercise and didn't
come with the same level of published hardware documentation.
One other that you might want to look at depending on your interests
is DIGITAL's 1999 "Alpha vs IA64 performance and parallelism"
whitepaper which offers an interesting comparison of performance based
on out of order execution on Alpha (and as still used by today's x86/
AMD64) vs performance based on EPIC/VLIW on IA64. Obviously it's no
longer available from DEC/CPQ/HP, but it's still out there on the
Interweb, e.g. at [url]http://www.cs.trinity.edu/~mlewis/CSCI3294-F01/Papers/alpha_ia64.pdf[/url]
(and hopefully elsewhere).
Have fun with the project anyway,
John
Re: System Programming Resources for Alpha Architecture
On Mar 27, 11:08 pm, "John Wallace" <johnwalla...@yahoo.spam.co.uk>
wrote:[color=blue]
> These things define the architecture. Then there are various generations of
> CPU chips which implement the architecture, and various generations of
> support chips which connect the CPU chips to the outside world (PCI and the
> like). The chips usually come with their own documentation, which might or
> might not be of interest depending on your plans. Documentation for chips
> used to live at [url]http://ftp.digital.com/pub/Digital/info/semiconductor/literature/[/url] but I
> think that's gone (it's not there right now), and I don't know of any
> official replacements which still work (there were some, they're gone too).[/color]
Try the Wayback Machine...
[url]http://web.archive.org/web/20070317053600/http://ftp.digital.com/pub/Digital/info/semiconductor/literature/[/url]
Cheers!
Keith
Re: System Programming Resources for Alpha Architecture
On Apr 1, 7:29 am, Keith Cayemberg <keith.cayemb...@arcor.de> wrote:[color=blue]
> On Mar 27, 11:08 pm, "John Wallace" <johnwalla...@yahoo.spam.co.uk>
> wrote:
>[color=green]
> > These things define the architecture. Then there are various generations of
> > CPU chips which implement the architecture, and various generations of
> > support chips which connect the CPU chips to the outside world (PCI and the
> > like). The chips usually come with their own documentation, which might or
> > might not be of interest depending on your plans. Documentation for chips
> > used to live athttp://ftp.digital.com/pub/Digital/info/semiconductor/literature/but I
> > think that's gone (it's not there right now), and I don't know of any
> > official replacements which still work (there were some, they're gone too).[/color]
>
> Try the Wayback Machine...[url]http://web.archive.org/web/20070317053600/http://ftp.digital.com/pub/[/url]...
>
> Cheers!
>
> Keith[/color]
I've made a nice little collection of alpha programming related links
on my site: [url]http://mattst88.com/?page=links#alpha[/url]
Hope you find them useful.
Re: System Programming Resources for Alpha Architecture
On Sat, 05 Apr 2008 20:59:43 -0700, <mattst88@gmail.com> wrote:
[color=blue]
> I've made a nice little collection of alpha programming related links
> on my site: [url]http://mattst88.com/?page=links#alpha[/url]
> Hope you find them useful.[/color]
In the VMS world SDL was something useful. Why are you posting this here?
--
PL/I for OpenVMS
[url]www.kednos.com[/url]
Re: System Programming Resources for Alpha Architecture
On Apr 6, 12:54 am, "Tom Linden" <t...@kednos.company> wrote:[color=blue]
> On Sat, 05 Apr 2008 20:59:43 -0700, <matts...@gmail.com> wrote:[color=green]
> > I've made a nice little collection of alpha programming related links
> > on my site:[url]http://mattst88.com/?page=links#alpha[/url]
> > Hope you find them useful.[/color]
>
> In the VMS world SDL was something useful. Why are you posting this here?
>
> --
> PL/I for OpenVMSwww.kednos.com[/color]
I'm not sure I understand what you're saying.
I posted a collections of relevant links I've gathered about
programming for alpha. What did I do wrong?
Re: System Programming Resources for Alpha Architecture
<mattst88@gmail.com> wrote in message
news:19ec7227-cbf1-40ef-91b6-bb6e4bfe18d4@8g2000hse.googlegroups.com...[color=blue]
> On Apr 6, 12:54 am, "Tom Linden" <t...@kednos.company> wrote:[color=green]
> > On Sat, 05 Apr 2008 20:59:43 -0700, <matts...@gmail.com> wrote:[color=darkred]
> > > I've made a nice little collection of alpha programming related links
> > > on my site:[url]http://mattst88.com/?page=links#alpha[/url]
> > > Hope you find them useful.[/color]
> >
> > In the VMS world SDL was something useful. Why are you posting this[/color][/color]
here?[color=blue][color=green]
> >
> > --
> > PL/I for OpenVMSwww.kednos.com[/color]
>
> I'm not sure I understand what you're saying.
>
> I posted a collections of relevant links I've gathered about
> programming for alpha. What did I do wrong?[/color]
I've wondered that too. Both of us have tried to help someone whose question
was Alpha related although it wasn't specifically VMS related. Your pointers
include a selection of Alpha-related stuff from people other than
DEC/Compaq/HP, stuff which wasn't in the stuff I posted earlier, stuff which
might be helpful to someone looking for techy Alpha stuff (again, not
specifically VMS related, but...).
Tom's SDL comment may relate to the fact that "your" SDL isn't the same SDL
as VMS folks would be expecting?
While I'm here: thanks to Keith Cayemberg for the reminder that various
incarnations of the DEC ftp site are still available on the Wayback Machine.
It can be (very) slow sometimes, but the data does appear to still be there
if you actually get a response.
My 2c
John
Re: System Programming Resources for Alpha Architecture
<mattst88@gmail.com> wrote in message
news:19ec7227-cbf1-40ef-91b6-bb6e4bfe18d4@8g2000hse.googlegroups.com...[color=blue]
> On Apr 6, 12:54 am, "Tom Linden" <t...@kednos.company> wrote:[color=green]
> > On Sat, 05 Apr 2008 20:59:43 -0700, <matts...@gmail.com> wrote:[color=darkred]
> > > I've made a nice little collection of alpha programming related links
> > > on my site:[url]http://mattst88.com/?page=links#alpha[/url]
> > > Hope you find them useful.[/color]
> >
> > In the VMS world SDL was something useful. Why are you posting this[/color][/color]
here?[color=blue][color=green]
> >
> > --
> > PL/I for OpenVMSwww.kednos.com[/color]
>
> I'm not sure I understand what you're saying.
>
> I posted a collections of relevant links I've gathered about
> programming for alpha. What did I do wrong?[/color]
I've wondered that too. Both of us have tried to help someone whose question
was Alpha related although it wasn't specifically VMS related. Your pointers
include a selection of Alpha-related stuff from people other than
DEC/Compaq/HP, stuff which wasn't in the stuff I posted earlier, stuff which
might be helpful to someone looking for techy Alpha stuff (again, not
specifically VMS related, but...).
Tom's SDL comment may relate to the fact that "your" SDL isn't the same SDL
as VMS folks would be expecting?
While I'm here: thanks to Keith Cayemberg for the reminder that various
incarnations of the DEC ftp site are still available on the Wayback Machine.
It can be (very) slow sometimes, but the data does appear to still be there
if you actually get a response.
My 2c
John
Re: System Programming Resources for Alpha Architecture
On Sun, 06 Apr 2008 13:32:58 -0700, <mattst88@gmail.com> wrote:
[color=blue]
> On Apr 6, 12:54 am, "Tom Linden" <t...@kednos.company> wrote:[color=green]
>> On Sat, 05 Apr 2008 20:59:43 -0700, <matts...@gmail.com> wrote:[color=darkred]
>> > I've made a nice little collection of alpha programming related links
>> > on my site:[url]http://mattst88.com/?page=links#alpha[/url]
>> > Hope you find them useful.[/color]
>>
>> In the VMS world SDL was something useful. Why are you posting this
>> here?
>>
>> --
>> PL/I for OpenVMSwww.kednos.com[/color]
>
> I'm not sure I understand what you're saying.
>
> I posted a collections of relevant links I've gathered about
> programming for alpha. What did I do wrong?[/color]
Maybe I missed something, but I didn't see anything relevant to VMS
and as John mentioned SDL is the language neutral declaration language
on VMS.
--
PL/I for OpenVMS
[url]www.kednos.com[/url]
Re: System Programming Resources for Alpha Architecture
Hello Tom,
What you "missed" was that the OP's message was cross-posted to comp.sys.dec
and in that newsgroup the focus is more on the hardware than the software.
The original request was for any information relevant to programming on
Alpha and not necessarily VMS-related.
Regards,
Jeremy Begg
Tom Linden wrote:[color=blue]
> On Sun, 06 Apr 2008 13:32:58 -0700, <mattst88@gmail.com> wrote:
>[color=green]
>> On Apr 6, 12:54 am, "Tom Linden" <t...@kednos.company> wrote:
>>[color=darkred]
>>> On Sat, 05 Apr 2008 20:59:43 -0700, <matts...@gmail.com> wrote:
>>> > I've made a nice little collection of alpha programming related links
>>> > on my site:[url]http://mattst88.com/?page=links#alpha[/url]
>>> > Hope you find them useful.
>>>
>>> In the VMS world SDL was something useful. Why are you posting this
>>> here?
>>>
>>> --
>>> PL/I for OpenVMSwww.kednos.com[/color]
>>
>>
>> I'm not sure I understand what you're saying.
>>
>> I posted a collections of relevant links I've gathered about
>> programming for alpha. What did I do wrong?[/color]
>
> Maybe I missed something, but I didn't see anything relevant to VMS
> and as John mentioned SDL is the language neutral declaration language
> on VMS.[/color]
Re: System Programming Resources for Alpha Architecture
On Mon, 07 Apr 2008 20:27:35 -0700, Jeremy Begg <nospam@vsm.com.au> wrote:
[color=blue]
> Hello Tom,
> What you "missed" was that the OP's message was cross-posted to
> comp.sys.dec and in that newsgroup the focus is more on the hardware
> than the software. The original request was for any information relevant
> to programming on Alpha and not necessarily VMS-related.
> Regards,
> Jeremy Begg
>[/color]
Hi Jeremy,
Fair enough, however, unless you are doing absolute address programming it
doesn't
make too much sense since the techniques and tools on VMS are very
different from
that on Tru64 or Linux. At the assembler level you could share techniques
I suppose,
but then why would anyone want to use an assembly language.
--
PL/I for OpenVMS
[url]www.kednos.com[/url]
Re: System Programming Resources for Alpha Architecture
On Mon, 7 Apr 2008, Tom Linden wrote:
[color=blue]
> Fair enough, however, unless you are doing absolute address programming it
> doesn't
> make too much sense since the techniques and tools on VMS are very different
> from
> that on Tru64 or Linux. At the assembler level you could share techniques I
> suppose,
> but then why would anyone want to use an assembly language.[/color]
Because they are working on the operating system itself for example -- as
it was mentioned in this thread a couple of times? Not everything can be
done in a high-level language, no matter how moderately it was.
Maciej