⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 gdb-6.0 linux 下的调试工具
💻
字号:
		PSIM 1.0.1 - Model of the PowerPC Environments    Copyright (C) 1994-1996, Andrew Cagney <cagney@highland.com.au>.    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.     You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.     ----------------------------------------------------------------------PSIM is a program written in extended ANSI-C that implements aninstruction level simulation of the PowerPC environment.  It is freelyavailable in source code form under the terms of the GNU GeneralPublic License (version 2 or later).The PowerPC Architecture is described as having three levels ofcompliance:	UEA - User Environment Architecture	VEA - Virtual Environment Architecture	OEA - Operating Environment ArchitecturePSIM both implements all three levels of the PowerPC and includes (foreach level) a corresponding simulated run-time environment.In addition, PSIM, to the execution unit level, models the performanceof most of the current PowerPC implementations (contributed by MichaelMeissner).  This detailed performance monitoring (unlike many othersimulators) resulting in only a relatively marginal reduction in thesimulators performance.A description of how to build PSIM is contained in the file:		ftp://ftp.ci.com.au/pub/psim/INSTALL	or	ftp://cambridge.cygnus.com/pub/psim/INSTALLwhile an overview of how to use PSIM is in:	ftp://ftp.ci.com.au/pub/psim/RUNor	ftp://cambridge.cygnus.com/pub/psim/RUNThis file is found in:	ftp://ftp.ci.com.au/pub/psim/READMEor	ftp://cambridge.cygnus.com/pub/psim/READMEThanks goes firstly to:	Corinthian Engineering Pty Ltd	Cygnus Support	Highland Logic Pty Ltdwho provided the resources needed for making this software availableon the Internet.More importantly I'd like to thank the following individuals who eachcontributed in their own unique way:	Allen Briggs, Bett Koch, David Edelsohn, Gordon Irlam,	Michael Meissner, Bob Mercier, Richard Perini, Dale Rahn,	Richard Stallman, Mitchele Walker				Andrew Cagney				Feb, 1995    ----------------------------------------------------------------------    What features does PSIM include?	Monitoring and modeling		PSIM includes (thanks to Michael Meissner)		a detailed model of most of the PowerPC		implementations to the functional unit level.	SMP				The PowerPC ISA defines SMP synchronizing instructions.		This simulator implements a limited, but functional,		subset of the PowerPC synchronization instructions		behaviour.  Programs that restrict their synchronization		primitives to those that work with this functional		sub-set (eg P() and V()) are able to run on the SMP		version of PSIM.		People intending to use this system should study		the code implementing the lwarx instruction.			ENDIAN SUPPORT		PSIM implements the PowerPC's big and little (xor		endian) modes and correctly simulates code that		switches between these two modes.		In addition, psim can model a true little-endian		machine.	ISA (Instruction Set Architecture) models		PSIM includes a model of the UEA, VEA and OEA.  This		includes the time base registers (VEA) and HTAB		and BATS (OEA).		In addition, a preliminary model of the 64 bit		PowerPC architecture is implemented.	IO Hardware		PSIM's internals are based around the concept		of a Device Tree.  This tree intentionally		resembles that of the Device Tree found in		OpenBoot firmware.  PSIM is flexible enough		to allow the user to fully configure this device		tree (and consequently the hardware model) at		run time.	Run-time environments:		PSIM's UEA model includes emulation for BSD		based UNIX system calls.		PSIM's OEA model includes emulation of either:			o	OpenBoot client interface			o	MOTO's BUG interface.	Floating point		Preliminary support for floating point is included.    Who would be interested in PSIM?	o	the curious		Using psim, gdb, gcc and binutils the curious		user can construct an environment that allows		them to play with PowerPC Environment without		the need for real hardware.	o	the analyst		PSIM includes many (contributed) monitoring		features which (unlike many other simulators)		do not come with a great penalty in performance.		Thus the performance analyst is able to use		this simulator to analyse the performance of		the system under test.		If PSIM doesn't monitor a components of interest,		the source code is freely available, and hence		there is no hinderance to changing things		to meet a specific analysts needs.	o	the serious SW developer		PSIM models all three levels of the PowerPC		Architecture: UEA, VEA and OEA.  Further,		the internal design is such that PSIM can		be extended to support additional requirements.    What performance analysis measurements can PSIM perform?	Below is the output from a recent analysis run	(contributed by Michael Meissner):	For the following program:	long	simple_rand ()	{	  static unsigned long seed = 47114711;	  unsigned long this = seed * 1103515245 + 12345;	  seed = this;	/* cut-cut-cut - see the file RUN.psim */	}	Here is the current output generated with the -I switch on a P90	(the compiler used is the development version of GCC with a new	scheduler replacing the old one):		CPU #1 executed     41,994 AND instructions.	CPU #1 executed    519,785 AND Immediate instructions.	.	.	.	CPU #1 executed          1 System Call instruction.	CPU #1 executed    207,746 XOR instructions.		CPU #1 executed 23,740,856 cycles.	CPU #1 executed 10,242,780 stalls waiting for data.	CPU #1 executed          1 stall waiting for a function unit.	.	.	.	CPU #1 executed  3,136,229 branch functional unit instructions.	CPU #1 executed 16,949,396 instructions that were accounted for in timing info.	CPU #1 executed    871,920 data reads.	CPU #1 executed    971,926 data writes.	CPU #1 executed        221 icache misses.	CPU #1 executed 16,949,396 instructions in total.		Simulator speed was 250,731 instructions/second    What motivated PSIM?	As an idea, psim was first discussed seriously during mid	1994.  At that time its main objectives were:		o	good performance			Many simulators loose out by only providing			a binary interface to the internals.  This			interface eventually becomes a bottle neck			in the simulators performance.			It was intended that PSIM would avoid this			problem by giving the user access to the			full source code.			Further, by exploiting the power of modern			compilers it was hoped that PSIM would achieve			good performance with out having to compromise			its internal design.		o	practical portability			Rather than try to be portable to every			C compiler on every platform, it was decided			that PSIM would restrict its self to supporting			ANSI compilers that included the extension			of a long long type.			GCC is one such compiler, consequently PSIM			should be portable to any machine running GCC.		o	flexibility in its design			PSIM should allow the user to select the			features required and customise the build			accordingly.  By having the source code,			the compiler is able to eliminate any un			used features of the simulator.			After all, let the compiler do the work.		o	SMP			A model that allowed the simulation of			SMP platforms with out the large overhead			often encountered with such models.	PSIM achieves each of these objectives.    Is PSIM PowerPC Platform (PPCP) (nee CHRP) Compliant?	No.	Among other things it does not have an Apple ROM socket.    Could PSIM be extended so that it models a CHRP machine?	Yes.	PSIM has been designed with the CHRP spec in mind. To model	a CHRP desktop the following would need to be added:		o	An apple ROM socket :-)		o	Model of each of the desktop IO devices		o	An OpenPIC device.		o	RTAS (Run Time Abstraction Services).		o	A fully populated device tree.    Is the source code available?	Yes.	The source code to PSIM is available under the terms of	the GNU Public Licence.  This allows you to distribute	the source code for free but with certain conditions.	See the file:		ftp://archie.au/gnu/COPYING	For details of the terms and conditions.    Where do I send bugs or report problems?	There is a mailing list (subscribe through majordomo@ci.com.au) at:	powerpc-psim@ci.com.au	If I get the ftp archive updated I post a note to that mailing list.	In addition your welcome to send bugs or problems either to me or to	that e-mail list.	This list currently averages zero articles a day.     Does PSIM have any limitations or problems?	PSIM can't run rs6000/AIX binaries - At present PSIM can only	simulate static executables.  Since an AIX executable is	never static, PSIM is unable to simulate its execution.	PSIM is still under development - consequently there are going	to be bugs.	See the file BUGS (included in the distribution) for any	other outstanding issues.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -