<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Performance on Ampsand</title>
		<link>https://dean.sellers.id.au/tags/performance/</link>
		<description>Recent content in Performance on Ampsand</description>
		<generator>Hugo</generator>
		<language>en-AU</language>
		
		
		
			<copyright>Dean Sellers</copyright>
		
		
			<lastBuildDate>Thu, 29 Oct 2026 12:04:08 +1100</lastBuildDate>
		
			<atom:link href="https://dean.sellers.id.au/tags/performance/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>RISC-V soft core 10: What does a multiply cost?</title>
				<link>https://dean.sellers.id.au/2026/10/19/riscv-10-what-does-a-multiply-cost/</link>
				<pubDate>Mon, 19 Oct 2026 00:40:00 +1100</pubDate>
				<guid>https://dean.sellers.id.au/2026/10/19/riscv-10-what-does-a-multiply-cost/</guid>
				<description>&lt;p class=&#34;post-subtitle&#34;&gt;What does a multiply cost?&lt;/p&gt;&lt;p&gt;&lt;em&gt;Part 10 of the RISC-V soft core series. Previously: &lt;a href=&#34;https://dean.sellers.id.au/2026/10/19/riscv-09-first-c/&#34;&gt;First C on the core&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The first C program had a line in it that looks harmless: &lt;code&gt;a * b&lt;/code&gt;. On a modern laptop that is one instruction and a few clock cycles. On this core there is no instruction for it. The core is RV32E with &lt;strong&gt;no M extension&lt;/strong&gt;, so no &lt;code&gt;mul&lt;/code&gt;, no &lt;code&gt;div&lt;/code&gt; and no &lt;code&gt;rem&lt;/code&gt;. The compiler turns each &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;/&lt;/code&gt; and &lt;code&gt;%&lt;/code&gt; into a call to a library routine, a loop of shifts and adds that runs as ordinary code.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Simulator 1: Why the IDE simulates at 284 Hz</title>
				<link>https://dean.sellers.id.au/2026/10/18/sim-01-284-hz/</link>
				<pubDate>Sun, 18 Oct 2026 20:00:00 +1100</pubDate>
				<guid>https://dean.sellers.id.au/2026/10/18/sim-01-284-hz/</guid>
				<description>&lt;p class=&#34;post-subtitle&#34;&gt;284 clocks a second, and the wrong place to look&lt;/p&gt;&lt;p&gt;&lt;em&gt;Part 1 of the simulator thread. Previously: &lt;a href=&#34;https://dean.sellers.id.au/2026/10/18/sim-00-the-simulator-i-use/&#34;&gt;The simulator I use&lt;/a&gt;. The other thread is the &lt;a href=&#34;https://dean.sellers.id.au/tags/riscv-cpu/&#34;&gt;RISC-V soft core&lt;/a&gt; series.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;The IDE&amp;rsquo;s board view has a little readout in the corner. It said &lt;strong&gt;Running at 284 Hz&lt;/strong&gt;, in red, because it wanted 1 kHz and could not get there. The board&amp;rsquo;s clock was 100 MHz, so the simulator was running the design more than three hundred thousand times slower than the real thing, and the Larson scanner crawled across the LEDs.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
