Apollo 11 vs. USB-C Chargers (2020)
The THUMB2 instruction set used by the Cortex-M0 microcontroller is known for its compactness. Compared to the Apollo 11 Guidance Computer, which only had a single accumulator, the Cortex-M0 offers 12 general purpose registers capable of holding arithmetic results. However, the Apollo 11 Guidance Computer has the advantage of being able to perform arithmetic operations and directly store the results in memory, while the Cortex-M0 requires a separate instruction to store the result.
Another distinction lies in the memory architecture. The Cortex-M0 utilizes a simpler memory structure that does not require bank switching, whereas the Apollo 11 Guidance Computer can encode more memory addresses directly into arithmetic instructions due to bank switching.
While it's not a straightforward comparison, taking into account that the CYPD4225 microcontroller can hold 1.19x to 1.78x more instructions than the Apollo 11 Guidance Computer, it can be argued that the CYPD4225 should be capable of accommodating an equivalent program.
2nd City Zoning
2nd City Zoning is an interactive map that aims to make Chicago's zoning code more easily understandable. Taking inspiration from the popular game SimCity 2000, the map uses a color scheme to represent different zones: green for residential, blue for commercial, and yellow for industrial. From there, the creators of the map went all out, adding graphics, sounds, and music to enhance the experience. The map allows users to find out how a specific building is zoned, discover where to locate their business, and explore zoning patterns throughout the city. With the intention of making the complex world of zoning more accessible, 2nd City Zoning provides an engaging and enjoyable way to navigate Chicago's zoning code. So, if you're interested, dive in and start exploring!
Donald Knuth’s 2023 Christmas Lecture: Making the Cells Dance
Donald Knuth, the esteemed computer science professor at Stanford University, recently gave his annual "Christmas lecture," a tradition he has upheld for 30 years. Knuth, who is approaching his 86th birthday, discussed the concept of "dancing cells," an improvement on the popular "dancing links" algorithm that he talked about in a previous lecture. The dancing links algorithm involves navigating linked lists, while dancing cells is a method for efficient data handling, specifically for deletion operations in a list of numbers. Knuth demonstrated how to delete a value by swapping it with the number in the last position of the list and shortening the list by one. The deleted values form a cluster that are conveniently ordered based on when they were deleted. Knuth also explained how dancing cells algorithms can be used to solve constraint satisfaction problems and map coloring problems. These algorithms are often faster and more efficient than the older dancing links algorithm. Knuth's lecture shed light on the ongoing surprises and advancements in computer science, proving that there is always more to learn and explore.
Nintendo Switch's iGPU: Maxwell Nerfed Edition
The article discusses the graphics performance of Nvidia's Tegra X1 chip, as implemented in the Nintendo Switch handheld console. The Tegra X1 chip is based on Nvidia's Maxwell architecture, which is known for its excellent performance and power efficiency in discrete GPUs. However, the Tegra X1 had to be adapted to fit into the Switch's low power requirements, resulting in some performance compromises.
The Tegra X1's SMs (Streaming Multiprocessors) feature a four-scheduler partition and a 32-wide vector execution per cycle. The chip's shared memory and L1 cache size are both reduced compared to the desktop variant of Maxwell. The iGPU clock of the Switch's Tegra X1 is lower compared to desktop GPUs, resulting in higher latency throughout its memory hierarchy.
In benchmark tests, the Switch's Tegra X1 performs comparably to Intel's HD 530 integrated graphics for most basic operations, but falls behind in terms of memory bandwidth and compute performance. Nonetheless, the Switch's graphics performance is considered impressive, especially considering the low power envelope it operates within. The article suggests that this highlights the potential for developers to optimize game performance for integrated graphics chips like Intel's HD 530, making PC gaming more accessible to a wider audience.
Game Boy / Color Architecture
The Game Boy, a portable version of the NES, was a hugely popular console that went through several revisions before eventually evolving into the Game Boy Color. The console features a single-chip design called the System On Chip (SoC), specifically crafted by Sharp Corporation for Nintendo. The main processor within this chip is a mix between the Z80 and the Intel 8080, running at a speed of approximately 4.19 MHz. The Game Boy Color, released nearly a decade later, featured a new SoC named CPU CGB with a doubled clock speed. The SM83 CPU core remained the same in both versions, allowing for backwards compatibility and cost savings for developers. The Game Boy's PPU (Picture Processing Unit) rendered graphics on its integrated LCD screen, using tiles stored in VRAM to construct the images. Both the Background and Window layers were used to build the frame, while sprites could independently move around the screen. The PPU also provided interrupts for developers to modify the graphics during the rendering process. Overall, the Game Boy and Game Boy Color offered unique and innovative gaming experiences, despite their limitations in terms of processing power and color capabilities.