SShortSingh.
Back to feed

Revisiting Digital's Alpha 21264: The 1998 RISC Chip That Challenged Intel

0
·1 views

The Alpha 21264 was a high-performance RISC processor developed by Digital Equipment Corporation and released in 1998. It was widely regarded as one of the most technically advanced CPUs of its era, competing directly against Intel's dominant x86 architecture. The chip gained attention for its exceptional speed and architectural innovations at a time when RISC processors were vying for mainstream adoption. A 1998 article from BYTE magazine, recently resurfaces on Hacker News, revisits the technical merits and historical significance of the Alpha 21264. The discussion highlights how the processor represented a peak moment for RISC computing before x86 architectures came to dominate the industry.

Read the full story at Hacker News

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Codename One Adds On-Device AI and MCP Debugging Tool Across Mobile and Desktop

Open-source cross-platform framework Codename One has merged on-device AI capabilities and Model Context Protocol (MCP) support via a loopback socket in its latest release. The AI surface is organized into three packages covering vision tasks like OCR and face detection, language operations such as translation and identification, and reusable inference sessions for custom TensorFlow Lite models. Android leverages ML Kit while Apple platforms use Vision, Core Image, and Natural Language frameworks, with CPU fallback available where hardware acceleration is absent. All processing runs locally on the device, meaning no images, text, or tensors are sent to Codename One's servers, offering a narrower data exposure path for sensitive content. The MCP channel, designed primarily as a debugging tool, listens only on a loopback socket, limiting its exposure as a potential external control interface.

0
ProgrammingDEV Community ·

Solo developer shares hard-won lessons building a production-grade AI agent

A self-taught developer with a civil engineering background built a personal AI assistant over time, expanding it into a complex system with memory layers, routing logic, caching, and quality monitoring. Through hands-on experimentation, they discovered that most failures stemmed not from the AI model itself but from the surrounding infrastructure handling sessions, context, and tool calls. They found that prompt cache hit rates depend heavily on request structure stability rather than model capability, achieving around 66–80% cache hits only after standardising prefixes. Routing requests to cheaper models also proved unreliable in multi-turn conversations, where full context and memory are needed to interpret follow-up messages correctly. The developer concludes that real-world agent performance is shaped by workload design and system architecture, not by benchmark results.

0
ProgrammingDEV Community ·

Redis-py Bug Caused False Max Capacity Errors in Async Cluster Connections

A bug in redis-py, the Python client for Redis, caused spurious MaxConnectionsError exceptions in asynchronous cluster setups despite connection capacity being available. The issue arose when a closed connection marked for reconnect was deferred to a background task, leaving a brief window where the pool appeared full to concurrent requests. During this single event-loop gap, any new acquire attempt would incorrectly find the free queue empty and the connection count at its limit. The fix, proposed in PR #4256 addressing issue #4247, ensures that already-closed connections skip the background disconnect task and immediately return their slot to the free pool. A deterministic regression test using asyncio.Event objects was also added to reproduce the exact race condition and verify the corrected behavior.

0
ProgrammingDEV Community ·

How Go Evolved from Cooperative to Signal-Based Goroutine Scheduling

Go's concurrency model relied on cooperative preemption at function prologues until version 1.10, allowing goroutine switches only at compiler-inserted safe points to support precise garbage collection. This approach caused serious issues, including cases where a goroutine spinning on an atomic load could starve other goroutines and halt the program entirely. Attempts to fix this by adding preemption checks at loop back-edges proved costly, with the most efficient method still slowing benchmarks by a geomean of 7.8% while introducing debugger conflicts. Starting with Go 1.14, the language switched to signal-based non-cooperative preemption, using the POSIX signal SIGURG to interrupt running goroutines and capture their CPU state without requiring their cooperation. SIGURG was chosen because it is debugger-friendly, not used by libc in mixed Go/C binaries, and largely irrelevant in modern applications due to the near-obsolescence of out-of-band socket data.

Revisiting Digital's Alpha 21264: The 1998 RISC Chip That Challenged Intel · ShortSingh