MIPS is coming to Russia and Ukraine
Russia is a large country with a long history of momentous, scientific accomplishments. Russia launched the first man into space and has produced numerous Nobel Prize winners. In the coming years, Russia is working to direct its population of scientifically-minded citizens into creating innovative chip designs and other functional high-tech products. Money is not the problem. The Russian government and gas and oil companies are pouring billions of dollars into technology projects. Where Russia needs to focus its efforts is on educating a larger pool of young engineers to become proficient with modern EDA tools, IP blocks and design methodologies.
During the last month I visited several major universities in Russia and Ukraine and met with students and professors interested in cooperating with MIPS to teach their students computer architecture, system-on-chip (SoC) design, digital signal processing, microcontrollers, embedded system development, parallel programming, Android, RTOSes and more.
The trip started in Moscow – the capital of Russia. My first two presentations took place in the Moscow Institute of Physics and Technology – one of the top science and engineering schools in Russia, also known as “Phystech.” Famous people who studied in this school include two winners of the 2010 Nobel Prize in Physics – Andre Geim and Konstantin Novoselov, who received the prize for their discovery of graphene, an alternative to silicon. IBM already uses graphene to build experimental graphene-based integrated circuits.
The first presentation was organized by Phystech’s Department of Applied Mathematics and Control and a commercial company Parallels, Inc that closely cooperates with Phystech. Parallels is one of the few companies with Russian roots that achieved solid international recognition because of its virtualization products. I am discussing with Parallels’ Chief Scientist Alexander Tormasov (who is also a Professor of Computer Science at Phystech) the potential of working together on future virtualization projects.
The second presentation was organized by Phystech’s Department of Innovation and High Technology. This department is trying to develop students who understand both the technology and business side of the industry. Professor Yuri Ammosov, a Princeton alumni, explained that he is interested in using MIPS-based Microchip PIC32 microcontrollers to allow his students to quickly prototype robots, internet-enabled home appliances and other creative and innovative devices.
Yuri Panchul with a group of the students of Phystech’s Department of Innovation and High Technology. These students demonstrated a MIPS-based device with the software they created that allows using the device as both mobile phone and a plug-in Linux desktop.
While in Moscow I also met with students and teachers at the National Research Nuclear University (formerly named the Moscow Engineering Physics Institute, or MEPhI), a top-tier technical university that also produced three Nobel Prize winners. The meeting with MEPhI was arranged on short notice, so I did not deliver a lecture inside. Instead, we went to a traditional Russian tea room near the university. MEPhI is probably the most MIPS aligned university in Russia – they have taught the MIPS architecture for many years, and even have their own MIPS-based textbooks written in Russian.
Yuri Panchul with two teachers of the Moscow Engineering Physics Institute (MEPhI)
After Moscow, I traveled to Saint Petersburg, which served as the capital of Russia from 1713 until 1917, and is filled with imperial architecture and opulent museums. Here I made a presentation at the Saint Petersburg State University of Information Technologies, Mechanics and Optics (ITMO), which has a sizeable group of students who are proficient with SoC technologies. Dr. Pavel Kustarev, who helped to organize the presentation, expressed interest in cooperating with MIPS in advanced areas of SoC design.
Next stop was the resort town of Zelenogorsk, a suburb of Saint Petersburg, located on the shores of the Gulf of Finland. I visited Zelenogorsk because this year it hosted the annual training seminar Microchip Masters, organized by MIPS licensee Microchip Technology and Gamma Saint Petersburg, a partner of Microchip in Russia, Ukraine, Belarus and the Baltic republics of Lithuania, Latvia and Estonia.
Microchip is a licensee of The MIPS32 M4K™ and M14K™ cores, and is also a strategic partner with MIPS in the microcontroller market. Several hundred seasoned engineers attended the Microchip Masters seminar, representing various industrial companies that purchase microcontrollers from Gamma for applications such as power grid control and measuring equipment. I delivered two presentations at this event, and discussed various topics with the developers, Microchip and Gamma representatives.
After a weekend in Saint Petersburg, I went to Kiev, the capital of Ukraine. Ukraine is a sizable Eastern European country with 45 million people, numerous industrial centers and a long history of investing in engineering. Many Ukrainian engineers have expertise in the microcontroller market, and some are knowledgeable about MIPS-based networking devices. Ukraine is similar in its scientific strengths to Russia, but possesses fewer financial resources; therefore it may take some time before Ukrainian companies become significant licensees of semiconductor IP cores for their own SoC designs.
My first stop in Kiev was Taras Shevchenko National University of Kyiv – one of the most recognized Ukrainian universities. Its activist teacher, Dr. Alexander Barabanov, arranged two meetings – a lecture for the students and a meeting with the teachers of the Department of Radio Physics, where Electrical Engineering courses are taught. Dr. Barabanov is particularly interested in teaching students digital signal processing (DSP), either using specialized DSP cores, FPGA solutions, or potentially MIPS’ DSP extensions.
The second stop was the National Technical University of Ukraine’s “Kyiv Polytechnic Institute (KPI),” which supplied young engineers to the Soviet Union’s MESM project in the late 1940s. MESM was the first universally programmable electronic-only computer in continental Europe. KPI was also the alma mater of Igor Sikorsky – a Russian American pioneer of helicopters. At KPI, I delivered a presentation at the invitation of Dr. Yaroslav Kornachevskyy, who works for KPI’s Department of System Design. One interesting note is that KPI’s Department of System Design utilizes EDA tools from Cadence Design Systems.
In addition to top Ukrainian universities, I met with students and teachers from two specialized high schools for children gifted in mathematics and physics – Kiev Natural-Scientific Lyceum No. 145 and Ukrainian Physics and Mathematics Lyceum of Kiev University. The principal of Natural-Scientific Lyceum, Dr. Mykola Levtyk, expressed interest in organizing a class for students to design gadgets using MIPS-Based Microchip PIC32 microcontrollers.
Volga region – Nizhny Novgorod and Samara
After a week in the Ukraine, I arrived in Nizhny Novgorod – a major industrial city home to many industries including automotive, shipbuilding, diesel engines, aircraft manufacture, machine tools and others, and also the home to one of Intel Corporation’s R&D facilities.
At Nizhny Novgorod State Technical University, instructor Anton Moiseev teaches an introductory class on digital design, computer architecture and RTOSes, using MIPS-based Microchip PIC32 microcontrollers. Other departments in the university (automotive, machine tools and industrial automation) have expressed interest in creating similar microcontroller courses that focus on industrial applications with sensors, motors and data acquisition. The examples of ongoing student projects include industrial robots and 3D printers.
The last city on my route was Samara, a major industrial city on the Volga River known for the production of aerospace launch vehicles, satellites and airfield equipment. Here I spoke at Samara State Airspace University (SSAU), which already works with Gamma Saint Petersburg (a Microchip partner in Russia) to create a series of instructional lab exercises using MIPS-based Microchip PIC32 Ethernet Starter Kits. During my visit, SSAU was organizing a multi-university student competition using PIC32 kits.
But what exactly can be done in these schools? While there are profound differences between the universities, there are two basic ideas that can be used practically everywhere.
MIPS architecture as a learning vehicle for the introductory courses
For first and second year students, universities can adopt a curriculum based on a relatively new textbook Digital Design and Computer Architecture By David Harris and Sarah Harris. This textbook unifies the worlds of software and hardware – a feature that was missing from most curriculums of the past. First, students learn the basics of hardware – logic design and hardware description languages – Verilog and VHDL. Second, students learn the basics of low-level software using MIPS assembly language programming. Third, they come to the unification point, and students design their own pipelined processor that implements a subset of MIPS architecture and can be tried as a real hardware using FPGA. Finally, the second edition of Harris & Harris textbook offers an additional chapter on MIPS-based Microchip PIC32 microcontroller and students can compare their student MIPS-based processor with its industrial counterpart.
The MIPS architecture is the enabling point of this teaching approach. The MIPS architecture is simple enough that students can quickly create their research subset implementations; it is convenient to demo various microarchitectural features (pipelining, stalls, forwarding); and the MIPS architecture is well-adopted in the industry, covering the largest spectrum of industrial processors possible – from tiny microcontrollers to high-end 64-bit multicore networking chips.
MIPS components to enable student’s creativity for the advanced SoC projects
When students are proficient with the basics of hardware and software development, as well as with processor architecture and microarchitecture, they can advance to the next level and begin experimenting with system design using cycle-accurate VMC models of various MIPS components – cores, L2 cache, and coherence manager for multi-core processors. Such experiments can be done using general-purpose HDL simulators from Synopsys, Cadence and Mentor Graphics. Students can create their own coprocessors and multicore systems and if they discover something interesting, the results could potentially be commercialized. There are at least two categories of projects that can be started this way. First, the students can explore how to partition some specialized algorithms into software and hardware parts for the maximum performance and flexibility. Then the hardware part can be implemented as a custom processor block using MIPS CorExtend capability or Coprocessor2 interface.
The second category includes systems with a large number of cores. Such systems are challenging to build. The currently mainstream multicore systems with snoopy protocols for cache coherency are relatively easy to use for programmers, but such systems have a natural limit of about 6-8 cores (above this the latency for the read or write transaction becomes too high). There are multicore systems for specialized applications like network processing that do not necessarily require cache coherency. There are also some research results in directory-based cache coherency. However, these areas still have a room for the new researchers and Russian and Ukrainian universities can try to use system-on-chip design as the opportunity to become an integrated part of the world’s ecosystem of electronics.