From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28676 invoked by alias); 14 Jan 2008 09:58:59 -0000 Received: (qmail 28668 invoked by uid 22791); 14 Jan 2008 09:58:58 -0000 X-Spam-Check-By: sourceware.org Received: from an-out-0708.google.com (HELO an-out-0708.google.com) (209.85.132.245) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 14 Jan 2008 09:58:18 +0000 Received: by an-out-0708.google.com with SMTP id c3so448208ana.104 for ; Mon, 14 Jan 2008 01:58:16 -0800 (PST) Received: by 10.100.252.16 with SMTP id z16mr13681260anh.89.1200304696358; Mon, 14 Jan 2008 01:58:16 -0800 (PST) Received: by 10.100.42.19 with HTTP; Mon, 14 Jan 2008 01:58:16 -0800 (PST) Message-ID: Date: Mon, 14 Jan 2008 10:09:00 -0000 From: "=?ISO-8859-1?Q?=D8yvind_Harboe?=" To: gcc@gcc.gnu.org Subject: Stack based / zero operand CPU - ZPU MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Google-Sender-Auth: a22b55fce3ba96e4 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2008-01/txt/msg00198.txt.bz2 Hi all, I've implemented a stack based or zero operand CPU, including GCC/gdb toolc= hain, eCos operating system support, simulator, HDL implementation, etc. I'm boldly assuming that a fair number of people on this list might find this a little bit fascinating. It's all open source of course: http://www.opencores.org/projects.cgi/web/zpu/overview - the ZPU has 11 instructions, the rest is implemented using microcode(yiel= ds small CPU + small code size). - the only registers are SP and PC - 16 or 32 bit datapath - GCC is very much oriented towards all sorts of register based CPU's. I se= ttled on exposing stack slots as CPU registers + some other tricks. GCC generates very decent code(80% of codesize to ARM thumb). - Cygwin binaries + GCC source code available(of course) - ++ --=20 =D8yvind Harboe http://www.zylin.com - eCos ARM & FPGA developer kit