Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!feeder.erje.net!dedekind.zen.co.uk!zen.net.uk!hamilton.zen.co.uk!reader02.news.zen.co.uk.POSTED!not-for-mail From: Nobody Subject: Re: Python CPU Date: Sun, 03 Apr 2011 22:37:16 +0100 User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.python References: <01bd055b-631d-45f0-90a7-229da4a9a362@t19g2000prd.googlegroups.com> <8vps7tF9vuU1@mid.individual.net> <4d98ab35$0$10594$742ec2ed@news.sonic.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lines: 15 Organization: Zen Internet NNTP-Posting-Host: 16ada1ac.news.zen.co.uk X-Trace: DXC=SUKBJ02f0[9nN^nfM@]mn0YjZGX^207P;`:oIe=T3W02FJHPa[N7390GQOicNN?J03kML7B7EO:h: X-Complaints-To: abuse@zen.co.uk Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:2535 On Sun, 03 Apr 2011 10:15:34 -0700, John Nagle wrote: > Note that if you run out of return point stack, or parameter > stack, you're stuck. So there's a hardware limit on call depth. > National Semiconductor once built a CPU with a separate return > point stack with a depth of 20. Big mistake. The 8-bit PIC microcontrollers have a separate return stack. The PIC10 has a 2-level stack, the PIC16 has 8 levels, and the PIC18 has 31 levels. But these chips range from 16 bytes of RAM and 256 words of flash for a PIC10, through 64-256 bytes of RAM and 1-4K words of flash for a PIC16, up to 2KiB of RAM and 16K words of flash for a PIC18, so you usually run out of something else long before the maximum stack depth becomes an issue.